Hvilket programmeringssprog skal du lære næste?

Uanset om du er en ekspertudvikler eller en helt nybegynder, er det altid en god ide at lære et nyt programmeringssprog.

Selvfølgelig er der ikke rigtig et enkelt sprog, som enhver professionel eller håbelig udvikler absolut skal lære. Det næste sprog, du vælger at lære, afhænger af dit nuværende færdighedsniveau og dine overordnede karrierestræbelser.

Bare rolig: Jeg nedbryder dine muligheder i denne artikel for at hjælpe dig med at finde ud af, hvilket programmeringssprog du skal tackle næste gang. Jeg vil anbefale tre sprog (et til begyndere, et til mellemliggende udviklere og et til eksperter) sammen med flere alternativer, du måske foretrækker, afhængigt af dine præferencer.

Men lad os først se på aktuelle tendenser for at se, hvilke sprog der vinder / falder i popularitet.

Tendenser i programmeringssprog

Diagrammet nedenfor viser de mest efterspurgte programmeringssprog i 2018 sammenlignet med 2017.

På trods af at Java er mere end 20 år gammel, er det stadig det mest populære programmeringssprog - skønt det er faldet i popularitet siden 2017. Java har været i høj efterspørgsel i lang tid, sandsynligvis fordi det kan køre på enhver hardware eller OS . For eksempel er alle Android-apps baseret på Java, og de fleste Fortune 500-virksomheder bruger det til back-end-udvikling.

Python, der er meget brugt til webudvikling, indhenter hurtigt Java i den samlede popularitet. Sproget bruges i vid udstrækning inden for videnskabelig databehandling, datamining og maskinindlæring - det er her væksten i efterspørgsel kommer fra.

JavaScript forbliver meget populært, hvilket ikke er overraskende, da det bruges af de fleste udviklere og næsten alle websteder med dynamisk logik. Også front-end-rammer som React og AngularJS bliver brugt til IoT- og mobilenhedsintegrationer, så det er usandsynligt, at JavaScript snart kommer ud af diagrammerne.

C ++ og C #, der bruges i udvikling af videospil og system / applikationssoftware (C # bruges til Microsofts .NET-platform), er lidt nede i 2018, men går stadig stærkt. PHP vokser i popularitet som en måde at tilføje webfunktioner, som HTML eller CSS ikke kan håndtere, og også til brug med MySQL-databaser. Og endelig er Perl stadig et topsprog for sin popularitet blandt system- og netværksadministratorer som et "limsprog" til at forbinde forskellige softwarekomponenter.

En gang ting at bemærke om diagrammet ovenfor er, at de øverste sprog alle er grundlæggende. Disse sprog (som diskuteret længere nedenfor) er vigtige for begyndere at lære. Men eksperter kan være mere interesserede i at lære et avanceret sprog.

Grundlæggende versus avancerede programmeringssprog

De mest efterspurgte sprog kaldes undertiden grundlæggende programmeringssprog. De er blevet brugt siden de tidlige dage til at bygge fundamentet for moderne computing og netværk.

Der er dog også mange, mange nichesprog med voksende udviklerfællesskaber, såsom Haskell (bruges til AI og maskinindlæring), Scala (en erstatning for Java), ML (et funktionelt sprog), Scheme (bruges til AI og web- baseret programmering) og hundreder mere.

Disse avancerede sprog er ikke nybegyndervenlige. Men hvis du planlægger at blive ekspert inden for et bestemt område som AI og machine learning, kan det være en uvurderlig færdighed at kende et sprog som Haskell.

Når du først har lært et eller flere grundlæggende sprog, skal du være i stand til at lære næsten ethvert nyt eller mere avanceret programmeringssprog. Husk, at det næsten aldrig er en dårlig idé at lære et nyt sprog, da det hjælper dig med at lære at tænke på problemer på forskellige måder.

Med dette i tankerne er nedenunder tre sprog, der er must-lærer for udviklere på forskellige færdighedsniveauer (nybegynder, mellemliggende og avanceret) sammen med et par alternativer.

Et kodningssprog for begyndere

JavaScript er et godt valg til dit første programmeringssprog. Som nævnt ovenfor er JavaScript næsten allestedsnærværende. Og du kan bruge til at udvikle alle mulige applikationer. Mange websteder, du sandsynligvis bruger hver dag, er afhængige af JavaScript, herunder Gmail, Facebook, Twitter, Instagram og Spotify.

JavaScript bruges til front-end-udvikling af webapps (ved hjælp af rammer som AngularJS, Ember.js og React) og back-end-udvikling (ved hjælp af Node.js-rammen). At lære disse rammer tager mere tid end at lære JavaScript alene, men hjælper med at øge din beskæftigelsesegnethed (og løn).

Måske bedst af alt er, at JavaScript faktisk er indbygget i din browser, så du behøver ikke installere noget for at starte programmering i den. Det gør det utroligt tilgængeligt. Der er en god chance for, at du finder det grundlæggende let at lære, men rolig, fordi der er masser af avancerede koncepter, der holder dig travlt med at lære i meget lang tid.

Hvis du er nybegynder og ønsker at blive en professionel udvikler, er det en god ide at lære JavaScript. Når det er sagt, ville ethvert af de grundlæggende sprog også være et godt valg. Ideelt set bør du lære mere end et grundlæggende sprog gennem din karriere.

Alternativer til begyndere

Python er relativt let og sjovt at lære med meget få strenge syntaksregler. Faktisk læser det som engelsk, så selv en ren begynder kan forstå koden. Python blev brugt til at opbygge Instagram, YouTube og Spotify, så det kunne være din billet til et job hos et topfirma.

Ligesom Python er Ruby også let for begyndere at lære. Du behøver ikke huske mange kommandoer eller syntaksregler for at bruge det. Startups bruger i stigende grad Rubys full-stack ramme kaldet Ruby on Rails - det er blevet brugt til at oprette websteder som Airbnb, Groupon og mange flere.

Det næste trin for mellemliggende programmerere

Når du har nogle programmeringserfaringer under dit bælte, er det en god ide at tage dig tid til at lære C (sammen med C # og måske C ++).

C er sværere at lære end JavaScript, men det er en værdifuld færdighed at have, fordi de fleste programmeringssprog faktisk er implementeret i C. Dette skyldes, at C er et "maskinniveau" -sprog. Så at lære det vil lære dig, hvordan en computer fungerer og faktisk vil gøre det lettere at lære nye sprog i fremtiden.

At lære at programmere i C er som at forstå grundlæggende anatomi, inden du bliver læge. Hvis du vil blive ekspertudvikler, skal du forstå, hvordan computere og software fungerer sammen. At lære C er en oplysende oplevelse, der vil have den gavnlige bivirkning ved at lære dig at kode mere effektivt.

C # bruges i vid udstrækning til virksomhedsudvikling på .NET-platformen, men det er også det primære sprog for Unity 3D, en populær spilmotor til indie- og VR-spil. C ++ bruges normalt til ydeevneintensive desktop-applikationer (inklusive spil). Det er også blevet brugt til at skabe mange store systemer af virksomheder som Microsoft, Oracle og Adobe.

Alternativ til mellemkodere

Java er et andet godt valg, fordi det kan skrives på enhver enhed og bruges på tværs af platforme, hvilket gør det til et utroligt alsidigt sprog (husk, det er stadig det mest efterspurgte sprog i dag).

Det bruges ofte til at oprette apps, så hvis dit mål er at udvikle mobilapps, skal du helt sikkert lære Java.

En ny udfordring for ekspertudviklere

Hvis du har mestret de grundlæggende programmeringssprog som Javascript, C #, C ++, Java og Python, er du klar til en ny udfordring. Efter min mening burde den udfordring være Rust .

Ifølge en Stack Overflow-undersøgelse blev Rust bedømt det mest populære programmeringssprog af udviklere i 2018 for tredje år i træk. Det er et relativt nyt sprog, oprettet i 2010 af Mozilla, og forbedrer konstant.

Rust er et kompileret sprog, der kan sammenlignes med C med hensyn til både ydeevne og hvad det bruges til. I modsætning til C er Rust imidlertid hukommelsessikker: dinglende markører, bufferoverløb eller andre slags hukommelsesfejl findes ikke i kode skrevet i Rust. Det er umuligt at lave denne slags fejl i Rust, fordi eventuelle fejl fanges under kompilering - før koden nogensinde får lov til at køre.

Denne funktion gør Rust svært at lære for begyndere, men erfarne programmører vil sætte pris på de iboende præstationsforbedringer. Det har vokset støt i popularitet, siden det blev oprettet, og der er en god chance for, at Rust vil være meget efterspurgt i de næste par år. Ifølge Stack Overflow var det den næstbedst betalende kodningsfærdighed i 2017 og er i top 6 for 2018.

Alternativ til eksperter

Hvis du allerede er en erfaren Java-programmør, kan det næste sprog, du kan lære, være Scala (forkortelse for Scalable Language).

Scala er et af mange forsøg på at forbedre Java og kan bruges som en direkte erstatning for det - faktisk er det samlet til at køre på Java Virtual Machine. Det er et komplekst sprog at lære, men det er det værd i sidste ende: Scala blev rangeret i den mest betalte teknologi i Stack Overflow's 2017 og 2018-undersøgelse.

Ligesom Rust er Scala vokset støt i popularitet de sidste 5 år. Store virksomheder som LinkedIn og Twitter bruger allerede Scala i deres kodebaser.

Konklusion

I sidste ende skal det programmeringssprog, du beslutter at lære næste, komme ned til dit nuværende kvalifikationsniveau og dine karriereinteresser / ambitioner.

Begyndere skal starte med let at lære sprog som JavaScript, Python eller Ruby for at få deres fødder våde og begynde at opbygge applikationer.

Programmører med mere erfaring ville være kloge til at mestre et grundlæggende og alsidigt sprog som C eller Java for at få en bedre forståelse af, hvordan computere og software interagerer. Dette vil også lære dig at kode mere effektivt.

Og endelig vil ekspertkodere måske lære sprog som Rust eller Scala, der forbedrer grundlæggende sprog (som C og Java). Disse to avancerede sprog er allerede meget populære blandt erfarne udviklere og vil sandsynligvis blive endnu vigtigere efterhånden som virksomhederne beslutter at opbygge nyere og mere effektive applikationer.

Leder du efter en ny måde at teste dine programmeringsevner på?

At have en objektiv idé om, hvor du står, er nøglen til at forbedre. For en gratis og retfærdig evaluering af dine programmeringsevner skal du blot indsende din kode . Indorses peer-reviewed evalueringer kan hjælpe dig med at forbedre dine tekniske færdigheder og tage dig til det næste niveau!

Python | C # | Java | PHP | JavaScript | Ruby