De värsta och svåraste programmeringsspråken att undvika som pesten
Annons
Det finns massor av fantastiska programmeringsstudier där ute för att komma igång med kodning. Men innan du dyker in i dem måste du svara på en mycket svår fråga: Vilket programmeringsspråk ska jag lära mig?
Vissa språk är lättare för nybörjare att lära sig. Andra är mest användbara för framtiden. Och andra är mest troligt att hjälpa dig att landa ett programmeringsjobb.
I den här artikeln kommer vi att närma oss det från motsatt ände: Vilka programmeringsspråk ska du undvika?
1. Esoterisk som% ^ & *!
Låt oss börja med en enkel. Esoteriska programmeringsspråk (eller esolang för kort) är utformade för att driva programmering till dess enkelhetsgränser. På så sätt lyckas de göra det otroligt komplicerat.
Även om detta verkar vara en motsägelse i termer, en snabb titt på det tyvärr namngivna Brainf & * k språket:
++++++++[>++++[>++>+++>+++>+<<<+>+>->>+[<]>.>---.+++++++..+++.>>.<-.>+.>++.
Denna monstrositet är funktionell, Turing-komplett kod. Funktionen för detta program? Det trycker Hello World! till skärmen. Enkelt, eller hur?
Språket består av åtta tecken som flyttar datapekaren inom programmatrisen och ändrar eller matar ut data som finns i varje position. Allt detta lägger till ett enkelt språk som är en absolut sinne-förstörare att använda. Därför det olyckliga namnet. Förresten, Brainf £ $ k är inte det enda esoteriska språket med ett "färgrikt" namn, så var nyfiken på din egen risk!
Brainf ^ & k är ett av de bättre kända esoteriska programmeringsspråken, även om många fler kan hittas. Kanske vill du bygga ett program med Arnold Schwarzeneggers enfodrar? Kocken är särskilt anmärkningsvärd eftersom koden du skriver slutar läsa som ett recept.
Esoteriska språk är utformade mer som en rolig utmaning för programmerare än för vardagligt bruk. Som en allmän regel är dessa språk Turing Tarpits och kommer att orsaka mer frustration än något annat om de används för faktiska programmeringsuppgifter. På samma sätt som att gå över Niagara Falls i ett fat inte är nödvändigt, jag är säker på att några av er kommer att programmera på esoteriska språk oavsett!
2. PHP
Det är här saker och ting kan bli kontroversiella. PHP är ett serversidesspråk som är utformat för webbutveckling, så du kan använda det för att bygga en enkel PHP-webbplats Hur man bygger en enkel PHP-webbplats Hur man bygger en enkel PHP-webbplats Vill du bygga en webbplats men vet inte var jag ska börja ? Genom att skapa en grundläggande PHP-webbplats kommer du på väg till webbutveckling. Läs mer . Ursprungligen släpptes 1997 tog PHP snabbt över webben. Du skulle bli hårt pressad för att hitta någon stor webbenhet som inte använder PHP. PHP introducerade konceptet Dynamiska webbplatser, vilket gör det möjligt för användare att fråga databaser i realtid snarare än att ladda statiska sidor på varje interaktion.
En nyligen genomförd Stack Overflow-undersökning visar PHP som det nionde mest populära språket, och det finns fortfarande en stor efterfrågan på PHP-utvecklare. Än så länge är allt bra. Mycket använd, efterfrågad, långvarig, vad är det inte att tycka om?
Tja, beroende på vem du frågar, ganska mycket!
Inkonsekvens
PHP var inte tänkt att vara ett språk och växte bit för bit snarare än med en allmän struktur. Detta gör att lära sig PHP till en frustrerande upplevelse.
Ett exempel på detta som tillhandahålls av lämpligt namngivna phpsadness är PHPs get-funktion:
gettype() get_class()
Dessa små inkonsekvenser i namngivning av inbyggda funktioner är en del av ett mycket större problem. Små skillnader i syntax och semantik gör PHP svårt att lära sig när de kommer från ett annat språk.
I en tid med programmeringsspråkiga polyglots kanske dessa problem inte är en stor sak för dig, men det räcker för att få vissa utvecklare att springa för bergen.
En sak till innan vi flyttar bort från dessa typer av inkonsekvenser. I PHP är funktions- och klassnamn inte skiftlägeskänsliga, men variabler är det.
Vänta, va?
Ternary Operator
Oavsett om det är en produkt av PHP: s ad-hoc-struktur eller det galna infallet av en av dess skapare, är den ternära operatören i PHP förbryllande. Tänk på detta:
$a = 11; echo ( $a == 10 ? 'ten' : $a == 11 ? 'eleven' : $a == 12 ? 'twelve' : $a == 13 ? 'thirteen' : 'something else'); echo "\n"; //this code prints 'thirteen' to the console
Som du kan se i exemplet ovan gör PHP konstiga saker med ternära operatörer. På nästan alla andra språk kan du förvänta dig att den här koden ska levereras elva . PHP håller inte med.
Detta konstiga beteende kommer från PHP med hjälp av en vänster associerande ternär operatör. Detta något sinnesböjande beteende är helt ointuitivt för många programmerare, och även efter att ha läst en detaljerad förklaring av hur det fungerar är det fortfarande förbryllande.
PHP används fortfarande i stor utsträckning, och många hävdar att det har förbättrats enormt under sitt 20-åriga mandat.
Om du vill skapa dina egna WordPress-plugins är det verkligen värt att lära sig. Det finns stora resurser för att komma igång med att lära dig PHP Lär dig att bygga med PHP: En Crash Course Lär dig att bygga med PHP: En Crash Course PHP är det språk som Facebook och Wikipedia använder för att tjäna miljarder förfrågningar dagligen; de facto-språket som används för att lära människor webbprogrammering. Det är vackert enkelt, men briljant kraftfullt. Läs mer, och dess popularitet innebär att du sannolikt kommer att landa ett utvecklingsjobb när du har gjort det.
Den verkliga frågan är: med så många andra språk där ute, och ökningen av andra ramverk som node.js och Ruby on Rails, vill du verkligen?
3. JavaScript
Kan du höra det? Det är ljudet av tusen utvecklare som knäcker sina knogar, redo att försvara JavaScript's ära i kommentarsektionen!
JavaScript är internetets språk. Det är inget att dölja dess dominans. Om du använder en webbläsare kommer den sida du letar efter den nästan säkert att använda JavaScript. När du tittar på Netflix eller använder PayPal använder du servrar som kör node.js, Javascript-driftstid på serversidan. Ett snabbt skumma över vilket jobbkort som helst för programmerare visar efterfrågan på JavaScript-utvecklare.
Varför hör den till på den här listan? Tja, älsklingen i front-end har några underliga saker.
Automatisk insättning av semikolon
Om du känner till Java eller något av C-familjens programmeringsspråk, vet du att semikolon används för att beteckna avslutningen av ett uttalande. Tolkaren ser semikolon och vet att gå vidare.
I JavaScript är saker lite annorlunda. Semikoloner är valfria. Det kan tyckas omöjligt, men många vill släppa semikolon från JavaScript helt.
Även om detta är en trevlig idé, är det inte utan problem. Själv erkänd semikolonnägare och YouTuber Kyle Robinson Young gör ett bra fall för varför de bör användas av nybörjare.
De frågor som tas upp i den här videon pekar på ett större problem. JavaScript fungerar bra utan semikolon mestadels . Detta beror på att semikolonerna inte är borta alls, de sätts bara automatiskt in där tolkarna tror att de borde gå.
Även om tolkens felaktiga fel ses av "kantfall" av mer erfarna kodare, är det alla saker som nybörjare troligen kommer att stöta på och därmed göra upplevelsen av att använda JavaScript ovälkomlig.
En kort sökning i fråga om semikolon i JavaScript leder dig ner i ett kaninhål av åsikter och spekulationer med nästan inget slut. När ett språk kräver en hel sida med läsning bara för att förstå var du ska använda en semikolon, bara för att dra slutsatsen att du borde bestå ditt eget sinne, är det förgivligt att tro att något är fel!
En uppsättning av konstighet
Alla som har tagit en nybörjarkodkurs kommer att känna till matriser. De är ett enkelt sätt att samla in massor av data av samma typ och beställa dem för att enkelt få tillbaka dem senare.
Detta är ett grundläggande för programmering, så de borde vara ganska enkla att förstå rätt? Egentligen nej, inte rätt. Det första exemplet i James Mickins lustiga samtal om JavaScript sammanfattar det snyggt:
”JavaScript-arrayer är array-list-ordbok kombinerade flerstypobjekt En nybörjarguide för Python-objektorienterad programmering En nybörjarguide för Python-objektorienterad programmering För att dra full nytta av Pythons styrkor, vill du lära dig hur Python fungerar med objektorienterad programmering (OOP). Läs mer ."
Okej då. Klart som dag.
Det här är bara några små exempel på varför JavaScript kan ses som ett fruktansvärt språk att lära sig och använda. För varje fall här, och tusentals andra över hela webben, finns det en armé av människor som är redo att försvara dessa beteenden. En sak är säker, JavaScript går inte någonstans, och inte heller är de oändliga argumenten online.
För en sista kul, som går tillbaka till esoteriska språk som diskuterats tidigare: öppna en JavaScript-konsol i din webbläsare och klistra in detta monster:
alert((![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]);
En värld av programmeringsspråk
Kan du höra sablarna skralla? De arga devsna som är redo att slå ner varje punkt som görs i den här artikeln? I själva verket skulle de inte ha fel. Det finns tusentals andra fall på nästan alla språk där ute som jag kunde ha använt.
Med undantag för de esoteriska språken har varje programmeringsspråk sina goda och dåliga poäng. Precis som med alla verktyg är en funktion som gör att en användares blod kokar upp en värdefull funktionalitet till en annan. Semikoloner kan vara en persons kryptonit, medan vitrummet kan hålla andra uppe på natten.
För en nybörjare är alla programmeringsspråk svåra, och du bör spendera tid på att lära dig grunderna i programmering Grunderna i datorprogrammering 101 - variabler och datatyper Grunderna i datorprogrammering 101 - variabler och datatyper Efter att ha introducerat och pratat lite om objektorienterad programmering innan och var dess namngivare kommer ifrån, trodde jag att det är dags att vi går igenom de absoluta grunderna i programmering på ett icke-språkligt specifikt sätt. Detta ... Läs mer innan du oroar dig för mycket för vilket språk du ska välja. Med det sagt är det viktigt att hålla sig informerad om de senaste språken som blir populära. Just nu är Rust det mest spännande programmeringsspråket 7 skäl Rust är det mest spännande nya programmeringsspråket 7 skäl Rust är det mest spännande nya programmeringsspråket Vill du komma igång med programmering? Här är varför Rust är det mest spännande och tillgängliga nya programmeringsspråket. Läs mer för att utforska!
Bildkredit: fizkes / Depositphotos
Utforska mer om: JavaScript, PHP-programmering, programmering.