3 sämsta programmeringsspråk att undvika som pesten

3 sämsta programmeringsspråk att undvika som pesten / Programmering

Det finns massor av fantastiska programmeringstutorials 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 enklare för nybörjare att lära sig. Andra är mest användbara för framtiden. Och andra är mest sannolikt att hjälpa dig att landa ett programmeringsjobb.

I den här artikeln kommer vi att närma den från motsatt sida: Vilka programmeringsspråk borde du undvika?

1. Esoterisk som% ^ & *!

Låt oss börja med en enkel. Esoteriska programmeringsspråk (eller esolang för korta) är utformade för att driva programmeringen till dess gränser för enkelhet. På så sätt lyckas de göra det oerhört komplicerat.

Även om detta verkar som en motsägelse i termer, en snabb titt på det tyvärr namngivna Brainf & * k-språket:

++++++++[> ++++ [> ++> +++> +++>+<<<<-]>+> +> - >> + [<]<-]>>.> ---. +++++++ ... +++. >>.<-.<.+++.------.--------.>> +.>++.

Denna monstrosity är funktionell, Turing-komplett kod. Funktionen av detta program? Den skriver ut Hej världen! till skärmen. Enkelt, är det inte?

Språket består av åtta tecken, som flyttar datapekaren i programmatrisen och ändrar eller matar ut data som hålls i varje position. Allt detta lägger till ett enkelt språk som är en absolut förstörare att använda. Därför det olyckliga namnet. Förresten är Brainf £ $ k inte det enda esoteriska språket med a “färgrik” Namn, var så nyfiken på egen risk!

Brainf ^ & k är ett av de mest kända esoteriska programmeringsspråken, men många fler kan hittas. Kanske vill du bygga ett program med Arnold Schwarzenegger en-liners? 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 daglig användning. I allmänhet är dessa språk Turing Tarpits och kommer att leda till mer frustration än vad som helst om de används för faktiska programmeringsuppgifter. På samma sätt som att gå över Niagara Falls i ett fat är det inte säkert att vissa av er kommer att programmera på esoteriska språk oavsett!

2. PHP

Det är här saker kan bli omstridda. PHP är ett språk på serversidan som är utformat för webbutveckling. Ursprungligen släpptes 1997 tog PHP snabbt över nätet. Du skulle vara svårt att hitta någon stor webbenhet som inte använd PHP. PHP introducerade konceptet Dynamiska webbplatser, vilket möjliggör för användare att fråga databaser i realtid istället för att ladda statiska sidor på varje interaktion.

En ny undersökning av Stack Overflow visar PHP som det nionde populäraste språket, och det finns fortfarande en stor efterfrågan på PHP-utvecklare. Än så länge är allt bra. Bredt använd, efterfrågan, långvarig, vad är det inte att tycka om?

Tja, beroende på vem du frågar, ganska mycket!

Inkonsekvens

PHP var inte menat 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 en frustrerande upplevelse.

Ett exempel på detta tillhandahålls av lämpligt namngiven phpsadness är PHP: s få-funktion:

gettype () get_class ()

Dessa små inkonsekvenser i namngivandet 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 det kommer från ett annat språk.

I en ålder av programmeringssprogpolyglots kan dessa problem inte vara en stor sak för dig, men det räcker att få några utvecklare att springa för kullarna.

En sak innan vi flyttar bort från dessa typer av inkonsekvenser. I PHP är funktion och klassnamn inte skiftlägeskänsliga, men variabler är.

Vänta, va?

Ternary Operator

Oavsett om det är en produkt av PHPs ad hoc-struktur eller den galen infall av en av dess skapare, är den ternära operatören i PHP förvirrande. Tänk på följande:

$ a = 11; echo ($ a == 10? 'tio: $ a == 11?' elva ': $ a == 12?' tolv ': $ a == 13?' tretton ':' något annat '); eko "\ n"; // denna kod skriver ut 'tretton' till konsolen

Som du kan se i ovanstående exempel, 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 matas ut elva. PHP håller inte med om det.

Detta konstiga beteende kommer från PHP med hjälp av en vänster associativ ternär operatör. Detta något sanna böjningsbeteende är fullständigt 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örvirrande.

PHP används fortfarande i stor utsträckning, och många hävdar att det har förbättrats enormt över sin 20-års tjänstgöringstid.

Om du vill skapa egna WordPress-plugins Hur du skapar dina egna grundläggande Wordpress-widgets Hur du skapar dina egna grundläggande Wordpress-widgets Många bloggare söker efter den perfekta Wordpress-widgeten som gör exakt vad de vill, men med lite programmeringserfarenhet kan du hitta det är lättare att skriva din anpassade widget. Den här veckan skulle jag ... Läs mer, då är det verkligen värt att lära. Det finns stora resurser där ute för att komma igång med att lära sig 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 betala miljontals förfrågningar dagligen. de facto-språket som används för att lära ut webbläsning. Det är vackert enkelt, men briljant kraftfullt. Läs mer, och dess popularitet betyder att du sannolikt kommer att landa ett utvecklingsarbete när du har.

Den verkliga frågan är: med så många andra språk där ute och uppkomsten av andra ramar 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 JavaScripts ära i kommentarfältet!

JavaScript är språket på internet. Det finns ingen dölja sin dominans. Om du använder en webbläsare kommer den sida du ser det 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, JavaScripts server-runtime. Ett snabbt skum av någon jobbstyrelse för programmerare visar efterfrågan på JavaScript-utvecklare.

Varför hör det till den här listan? Tja, älskling av front-end har några quirks.

Automatisk insättning av semikolon

Om du är bekant med Java eller något av C-programmeringsspråket, vet du att semikolon används för att indikera uppsägning av ett uttalande. Tolkaren ser semikolon och vet att man ska gå vidare.

I JavaScript är sakerna lite annorlunda. Semikolon är valfria. Medan det kan tyckas omöjligt, vill många människor släppa semikolon från JavaScript helt och hållet.

Även om det här är en bra idé, är det inte utan problem. Self-confessed semicolon denier och YouTuber Kyle Robinson Young gör ett bra fall för varför de skall användas av nybörjare.

De problem som uppkommer i den här videon pekar på ett större problem. JavaScript fungerar bra utan semikolon för det mesta. Detta beror på att semikolonerna inte är borta alls, de läggs bara in automatiskt där tolken tänker de borde gå.

Medan de fall då tolken blir fel, ses som “kantfall” av mer erfarna kodare är de alla saker som nybörjare sannolikt kommer att komma in i, vilket gör att erfarenheten av att använda JavaScript är owelkomligt.

En kort sökning i ämnet av semikolon i JavaScript leder dig på ett kaninhål av åsikt och spekulation med nästan ingen ände. När ett språk kräver en fullständig läsningssida för att förstå var du ska använda en semikolon, bara för att dra slutsatsen att du borde skapa ditt eget sinne, är det förlåtligt att tro att något är fel!

En skräck av weirdness

Den som har tagit en nybörjarkodningsklass kommer att vara bekant med arrays. De är ett enkelt sätt att samla in mycket data av samma typ och ordning dem att enkelt få tillbaka det senare.

Detta är en grund 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 snygga samtal om JavaScript summerar det bra:

“JavaScript-arrays är array-list-dictionary kombinerade flertypsobjekt En nybörjarguide till Python Objektorienterad programmering En nybörjarguide till Python Objektorienterad programmering För att dra full nytta av Pythons styrkor vill du lära dig hur Python arbetar med objekt -orienterad programmering (OOP). Läs mer .”

Okej då. Tydlig som dag.

Det här är bara några få exempel på varför JavaScript kan ses som ett hemskt språk att lära och använda. För varje fall här, och tusentals andra över hela världen, finns en armé av människor redo att försvara dessa beteenden. En sak är säkert, JavaScript går inte någonstans, och inte heller är de oändliga onlineargumenten om det.

För en sista bit roligt, som hyser tillbaka till esoteriska språk som diskuterats tidigare: öppna en JavaScript-konsol i din webbläsare och klistra in i det här monsteret:

alert ((! [] + []) [+ []] + (! [] + []) [+! + []] + ([! []] + [] [[]]) [+! + [] + [+ []]] + + + []]) ([[+ [] + []!!)]!;

En värld av programmeringsspråk

Kan du höra sabrarna rasande? De arga devsna är redo att slå ner varje punkt som görs i den här artikeln? I själva verket skulle de inte vara 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 bra och dåliga poäng. Som med alla verktyg, en funktion som gör att en användares blodkok är en välskötad funktionalitet till en annan. Semikolon kan vara en persons kryptonit, medan vitryck kan hålla andra uppe på natten.

För en nybörjare är något programmeringsspråk svårt, och du borde spendera tid att lära sig grundarna för programmering. Grundläggande för dataprogrammering 101 - Variabler och datatyper Grunderna för datorprogrammering 101 - Variabler och datatyper Efter att ha introducerat och pratat lite om objektorienterad programmering innan och där namnet kommer från, tänkte jag att det är dags att vi går igenom de absoluta grunderna för programmering på ett icke-språkligt sätt. Detta ... Läs mer innan du oroar dig för mycket om vilket språk du ska välja.

Bildkrediter: fizkes / Depositphotos

Utforska mer om: JavaScript, PHP Programmering, Programmering.