Transkribering
Programmerare som gör indrag i kod med mellanslag istället för tabulator tjänar i snitt 8,6 % mer
Martin
Programmerare som gör indrag i kod med mellanslagstecken tjänar i snitt 8,6% mer än programmerare som använder tabulatortecken i samma syfte. Löneskillnaden motsvarar cirka 2,5 års extra erfarenhet enligt Stack Overflow årliga undersökning till programmerare. I kategorin korrelation behöver inte betyda kasualitet har vi en nyhet från Stack Overflow.
Vi är ju båda programmerare i grunden Martin. När jag började hacka kod på 90-talet så körde jag med inte bara ett mellanslag. Jag körde med två mellanslag. Det betyder att jag kommer bli ännu mer förmögen än snittprogrammeraren. Nej,
Johnny
det är en beklagar. Det är inte vad det här innebär. Det här är en oerhört komplicerad och också en känslig fråga. Det här är en sån sak som programmerare kan bli rejält osams över. Det är ungefär som att diskutera vilken texteditor är bäst. Är det VI eller EMAX till exempel? Det här är programmeringsvärldens motsvarighet till religiösa...
Krig, korståg, utrotningar och så vidare. Om någon av ni tror att jag överdriver, åk till en programmeringskonferens någon gång och gå in i ett socialt sammanhang och säg att Emax är skit så får ni se på förverkningar. Eller för all del, säg någonting om indentering av kod. Jag skulle till att börja med vilja säga att om man gör indentering genom att bokstavligt talat skriva mellanslag, alltså trycka en eller två gånger eller fyra gånger på mellanslagsknappen på tanenterna, då är man redan diskvalificerad.
Då ska man bara ta ut dem runt hörnet och ge dem ett nackskott, något åt det hållet. Det är inte hur man skriver indenteringen, utan hur man kodar den i textfilen. Då finns det något som kallas för soft tabs, som innebär att indenteringen består av ett antal mellanslag.
Men det hanteras i texteditorn som en tab, och du skriver den genom att trycka på tab-tangenten på tangentbordet. Det är knäppt att trycka mellanslag. Om man vill ha mellanslag, alltså om man vill ha det som kallas för soft tabs, då trycker man på mellanslagsanläggningen. Men det resulterar i att filen kodas med till exempel två mellanslag, eller fyra mellanslag, eller vad det nu ska vara.
Sen så finns det många fel i den här artikeln Johnny, så jag vet inte ens var man ska börja. Men... Nu lägger vi alla skämt åt sidan en stund här. Det här är naturligtvis en väldigt klassisk illustration av ett tankefel som ofta återkommer i mänskliga verksamheter, nämligen att man förväxlar korrelation med kausalitet.
Det finns ju ett samband, och vi kan komma till det och förklara varför det är så. Det finns ett samband som gör att det finns en korrelation mellan en viss typ av indenteringsstil och hur mycket pengar folk tjänar. Men det finns naturligtvis inget kausal samband som gör att om man skriver mellanslag i stället för tab eller vissa verser så tjänar man mer pengar.
Det har att göra med att olika programspråk använder olika konventioner. Och olika programmeringsprojekt, specifika mjukvaruutvecklingsgrupper, använder olika konventioner. Ett välbekant exempel bland programmerare är att Linus Thorvalds, som skapade operativsystemet Linux, han Han har väldigt starka uppfattningar om det här och genomdriver vissa regler kring hur man ska skriva.
Och i det fallet då så ska man ha riktiga tabbar, hardtabs, och de är jättestora. Jag tror att han förespråkar motsvarande åtta mellanslag med hardtabs. Så han vill ha jättestor indentering. Och det gör då att om man har för många nivåer av indentering, så ska kodraderna i slutändan bli så långa att de inte får plats i fönstret.
Det är signalen till programmeraren om att man har för komplex kod. Man har för många olika nivåer av loopar och sånt där som går in i varandra. Nu är det dags att förenkla koden. Det finns inget skäl att göra de här nivåer på nivåer på nivåer. Därför är det en bra riktlinje att ha jättelånga tabstopp. Men det här är Linus Thorvalds idé som han har för just utvecklingen av Linux-kärnan, som är ett program som han är välvillig livstidsdiktator för.
I andra programmeringsspråk så har man andra konventioner, andra programmeringsprojekt och så vidare. Så jag skulle tro att det bara är så att det finns vissa programmeringsverksamheter som är väldigt lönsamma. Vi kan ta ett fungerande exempel. Fortran- eller COBOL-programmering på en gammal bank. Det är bara fyra personer i världen som kan göra det här. Därför får man svindlande fantasibelopp i betalning.
Om just den miljön har en viss konvention för hur indenteringen ska göras så kanske det slår igenom i statistiken. Den här sortens indentering är associerat med betalning. Det här är bara verkets uppgift. Det beror ju deras öga lön inte på sättet att indentera utan på den stora brist som råder på programmerare med den aktuella kompetensen.
Martin
Mycket intressant. Jag har för mig att jag stöter på ett programmeringsspråk som jag vill minnas heter Python. Det är så att säga att indenteringen var inbyggd i hur koden tolkades i slutändan.
Johnny
Ja, precis. Python är ett språk som man kallar för meningsfull identering. Där det inte bara är en estetisk sak, utan det betyder faktiskt någonting. Så att sätta det och visa att du befinner dig, att det går in i en ny klausul. Inte att du skriver ett särskilt tecken. Det är ett tecken, men tecknet för att indikera det är att sätta en ny rad. och göra en indentering.
Det blir väldigt snygg och trevlig kod för att det gör att man inte behöver stänga klausurerna på slutet med att till exempel skriva end eller stänga en måsvinga eller något sånt där. Det är bara att du går tillbaka och tar bort indenteringen en rad så visar det programmet eller kompilatorn att nu är det utanför den lokala miljön som du skapade med indenteringen.
Jag tycker själv väldigt mycket om Den stilen, väldigt snyggt, man har det i Python och Haskell och ganska många andra. Snygg och prydliga språk. Själv tycker jag att det är nästan kriminellt att använda någonting annat än två mellanslag lång softtab.
Martin
Ja, men då förstår jag. Då var jag rätt ute på 90-talet bara att det tog några år till innan jag fattade vad man skulle ha tab-tagenten till.
Johnny
Du producerade i alla fall korrekt kod som inte skulle ha fått mig att slita ut håret med. Ja, men det är bra.
Martin
Så om min nuvarande verksamhet går illa så kanske jag kan söka jobb som programmerare på Bubbla.