Met zo'n groot aantal beschikbare programmeertalen kan het moeilijk zijn om er slechts één te kiezen om te leren. JavaScript en Ruby zijn twee van de bekendste talen, en daar is een goede reden voor. Om je in staat te stellen een weloverwogen beslissing te nemen over welke taal het meest nuttig voor je zou zijn, hebben we deze gids opgesteld. Maar vergeet niet: als het gaat om programmeren, is er geen verkeerd antwoord; er zijn alleen verschillende manieren om hetzelfde doel te bereiken.
Wat is JavaScript?
JavaScript is een geïnterpreteerde, multi-paradigm, dynamische taal op hoog niveau die voldoet aan de ECMAScript-norm. Als deze woorden niets anders zijn dan wartaal, maak je dan geen zorgen. Laten we elke term definiëren:
JavaScript Geïnterpreteerd
Dit woord betekent het tegenovergestelde van compiled (samengesteld). En wat betekent compiled? Een gecompileerde taal is een taal waarvan de broncode moet worden doorgegeven aan een compiler, een programma dat een taal kan omzetten in bytecode (1-en en 0-en) die je computer kan begrijpen en vervolgens kan uitvoeren. Een geïnterpreteerde taal is een taal die niet vooraf hoeft te worden gecompileerd; in plaats daarvan leest een interpreter de code regel voor regel en voert elke regel uit zoals deze wordt gelezen, zonder dat er een vooraf gecompileerde codebasis nodig is.
JavaScript Hoog niveau
Hoog niveau is een relatieve term, maar de algemene consensus is dat JavaScript een taal op hoog niveau is. Een taal op hoog niveau is een taal die de details van de machine waarop deze wordt uitgevoerd, weghaalt; het is een taal die ontwikkelaars tools (taalelementen) biedt die het voor hen gemakkelijker maken om na te denken over problemen en deze op te lossen, zonder zich zorgen te hoeven maken over de details van hoe een computer werkt. Je hebt immers geen graad in elektrotechniek nodig om een gloeilamp te vervangen en je zou geen graad in computertechniek nodig moeten hebben om goede code te kunnen schrijven.
JavaScript Multi-paradigm
Dit is een kreet die je steeds vaker zult horen wanneer je aan je tech reis begint. Naarmate programmeertalen evolueren, voegen hun onderhouders voortdurend functies toe die onderdeel uitmaken van andere talen en die ontwikkelaars mogelijk willen. Dit betekent dat naarmate talen groeien, ze steeds meer op elkaar gaan lijken. Wat heeft dit te maken met "multi-paradigm?"
JavaScript is multi-paradigma in die zin dat de functies ervan worden geassocieerd met talen die als functioneel of objectgericht worden beschouwd, wat twee volledig afzonderlijke paradigma's zijn. Hier is een overzicht:
JavaScript is functioneel in die zin dat functies "first-class citizens" zijn en kunnen worden doorgegeven aan, geretourneerd van en verbruikt door andere functies.
Je kunt volledig functionele JavaScript-code schrijven met niets anders dan functiecompositie.
JavaScript is ook objectgericht: hij stelt je in staat om objecten te creëren die dingen meekrijgen van andere objecten en complexe gegevensstructuren wat een "zuiver functionele" taal nooit zou toestaan.
JavaScript Dynamisch getypeerd
Net als veel andere geïnterpreteerde talen wordt JavaScript dynamisch getypeerd, wat betekent dat de typen die zijn toegewezen aan variabelen, parameters en functies niet op consistentie worden gecontroleerd voordat de code wordt uitgevoerd. Deze functie heeft een aantal voordelen, maar ook verschillende nadelen. Hij stelt ontwikkelaars in staat om snel korte scripts te schrijven, maar kan ook leiden tot uren en uren frustratie wanneer een typefout een bug veroorzaakt die nooit mogelijk zou zijn geweest in een statische taal.
Nu je dat weet en als je een taal wilt die voldoet aan de ECMAScript-norm maar sterk en statisch is getypeerd, kies dan voor TypeScript.
Je hoeft de vier hierboven gedefinieerde termen zeker niet te kennen of volledig te begrijpen om goede JavaScript-code te kunnen schrijven, maar als ontwikkelaar moet je alle details kennen van de tools die je gebruikt.
In het geval van JavaScript is het heel eenvoudig: JavaScript is de feitelijke front-end programmeertaal voor web development en de overgrote meerderheid van de websites gebruikt JavaScript voor scripting aan clientzijde; elke serieuze webbrowser heeft een speciale JavaScript-taal voor het efficiënt uitvoeren van code op gebruikersapparaten.
Is JavaScript geschikt voor mij?
Nou, dat hangt af van je carrièredoelen:
Wil je front-end web developer worden? Zo ja, dan is JavaScript precies de taal die je moet leren.
Wil je back-end web developer worden? JavaScript is een geweldige keuze, maar er zijn heel veel talen en frameworks om uit te kiezen.
Wil je full-stack web developer worden? In dat geval, echt wel! JavaScript stelt je in staat om elk onderdeel van je applicatie gemakkelijk te schrijven.
De beste manieren om JavaScript te leren
Heb je ooit gehoord van de 10.000 uur-regel? Het is een concept geïntroduceerd door Malcolm Gladwell dat in feite betekent dat hoe meer je iets doet, hoe beter je erin wordt. Gladwell beweert dat iemand pas na 10.000 uur oefenen als expert kan worden beschouwd. En hoewel we niet kunnen bevestigen of ontkennen dat je dat nodig hebt om een coderingsexpert te worden, kunnen we je wel één tip geven: begin met schrijven!
Oké, dat was vrij voor de hand liggend! Maar hier hebben we enkele andere manieren om te leren:
Volg een bootcamp! Ze bieden deskundige begeleiding, duidelijke leerdoelen en realtime feedback over hoeveel vooruitgang je boekt
Volg de handleidingen op de officiële JavaScript-website
Pak een boek op! Probeer Eloquent JavaScript van Marijn Haverbeke of JavaScript: The Definitive Guide van David Flanagan
Ik ken JavaScript al: welke taal moet ik leren?
Als je JavaScript al kent, ben je waarschijnlijk een front-end web developer. JavaScript is de logische keuze voor wat je doet en er zijn geen serieuze alternatieven op de markt. Maar als je vraagt welke taal je hierna moet leren, probeer je waarschijnlijk je vaardigheden uit te breiden om verschillende taken aan te kunnen. Als dat het geval is, overweeg dan om Python, Java, C of (je raadt het al!) Ruby te leren.
Python
Python lijkt erg op JavaScript in die zin dat het ook een geïnterpreteerde, hoogwaardige, multi-paradigm, dynamische taal is. En alsof dat niet genoeg was, wordt het ook consequent gerangschikt als een van de populairste talen ter wereld. Dit betekent dat er een enorme community van gebruikers is die al je vragen kunnen beantwoorden en duizenden door de gebruikers geteste bibliotheken beschikbaar zijn om te gebruiken die je zullen helpen om te doen wat je wilt doen, maar dan sneller.
Java
Een andere geweldige optie is Java. In tegenstelling tot JavaScript is Java gecompileerd, op hoog niveau, objectgericht en statisch getypeerd. Je zult merken dat je dingen moet doen en op verschillende manieren over problemen moet nadenken, vanwege de aard van de verschillen tussen de twee talen. En je zult geen problemen hebben om Java te leren, omdat er enkele geweldige boeken voor zijn.
C
C lijkt op geen enkele van de eerder genoemde opties; hij is een gecompileerde, statisch getypeerde taal op laag niveau. Het leren van C dwingt je om je op je gemak te voelen met pointers en pointer-rekenkunde en je leert snel dankbaar te zijn voor functies die je als vanzelfsprekend beschouwde in andere hogere talen, zoals garbage collection. C is ongelooflijk snel en elk stuk hardware dat je ooit zult gebruiken, heeft een ingebouwde c-compiler. Als je weet hoe je in C moet programmeren, kun je overal een computerprogramma schrijven.
Ruby
Als je JavaScript al kent, overweeg dan om Ruby te leren. Net als JavaScript is Ruby een geïnterpreteerde, hoogwaardige, multi-paradigm, dynamische taal. Hij werd beïnvloed door veel van dezelfde talen die de creatie van JavaScript beïnvloedden, maar met één groot verschil: het primaire doel van de Ruby-taal is programmeurproductiviteit.
Wat is Ruby?
We brengen weer ter herinnering: Ruby is een geïnterpreteerde, high-level, multi-paradigm, dynamisch getypeerde taal, aanvankelijk gecreëerd als een objectgerichte scripttaal (destijds bestond er geen), maar heeft sindsdien een groot aantal functies toegevoegd om Ruby net zo waardevol te maken als Python en Java. Maar nu het slechte nieuws: Ruby is geen 'taalkenmerk', maar een ontwerpfilosofie; het primaire doel van Ruby is om zijn programmeurs tevreden te stellen en productief te maken.
Is Ruby geschikt voor mij?
Nou, dat hangt af van je doelen:
Als je software wilt schrijven en een taal wilt gebruiken die programmeursgeluk voorop stelt, is Ruby de juiste taal voor jou.
Als je op zoek bent naar een taal die populair, krachtig en gemakkelijk te leren is, kies dan Ruby!
Omdat hij is ontworpen als scripttaal, maar is uitgegroeid tot een krachtpatser voor algemeen gebruik, is het supereenvoudig om te beginnen met het schrijven van code en het verkennen van alle functies die Ruby te bieden heeft.
Beste manieren om Ruby te leren
Er zijn tal van geweldige manieren om Ruby te leren; dat ligt aan de manier waarop jij het liefst leert:
Houd een aantal referentieboeken bij de hand, zoals Programming Ruby 3.2 van Noel Rappin of Eloquent Ruby van Russ Olsen
Volg een project in een van de eerder genoemde boeken
Leer de Ruby Koans kennen
Kies je eigen project en ga aan de gang met codering!
Welke manier je ook kiest, vergeet niet dat het tijd kost om een expert te worden; het gebeurt echt niet van de ene op de andere dag! De truc om ergens goed in te worden, is door te zetten: beslis hoe je wilt leren, zet door en in een mum van tijd programmeer je in Ruby.
Ik ken Ruby al: welke taal moet ik leren?
Als je Ruby al kent, dan ken je al de meest ontwikkelaarsvriendelijke taal die ooit is gemaakt. Bij elke taal die je vanaf nu leert, vraag je jezelf af: “Waarom hebben ze deze functie zo ontworpen?” Afhankelijk van wat je wilt doen, zijn er echter enkele geweldige opties:
Als je front-end web developer wilt worden, raden we je ten zeerste aan JavaScript te leren.
Als je back-end web developer wilt worden, dan heb je veel meer keuzes, maar Java of Python zijn twee logische keuzes die veel worden gebruikt in de branche.
Als je gewoon iets nieuws en interessants wilt leren, overweeg dan om een puur functionele taal zoals Haskell te leren.
Er zijn geen verkeerde keuzes als het gaat om leren en welke taal je ook kiest om vervolgens te leren, we weten zeker dat je de juiste keuze zult maken voor jou en je carrière. En als je meteen aan de slag wilt met die volgende taal, bekijk dan Ironhack's Web Development Bootcamp, waar je precies leert wat de arbeidsmarkt nodig heeft. Wat zou er beter kunnen zijn?