Spaces vs. Tabs: Googlen Golang

nörtit ovat valinneet puolensa viimeiset 16 vuotta-pitäisikö ohjelmoijien sisentää koodinsa välilyöntejä tai välilehtiä käyttäen? Mutta nyt häpeällisen triviaali liekkisota on saanut uutta näkyvyyttä Googlen tutkimuksessa-mahdollisesti HBO: n Piilaakson tuoreessa jaksossa nähdyn dialogin innoittamana.

”Truth be told, I do have a slightly preference for tabs. Mutta se johtuu vain siitä, että olen anaalinen ja pidän enemmän tarkkuudesta.”

” no, en halua haastaa riitaa täällä, mutta jos todella välität tarkkuudesta, etkö käyttäisi välilyöntejä? Mutta kun se menee kääntäjän läpi, se on sama asia, eikö?”

” jos se on kaikki sama, miksi ei vain Käytä välilehtiä?”

”, koska se voisi näyttää erilaiselta muiden tietokoneilla.”

” välilehdet luovat pienempiä tiedostokokoja, okei…? Mikset käytä Vimiä Emacsin sijaan?”

” käytän Vimiä Emacsin sijaan.”

” Oh, god help us!”

vihdoin tänä vuonna-juuri ennen Vappuviikonloppua-Googlen kehittäjien Advocaat päätti puntaroida. ”Aiomme jäsentää miljardi tiedostoa 14 ohjelmointikielen joukossa päättääksemme, mikä niistä on päällä.”He raapustivat tiedostoja 400 000: sta ylimmästä GitHub — arkistosta ja tarkastelivat vain ylimmillä kielillä kirjoitettuja kooditiedostoja-ja heidän kaavionsa osoitti, että välilyönnit olivat ylivoimaisesti suosituin sisennysmenetelmä kaikilla kielillä. Paitsi Go ja C.

”vahvistettu, Go on tulevaisuuden kieli”, vitsaili eräs kommentoija Redditissä.

”se myös muokkaa lähdekoodiasi automaattisesti”, vastasi toinen ohjelmoija. ”Käytän välilyöntejä,ja se sylkee kielekkeitä!”

ja Twitterissä eräs Kehittäjä vitsaili esseen aiheuttaneen vain toisen kohun. ”Uusi keskustelu on nyt’ mikä helvetti on vialla Go?””

ainakin yksi kanadalainen insinööri antoi aplodit Googlen ponnisteluille kysymyksen ratkaisemiseksi.

https://t.co/wuMz1gLwXT näin ratkaistaan argumentti: data.

– Ian Fosbery (@MisterZia) September 8, 2016

lopulta Google ei kuitenkaan onnistunut tuomaan rauhaa kehittäjämaailmaan.

selvyyden vuoksi: kaikki ne, jotka käyttävät välilyöntejä sarkaimien sijaan sisennykseen, ovat peruuttamattomasti väärässä.
anna minun nähdä koodisi haluamallani tavalla.
jakso.

– Iñaki Baz Castillo (@ibc_tw) September 14, 2016

kun joku viittasi Castillon Googlen analyysiin, hän vain lisäsi: ”tiesin sen. Ja kyllä, ne kaikki ovat 100% väärässä.”

”mitä tämä hulluus on”, twiittasi pilvi-insinööri Ed Morgan.

” Madness everyone knows tabs are better!”vastasi Eräs lontoolainen NetApp-ylläpitäjä.

”tämä on ällöttävää”, twiittasi eräs freelance-verkkosuunnittelija Britanniassa

eikä se päättynyt siihen. Googlen postaus meni pian viraaliksi, sillä se keräsi 1 620 kommenttia Redditiin ja päätyi myös Gizmodoon, Slashdotiin ja Hacker Newsiin. ”Kun 20 + vuotta kuunnella välilehdet vs-spaces keskustelua ja ottaen huomioon kaikki oikeutetut kohdat, että molemmat osapuolet ovat, monet ovat tehneet seuraavan havainnon ja se on mitä resonoi minulle eniten”, kirjoitti yksi ohjelmoija Hacker News.

” ideaalisessa täydellisessä maailmassa _kaikki ohjelmoijat ja _kaikki tekstieditorityökalut käyttäisivät sarkaimia nimenomaan sisennykseen ja välilyöntejä erityisesti kohdistukseen. Mutta, emme elä että täydellisesti koordinoitu maailma niin spaces ylläpitää eniten uskollisuutta-kustannuksella ohjelmoijat eivät pysty heti muokata sisennys leveydeltä 2,4,6,8.”

ovatko nörtit todella riidelleet tästä yli 20 vuotta? Siltä näyttää. Jamie Zawinski, yksi varhaisen Netscape Navigator — selaimen koodaajista, kuvasi sitä jo vuonna 2000 ”loputtomaksi argumentiksi”. Hänen post selitti, miten määrittää kaksi Linux tekstieditorit (Emacs ja Vi) muuttaa välilehdet eri leveyksiä. (”Lähtekää siis liikkeelle ja puhdistautukaa!”)

Merrily rullasimme pitkin, ja vuonna 2004, postitse Microsoft Developer Network tarttui aivan sama ongelma, toteaa, että jotkut ihmiset yhdistävät välilyöntejä ja välilehtiä, ja väittäen, että he itse asiassa tuijotti ulos neljäs asema: koodaus työkalut pitäisi olla konfiguroitavissa näyttää kunkin käyttäjän ensisijainen näkymä, samalla tallentaa koodin mukaisesti sovittu-up joukko sääntöjä. Kaikki eivät kuitenkaan olleet yhtä avomielisiä. Vuonna 2009 Jeff Atwood, yksi Stack Overflowin perustajista, kirjoitti blogikirjoituksen nimeltä Death To The Space Infidels!. Hän lobbaa asemaansa vetoamalla rakastettuun vuoden 1984 kirjaan Code Complete.

”tutkimuksemme tukevat väitettä, että tieto ohjelmointisuunnitelmista ja ohjelmointipuheen säännöistä voi vaikuttaa merkittävästi ohjelman ymmärtämiseen… ei ole pelkästään estetiikasta kiinni, että ohjelmat pitäisi kirjoittaa tietyllä tyylillä… ohjelmoijilla on vahvoja odotuksia siitä, että muut ohjelmoijat noudattavat näitä diskurssisääntöjä. Jos sääntöjä rikotaan, niin ohjelmoijien ajan mittaan kasaamien odotusten tarjoama hyöty mitätöidään tehokkaasti.”

ja Atwood mainitsee lisää kokeita-yhden 1970 — luvun alusta-joissa todettiin, että tieto säilyy paremmin, kun se on järjestetty mielekkääseen järjestykseen. ”Joten kyllä”, Atwood toteaa, ” niin absurdilta kuin se kuulostaakin, taistelu tyhjämerkeistä ja muista näennäisen vähäpätöisistä koodin asetteluun liittyvistä asioista on itse asiassa perusteltua. Within reason of course-when done open, in a fair and consensus building way, and without Stubing your joukkuetoverit in the face along the way.”

neljä vuotta myöhemmin kysymys nousi esiin geek Nationin sydämessä-Stack Overflow – keskustelutilaisuudessa.

”välilyöntejä”, lukee yksi argumentti. ”Välilehti voi olla eri määrä sarakkeita riippuen ympäristöstä, mutta välilyönti on aina yksi sarake.”

”välilehdet”, lukee vasta-argumentti. ”Ne ovat merkki, joka on tarkoitettu erityisesti sisennykseen. Niiden avulla kehittäjät, joilla on erilaiset asetukset sisennyskoossa, voivat muuttaa sitä, miltä koodi näyttää muuttamatta koodia ”

joten siellä!

 Silicon Valley-spaces vs. tabs

, mutta tabs-osa sivusta osuu lopulta sovittelevaan sävyyn. ”Johdonmukaisuus on tietenkin tärkeämpää kuin kumpikaan, ja hyvä IDE tekee erot mitättömiksi.”Mutta miksi pilata hyvä riita? ”That said, point of this thread is to be a holy war, so…”

ja Jeff Atwood itse näyttää olevan samaa mieltä-tiettyyn pisteeseen asti. Vuonna 2009 hän kirjoitti ”Sillä ei ole väliä, minkä koodaustyylin valitset. Sillä ei ole väliä, että sinä, ja kaikki muut tiimisi, pitää kiinni näistä yleissopimuksista ja käyttää niitä johdonmukaisesti.”Mutta hän ei voinut olla lisäämättä vielä yhtä lausetta.

”sen mukaan vain idiootti käyttäisi välilehtiä koodinsa muotoiluun.”

  • Stanfordin tutkijat rakentavat tavan kirjoittaa ilman käsiä lukemalla aivosignaaleja.
  • NASA jakaa näyttäviä kuvia Marsista.
  • Amerikka nimittää ensimmäisen liittovaltion tietoturvajohtajan.
  • Amazon haluaa vallata naapurustosi ostoskeskuksen-ja kotisi!
  • Raspberry Pi juhlii 10-miljoonaista myyntiään.
  • John le Carre julkaisee vihdoin tarinan omasta vaiheikkaasta elämästään.
  • Yuval Noah Hararin ”lyhyt ihmiskunnan historia” seurasi spekulatiivista huomisen historiaa.
  • Nicholas Carr katsoo tekemäämme maailmaa ja kirjoittaa ”Utopia on karmiva.”
    Carr kysyy blogissaan, voimmeko soveltaa mediayhtiön standardeja Facebookiin?
  • muistaa Steve Jobsin ”Rohkeuspuheen” — kuten jotkut Reddit-käyttäjät pilkkaavat uuden iPhonen langattomia kuulokkeita.