waarschuwing: Er zijn spoilers voor Sunday ‘ s “Silicon Valley.”
Sunday ’s aflevering van” Silicon Valley ” was een terugkeer naar normaliteit. Richard heeft weer de leiding over zijn bedrijf Pied Piper en de bemanning heeft een paar nieuwe mensen aangenomen. Met alles wat lijkt te gaan goed voor Richard op dit moment, het was een kans voor de aflevering om een beetje plezier te hebben en dat kwam in de vorm van een grotendeels triviale debat in de codering wereld. In het begin van de aflevering wordt Hendricks gek als hij hoort dat een van de “commits” van zijn nieuwe medewerker — een partij geschreven code — gemaakt is met spaties over tabs.
de discussie over het gebruik van tabs of spaties domineert de lengte van de aflevering. En, tegen het einde, het brengt zelfs Richard ‘ s ontluikende relatie met een Facebook-werknemer tot een krijsend einde.
” ik denk niet dat dit gaat werken. Het spijt me zo. Ik bedoel, we gaan kinderen op de wereld zetten met dit boven hun hoofd? Dat is niet echt eerlijk, vind je niet?”Hendricks spuugt uit in woede.
” Kids?”vraagt Winnie, verward. “We hebben nog niet eens met elkaar geslapen.”
” en raad eens?”Richard antwoordt boos,” dat gaat nu nooit meer gebeuren. Want ik ga niet met iemand omgaan die spaties over tabs gebruikt.”
het is een klassieke” Silicon Valley ” scene, zit recht op de nexus van hilariteit, nerdiness, en deep-cringe waar de show zijn komedie merk heeft opgebouwd.
maar, naast het einde van de eerste echte romance waarin Richard betrokken raakte, wat was er hier aan de hand? De show geeft niet-programmeurs een beetje context eerder in de aflevering, laat ons weten dat de tabs-vs.-spaces is een grotendeels triviale codering debat dat Richard heeft neurotisch sterke meningen over.
hier is waar het argument eigenlijk over gaat.
Code wordt meestal niet geschreven in wat-je-ziet-is-wat-je-krijgt editors zoals Microsoft Word. Eerder, het is vaak getypt als ruwe tekst, met alle opmaak gemaakt regel-voor-regel.
en zoals Jamie Zawinski uitlegde in een blogpost getiteld “Tabs versus Spaces: An Eternal Holy War” lang geleden in 2000, wordt code meestal opgemaakt met behulp van verschillende grote Inspringingen en witruimtes, zoals zo:
de clausules in de code die meer ingesprongen zijn, zijn over het algemeen ondergeschikt aan de minder ingesprongen boven hen. De opmaak dient dus meer dan een esthetisch doel; het is onderdeel van de visuele taal die programmeurs gebruiken om te communiceren.
maar historisch gezien zijn er twee manieren om die witruimte aan te maken: Richard ‘ s favoriete tabs bevat minder toetsaanslagen (en dus in de meeste gevallen minder tekens voor het computerprogramma om te onthouden), maar is een beetje onnauwkeurig. Winnie ‘ s favoriete, spaces, biedt programmeurs een meer specifieke en letterlijke manier om hun inkepingen te maken. Echter, het is langzamer te gebruiken en verbruikt meer opslagruimte.In zijn blog ” Death to The Space Infidels!”Jeff Atwood vertegenwoordigt visueel het verschil:
spaties, weergegeven door puntjes, bevinden zich aan de linkerkant. Tabs, vertegenwoordigd door pijlen, bevinden zich aan de rechterkant.
hoe triviaal het debat ook mag lijken, het loopt warm in coderingskringen. (Vanaf Dit schrijven, zijn er 277 reacties op Atwood ‘ s Artikel.) En het is van enig belang. Atwood wijst op een studie uit 1984 die aantoont dat programmeurs veel beter zijn in het lezen van code geschreven in de stijl waarmee ze vertrouwd zijn.
en wanneer teams die aan code werken het niet eens zijn, kan het een onderlinge strijd aanwakkeren, zoals beide blogberichten zich herinneren.
gelukkig voor programmeurs over de hele wereld, behandelt nieuwere software vaak al deze opmaakproblemen alleen. Dus minder codeerteams, of fictieve relaties, zouden door hen uit elkaar moeten vallen.