Uwaga: Przed nami spoilery niedzielnej „Doliny Krzemowej”.”
niedzielny odcinek „doliny Krzemowej” był powrotem do normalności. Richard wrócił do firmy Pied Piper, a załoga zatrudniła kilku nowych pracowników. Gdy wszystko wydawało się iść dobrze dla Richarda, była to szansa dla odcinka, aby się trochę zabawić, a to przyszło w formie w dużej mierze trywialnej debaty w świecie kodowania.
na początku odcinka Hendricks wariuje, gdy dowiaduje się, że jeden z „commitów” jego nowego pracownika — partia napisanego kodu — została wykonana za pomocą spacji nad tabulatorami.
dyskusja nad tym, czy używanie tabulatorów lub spacji dominuje nad długością odcinka. A na koniec, to nawet przynosi początkujący związek Richarda z pracownikiem Facebooka do pisku zatrzymania.
Tak mi przykro. Mam na myśli, że co, mamy zamiar sprowadzić dzieci na świat z tym wiszącym nad ich głową? To nie fair, nie sądzisz?”Hendricks wypluwa z wściekłości.
” dzieci?”pyta Kubuś, zdezorientowany. „Nawet jeszcze ze sobą nie spaliśmy.”
” i zgadnij co?- Richard ze złością odpowiada-to się teraz nigdy nie stanie. Bo nie ma mowy, żebym był z kimś, kto używa spacji nad tabulatorami.”
to klasyczna scena” Doliny Krzemowej”, siedząca tuż przy połączeniu wesołości, nerdiness i deep-cringe, gdzie serial zbudował swoją markę komediową.
ale poza końcem pierwszego prawdziwego romansu, w który wplątał się Richard, co tu się do cholery dzieje? Serial daje nie-koderom trochę kontekstu wcześniej w odcinku, informując nas, że tabs-vs. – spaces jest w dużej mierze trywialną debatą o kodowaniu, na której Richard ma neurotycznie silne opinie.
oto, o co właściwie chodzi w tym argumencie.
Kod zazwyczaj nie jest pisany w edytorach typu „CO-WIDZISZ-JEST-co-dostajesz”, takich jak Microsoft Word. Zamiast tego, często jest zapisywany jako surowy tekst, z całym formatowaniem tworzonym linia po linii.
i jak Jamie Zawinski wyjaśnił w poście na blogu zatytułowanym „Tabs versus Spaces: an Eternal Holy War” w 2000 roku, kod jest zwykle formatowany przy użyciu różnych dużych wcięć i białych spacji, jak tak:
klauzule w kodzie, które są bardziej wcięte, są ogólnie rzecz biorąc podporządkowane mniej wciętym powyżej. Tak więc formatowanie służy więcej niż cel estetyczny; jest częścią języka wizualnego koderów używać do komunikacji.
ale, historycznie, były dwa sposoby tworzenia tej białej spacji: ulubiony Richard, tabs, wymaga mniej naciśnięć klawiszy (a zatem, w większości przypadków, mniej znaków do zapamiętania przez program komputerowy), ale jest nieco nieprecyzyjny. Ulubieniec Winnie, spaces, oferuje koderom bardziej konkretny i dosłowny sposób tworzenia ich wcięć. Jest jednak wolniejszy w użyciu i zużywa więcej miejsca.
w swoim wpisie na blogu z 2009 roku „Death To The Space Infidels!”Jeff Atwood wizualnie reprezentuje różnicę:
spacje, reprezentowane przez kropki, znajdują się po lewej stronie. Karty, reprezentowane przez strzałki, znajdują się po prawej stronie.
banalna jak może się wydawać debata, toczy się gorąco w kręgach kodowania. (W chwili pisania tego artykułu jest 277 komentarzy do artykułu Atwooda.) I ma pewne znaczenie. Atwood wskazuje na badanie z 1984 roku, które pokazuje, że programiści są znacznie lepsi w czytaniu kodu napisanego w stylu, z którym są zaznajomieni.
a kiedy zespoły pracujące nad kodem się nie zgadzają, może to wywołać wojnę, jak pamiętają oba posty na blogu.
na szczęście dla programistów na świecie, nowsze oprogramowanie często radzi sobie z tymi wszystkimi problemami formatowania samodzielnie. Więc mniej zespołów kodujących lub fikcyjnych związków powinno się rozpadać z ich powodu.