paint-brush
Heren, kies uw wapens! Programmeertalen die u (niet?) zou moeten lerendoor@shcherbanich
235 lezingen

Heren, kies uw wapens! Programmeertalen die u (niet?) zou moeten leren

door Filipp Shcherbanich7m2024/09/03
Read on Terminal Reader
Read this story w/o Javascript

Te lang; Lezen

In de snel evoluerende wereld van programmeren moeten ontwikkelaars beslissen of ze nieuwe talen adopteren of vasthouden aan bewezen talen. Het artikel bespreekt de voor- en nadelen van beide benaderingen, waarbij de nadruk ligt op het belang van praktische toepassing en carrièredoelen bij het maken van deze keuze.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Heren, kies uw wapens! Programmeertalen die u (niet?) zou moeten leren
Filipp Shcherbanich HackerNoon profile picture
0-item
1-item

Zoals het oude gezegde luidt, zijn er weinig dingen in het leven erger dan een mes meenemen naar een vuurgevecht. Als ervaren ontwikkelaar kan ik je vertellen dat dit ook 100% geldt voor de programmeerwereld. Je moet relevant blijven in een industrie die sneller verandert dan ik dit artikel schrijf. Bovendien heb je zoveel verschillende taken om te doen. Dus na jaren van overleven in deze omgeving, houd ik mijn favoriete speeltjes altijd bij de hand en geladen. Voor een stille en precieze klus is er mijn vertrouwde C++ . Als ik een big data-knal wil maken, kies ik voor R, enigszins extravagant, maar overtuigend krachtig. Maar als het echt rommelig wordt, haal ik mijn JavaScript van de muur: het hield me in het verleden in leven en het kan nog steeds wat meer misbruik verdragen. Geen enkele taal is goed of slecht voor iedereen. Het hangt af van jou en de baan die je moet doen. Laten we dus bespreken of je altijd met de mode mee moet gaan of moet vasthouden aan de goede oude dingen. Deze vraag is een beetje lastiger dan het lijkt...

Is elke dag een nieuw begin?

Gezien de innovatieve aard van technologie klinkt het misschien dwaas om te bespreken of we een andere taal moeten leren. Als de wereld stil zou staan, zouden we nog steeds kleitabletten en abacus gebruiken. Gelukkig leidt de wens om te innoveren tot voortdurende vooruitgang, waardoor constante vaardigheidsupgrades noodzakelijk zijn. In de jaren 60 bijvoorbeeld, betekende communiceren met computers dat je gaten in papier moest maken en het in een machine moest stoppen. Tegenwoordig passen computers in onze zakken en de enige gaten die we tegenkomen, zijn in ons budget nadat we ze hebben gekocht. Stel je voor dat de meest geavanceerde ontwikkelaar uit de jaren 60 probeerde relevant te blijven zonder zijn vaardigheden te ontwikkelen.


Programmeertalen evolueren sneller dan hun makers. Nieuwe vereisten, ideeën en tools die traditionele benaderingen en praktijken radicaal veranderen, ontstaan in een opmerkelijk tempo. Specialisten die dit feit negeren, raken net zo verouderd als de talen waaraan ze zich vastklampen. Een goed voorbeeld is COBOL, dat, ondanks dat het in de jaren '60 populair was voor zakelijke toepassingen, bijna overbodig is geworden door technologische vooruitgang.


Een andere reden om een nieuwe programmeertaal te leren zijn carrièremogelijkheden. Omdat ze begrijpen dat meer kennis van de nieuwste technologieën hun kansen op goedbetaalde banen vergroot, studeren sommige specialisten enthousiast nieuwe talen. Deze inspanning is gerechtvaardigd: kennis van nieuwe technologieën vergroot ongetwijfeld de kansen op werk. Soms zijn nieuwe technologieën noodzakelijk, zelfs als de taal zelf relevant blijft, maar het bedrijf zijn tech stack verandert. In dergelijke gevallen moeten werknemers zich aanpassen of een nieuwe baan vinden. Meestal kiezen ze ervoor om de nieuwe technologie te leren.


Het leren van nieuwe talen is niet alleen om praktische redenen nuttig, maar ook voor de creativiteit. Het kan nieuwe benaderingen bieden voor bekende taken, waardoor perspectieven en potentieel worden uitgebreid. Symfony, een populair PHP-framework, is bijvoorbeeld geïnspireerd door het op Java gebaseerde Spring-framework. Veel open-source bibliotheekontwikkelaars hebben ideeën overgenomen van bibliotheken die in andere talen zijn geïmplementeerd, en jij zou de volgende innovator kunnen zijn.

…Of is oud echt goud?

Maar laten we voor de waarheid eens andersom kijken naar alle dingen die we in het vorige hoofdstuk hebben besproken. Weet u wanneer ponskaarten voor het laatst werden gebruikt? Raad maar eens... En tenzij u vals speelde door het antwoord nu te googelen, zou uw gok waarschijnlijk fout zijn. Het juiste antwoord is 2014. Dat jaar werden de laatste ponskaarten werden gebruikt door stemmachines in de staat Idaho tijdens de algemene verkiezingen in de VS. Of neem COBOL, de taal die we een paar alinea's geleden als verouderd hebben verworpen. Nou, vanaf 2017, volgens Reuters , 43% van alle banksystemen waren gebaseerd op COBOL; 80% van de persoonlijke transacties maakten gebruik van COBOL en er waren 220 miljard regels code geschreven in COBOL die nog steeds in gebruik waren. Er is dus eigenlijk een (niet zo dunne) grens tussen de irrelevantie van een taal voor moderne systemen en de algehele veroudering ervan.


Hoe groot is de kans dat een programmeertaal die je kent of gaat leren, binnenkort verouderd en nutteloos wordt? Daar is geen echt antwoord op, alleen maar gissingen. Sommige auteurs schatten dat de gemiddelde levenscyclus van een programmeertaal ergens ligt tussen 14 en 18,5 jaar . Anderen inspraak het is dichter bij 25 jaar voor dominante talen en 5-6 voor meer niche en exotische tools. Maar er is ook nog een gezichtspunt het vermelden waard omdat het door de geschiedenis bewezen lijkt. Het is gebaseerd op het Lindy-effect, het best beschreven door Nassim Nicholas Taleb in zijn boek 'Antifragiel: Dingen die profiteren van wanorde' : “Als een boek veertig jaar in druk is geweest, kan ik verwachten dat het nog eens veertig jaar in druk zal zijn. Maar, en dat is het belangrijkste verschil, als het nog een decennium overleeft, dan zal het naar verwachting nog eens vijftig jaar in druk zijn. Dit vertelt je in de regel simpelweg waarom dingen die er al lang zijn, niet "verouderen" zoals personen, maar "verouderen" in omgekeerde richting. Elk jaar dat voorbijgaat zonder uitsterven verdubbelt de extra levensverwachting. Dit is een indicator van enige robuustheid. De robuustheid van een item is evenredig aan zijn levensduur!”


Met andere woorden, talen die lang genoeg bestaan, zullen waarschijnlijk nog wel een paar decennia bij ons blijven. Integendeel, er is een kans dat nieuwe, mooie dingen binnenkort overbodig worden – maar dat valt nog te bezien. Elk jaar dat een taal actief is, vergroot de kans dat het langer blijft bestaan.

Denk aan carrières in plaats van talen

Dus wat moeten we doen? Een taal leren? Een nieuwe of een oude? Nou, leren is altijd goed. Onderzoek toont aan dat bijna de helft van alle ontwikkelaars overweegt om een nieuwe taal te leren. Volgens JetBrains' " De staat van het ontwikkelaarsecosysteem 2023 " enquête, meer dan 40% van de respondenten gaf aan dat ze dit graag willen. Ontwikkelaars die werken met JavaScript (49%), PHP en Python (45%) en C++ (44%) tonen de meeste interesse om iets nieuws te leren. De keuze van de taal die je wilt leren, hangt eigenlijk af van je carrièrepad. Als je denkt aan een stabiele baan die vrij lang kan duren (maar niet voor altijd), kun je kiezen voor iets ouds en bewezens. Zulke kansen kunnen zich voordoen in de wetenschap, de productie en traditionele banken, d.w.z. instellingen met langdurige dure machines en/of infrastructuur die sterk afhankelijk is van verouderde code.


De meerderheid van de COBOL-programmeurs was bijvoorbeeld tussen 45 en 55 jaar oud in 2017. Tel daar zeven jaar bij op die zijn verstreken sinds het onderzoek werd gepubliceerd en je zult zien dat veel COBOL-ontwikkelaars de pensioengerechtigde leeftijd bereiken. Als COBOL zo lang meegaat als verwacht, is dit misschien je kans om een zeldzame specialist van hoge waarde te worden. Maar houd er rekening mee dat zo'n keuze zeer diepgaande kennis en onberispelijke vaardigheden vereist. En als er iets misgaat, kan je verdere baankeuze zeer beperkt zijn, tenzij je besluit om je profiel te wijzigen.


Als u de voorkeur geeft aan het bruisende leven van startups of de kracht van techgiganten, dan moet u kiezen voor iets moderners en veelbelovenders. Kijken wat anderen doen, kan u een aanwijzing geven: bekijk bijvoorbeeld de actuele ranglijsten van programmeertalen van Rode Monnik of TIOBE . Neem ze niet te serieus, want elke denkbare rangschikking is gebaseerd op een zekere mate van vereenvoudiging, maar ze kunnen je nog steeds een algemeen beeld geven van wat er gaande is. Ook onthult het genoemde onderzoek van JetBrains welke talen worden het vaakst geleerd. Zo weet je zeker dat je een taal met toekomst leert.

Wees altijd praktisch

Kennis die zonder praktische toepassing is opgedaan, is snel verouderd. Daarom is het zinloos om een nieuwe taal te leren alleen maar om een hokje aan te vinken. Denk in plaats daarvan na over hoe u het in uw huidige baan kunt gebruiken. Als uw bedrijf de technologie al gebruikt, kan het een geweldige stimulans zijn om te leren. Vraag uw manager of teamleider gewoon om u taken toe te wijzen die hiermee verband houden, zodat u uw kennis kunt verstevigen door te oefenen. Als uw werk een vaste tech stack gebruikt en er geen mogelijkheid is om iets nieuws te leren, kunt u altijd uw eigen zijproject maken om zelfstandig nieuwe grenzen te verkennen. Zorg er alleen voor dat u daarbij uw arbeidsovereenkomst niet schendt.


Zelfs als je net begint met ontwikkelen, blijft de strategie hetzelfde: kies een technologie die je in het echte leven kunt gebruiken (op het werk of in een zijproject). Kies een taal met een mooie toekomst, niet een taal die de ontwikkelaarscommunity mijdt. Omdat je net begint met je reis en niet wordt belast door hoge salarissen en verwachtingen als specialist, kun je je tech stack gemakkelijk en snel veranderen als de tweede taal die je leert je meer aanspreekt dan de eerste. Je hebt meer flexibiliteit in je keuze en het is de moeite waard om van dit voordeel te profiteren. Overdrijf het alleen niet: te frequente veranderingen in je tech stack en een overweldigende kennisstroom kunnen schadelijk zijn. Vind een balans tussen wat je wilt en wat je kunt beheren, en je zult zeker succes behalen.


Voor sommige ontwikkelaars, vooral voor degenen met vele jaren ervaring, lijkt mijn advies misschien vanzelfsprekend. Maar zoals het gezegde luidt: "Herhaling is de moeder van leren", en niemand heeft ooit de waarheid van deze wijze woorden ontkracht. Ik hoop dat mijn artikel degenen die het al lang wilden, maar te lui waren om actie te ondernemen, zal aanmoedigen en enthousiaste beginners zal motiveren. Ik hoop dat mijn advies nuttig blijkt en misschien zelfs verdere professionele groei inspireert.