De beste programmeertaal om nu te leren

De beste manier om computers te begrijpen en ze naar onze hand te zetten, is door hun taal te leren spreken, zodat ze onze bevelen begrijpen. De mensen die van fantasieromans houden, stellen zich soms voor dat ze magische spreuken en bezweringen leren. De praktisch ingestelde mensen gebruiken meer geaarde taal om de logische structuur van cijfers en gegevens weer te geven. In ieder geval gaat het erom te begrijpen welke reeks toetsaanslagen en muisklikken ervoor zorgt dat de computer door metaforische hoepels springt en virtuele dansen uitvoert.

Elke school, MOOC en trainingssite moet een eerste taal voor de jonge Padawans omarmen. Sommige plaatsen, zoals het vuile Harvard, houden nog steeds vast aan het tijdperk C van de jaren 70, maar veel scholen oscilleren tussen JavaScript, Python en Java. De ene is begraven in elke browser, de andere is de zuivere keuze van de sociale wetenschappen, en de andere is de typerijke voorkeur van meer wiskundig ingestelde mensen.

Is een de beste keuze? Is de een duidelijk beter dan de andere? Of sturen ze allemaal evenveel studenten 's nachts gillend in hun kussens? Laten we eens kijken naar de beste redenen om Java, Python of JavaScript te leren.

Java is klassiek

De Advanced Placement-test koos Java lang geleden toen Java nog jong was en explodeerde. Misschien heeft Java nooit de top van zijn oorspronkelijke traject bereikt, toen iedereen leek aan te nemen dat het volledig dominant zou zijn, maar het blijft de ruggengraat van veel websites, smartphones, televisies en kleine apparaten.

Door een taal te kiezen met een sterke aanhang, kan de student op een kar springen die al volledig gevuld is met geavanceerde ontwikkeltools. Bovendien zijn er ontzettend veel regels open source-code die de student kan bestuderen, herzien en uitbreiden voor zijn eigen werk. Ze sluiten zich aan bij een grote beweging en het is gemakkelijk voor ze om erbij te horen.

Python is nieuw

In feite is Python niet zo nieuw - het project begon meer dan 30 jaar geleden - maar het voelt nieuw omdat het succes langzaam is gekomen. Pas onlangs is Python uitgebroken en vond het een brede acceptatie bij informele programmeurs. De nieuwigheid betekent dat de scholen die Python omarmen nieuwe lesplannen maken, nieuwe examens schrijven en nieuwe dekken met dia's ontwikkelen. Ze graven geen stoffige oude vragen uit de jaren negentig op met verwijzingen naar Pets.com en MySpace.

De nieuwste AP-cursus, Computer Science Principles genaamd, laat de docent de computertaal kiezen en velen kiezen Python vanwege de versheid. De nieuwheid is misschien huid diep, maar alle talen zijn slechts een slimme syntaxis die de als-dan-anders beslissingsstructuur van assemblagecode verbergt.

Al dit succes is het opbouwen van een positieve feedbacklus. De editie van november 2020 van de Tiobe-index was de eerste keer dat Python in de nummer twee-sleuf (achter C) klom, en erkende hoe de taal populairder werd dan Java.

JavaScript is overal

Het bevindt zich in de browser en de browser vormt de basis voor je desktop, je telefoon en al die kiosken die je overal ziet. In het afgelopen decennium heeft JavaScript de frontlinie van de webservers overgenomen, aangezien Node.js-webapps de populairste manier werden voor ontwikkelaars om "isomorfische code" te schrijven die zowel op de clients als op de serverfarms kan worden uitgevoerd. JavaScript is praktisch even oud als Java en toch duurde het jaren voordat mensen aan de serverkant de kracht ervan ontdekten. Het is tegelijkertijd nieuw en oud.

Java is getypt

Je vindt het misschien niet leuk om tijd te besteden aan het specificeren van het type van elke variabele, maar het kost niet zoveel tijd om op drie toetsen te klikken om "int" aan je code toe te voegen. Als je dat doet, krijg je alle kracht die voortkomt uit het direct dubbelchecken van je code door de compiler om de domme fouten op te sporen voordat deze wordt geïmplementeerd. Type-gecontroleerde talen dwingen ons om rigoureuzer na te denken over de logica in onze code, en dat is een essentiële les voor nieuwe programmeurs. Java's typestructuur vermindert bugs en bouwt betere code.

Python is niet getypt

Liefhebbers van getypte talen zijn slim en ze schrijven goede code, maar als je denkt dat je code goed genoeg is om soepel te werken zonder de extra informatie over de datatypes voor elke variabele, dan staat Python voor je klaar. De computer kan het type gegevens achterhalen wanneer u deze opslaat in een variabele. Waarom extra werk voor jezelf maken?

Merk op dat deze freewheeling-benadering kan veranderen, zij het langzaam. De Python-documentatie kondigt aan dat de Python-runtime geen annotaties van functies en variabelen afdwingt, maar ze kunnen nog steeds worden gebruikt. Misschien wordt het toevoegen van typen na verloop van tijd de dominante manier om in de taal te programmeren, maar voorlopig is het allemaal jouw keuze.

JavaScript is beide

JavaScript zelf is niet getypeerd, maar de laatste tijd zijn enkele van de spraakmakende leden van de JavaScript-wereld overgeschakeld naar TypeScript, een superset van de oorspronkelijke taal waarmee u de typen kunt instellen wanneer u maar wilt. En als u dat niet wilt, werkt normaal JavaScript ook prima. Het is een ontspannen versie van typecontrole.

Java regeert apparaten

Het populairste gsm-platform ter wereld is Android, een enorme stapel code die bovenop Java is gebouwd. Maar dat is slechts het meest zichtbare platform. Op settopboxen, nieuwe Chromebooks en zelfs sommige desktops worden Android-apps uitgevoerd, net als smartphones. Een naaste neef van Java, C #, domineert de Windows-wereld. C # is niet precies hetzelfde als Java, maar het komt heel dichtbij. Als je een applicatie gaat schrijven voor een vast stuk hardware, is de kans groot dat Java de beste keuze is.

Python heerst over data science

Als u software schrijft om met gegevens te werken, is de kans groot dat u Python wilt gebruiken. De eenvoudige syntaxis heeft veel wetenschappers verslaafd, en de taal heeft een sterke aanhang gevonden in de laboratoria in het hele land. Nu data science in alle lagen van de zakenwereld ingang vindt, volgt Python.

Een van de beste uitvindingen voor het maken en delen van interactieve documenten, de Jupyter Notebook, begon met de Python-gemeenschap voordat hij andere talen omarmde. Het is een van de beste manieren om software, gegevens en tekst te combineren die uitlegt wat er gebeurt. Lezers kunnen de woorden absorberen en vervolgens op knoppen drukken om de software op de gegevens uit te voeren.

JavaScript regeert het web

De andere platforms zijn misschien leuk, maar de webbrowser blijft de enige portal die bijna iedereen gebruikt om verbinding te maken met de wereld. Het is meestal de meest gebruikte software op de desktop, de smartphone en de tablet. JavaScript begon als de baas van deze lokale client en zijn invloed breidde zich uit tot totale dominantie toen de groei van Node.js het gemakkelijker maakte voor ontwikkelaars om dezelfde code op de client en de server uit te voeren.

Er zijn ook tientallen goede JavaScript-frameworks (Angular, React, Vue, etc.) die een basis bieden voor het bouwen van uw webapp en sommige zijn slim genoeg om uw code naar behoefte tussen de client en de server te verplaatsen. 

Zelfs in de werelden die worden gedomineerd door andere talen, werkt JavaScript zijn weg naar de stapel. Veel smartphone-ontwikkelaars slaan Java en Swift over om hun platformonafhankelijke apps in JavaScript te maken. JavaScript bepaalt tenslotte wat er in de rechthoek van de browser gebeurt en dat garandeert vrijwel dat het de beslissing neemt voor wat er overal met de meeste klikken en toetsaanslagen gebeurt.

Java voert alles uit

Als je Python-code schrijft, is de kans groot dat het in Jython wordt uitgevoerd, een implementatie van de taal die in Java is geschreven om te profiteren van de alomtegenwoordigheid van de Java Virtual Machine. Als je JavaScript nodig hebt, kun je het ook naar Rhino en Nashorn sturen, twee tools die JavaScript in Java-bytecode veranderen.

Deze twee talen zijn niet de enige die afhankelijk zijn van de solide prestaties van de JVM. Veel functionele programmeertalen zoals Scala, Clojure en Kotlin vertrouwen ook op dezelfde basis. Dit helpt iedereen door het eenvoudiger te maken om deze op JVM gebaseerde talen aan elkaar te koppelen als je ze in hetzelfde project wilt gebruiken.

Python draait overal

Python is niet de eerste keuze of zelfs de laatste keuze voor mensen die emulators voor andere talen schrijven. Toch is het op veel computers gemakkelijk om Python te vinden. De makers van de taal hebben de code altijd als open source gedistribueerd en de pakketten zijn vrijwel overal. Inderdaad, je zult Python vinden in MacOS en de meest complete distributies van Linux. En hoewel het niet is opgenomen in Windows, is het een fluitje van een cent om te installeren - doe het gewoon op een slimme manier.

JavaScript wordt in de browser uitgevoerd

Het is moeilijk te geloven dat de speelgoedtaal die is gebouwd om waarschuwingsvensters in de browser te maken, nu de basis vormt voor veel talen. Ontwikkelaars willen gebruikers bereiken en als gebruikers in de browser leven, is het vinden van een manier om uw code in JavaScript uit te voeren de snelste manier om iedereen te bereiken.

Het zijn niet alleen JavaScript-neven zoals CoffeeScript en LiveScript die naar JavaScript transpireren. Zelfs talen zoals Lisp, OCaml en Pascal kunnen worden geconverteerd naar JavaScript en in de browser worden uitgevoerd. Python is populair in de browser in projecten zoals de Jupyter-notebooks en zelfs Java kan naar JavaScript worden vertaald met tools zoals de Google Web Toolkit.

Java heeft sterke IDE's

Eclipse, NetBeans en IntelliJ zijn enkele van de best geïntegreerde ontwikkelomgevingen die er zijn. Ze zijn gemaakt door de Java-gemeenschap en door de jaren heen ontwikkeld om een ​​van de meest ondersteunende omgevingen voor het schrijven van code te creëren. De algoritmen voor het aanvullen van code en het genereren van code schrijven mogelijk niet al uw software weg, maar ze kunnen een aanzienlijk aantal typen. Dit alles in de hand houden helpt nieuwe ontwikkelaars echt om de syntaxis correct te krijgen. 

Deze IDE's waren zo populair dat ontwikkelaars uit andere talen een manier vonden om hun code erin uit te voeren. Als je een professionele Java-programmeur wordt, zul je er vrijwel zeker een gebruiken. Als je in de tussentijd een eenvoudigere en vriendelijkere Java-programmeerervaring wilt, probeer dan BlueJ of Greenfoot. Deze "beginners-IDE's" zijn speciaal ontworpen om Java te leren.

Python heeft de cloud

De Python-taal vond zijn eerste thuis in de wereld van Unix en daarom is het geen verrassing dat de wolken gevuld met Linux-boxen natuurlijke plaatsen zijn om veel Python-code te vinden. Sommige van de nieuwste tools zoals Jupyter bundelen code, gegevens en uitleg zodat mensen hun inzichten met anderen kunnen delen als onderzoeksdocumenten die tot leven komen. Jupyter-notebooks zijn geen statische documenten, maar interactieve hulpmiddelen om te verkennen.

Anderen bouwen geavanceerde tools rond de taal om het onderzoek te verbeteren. PyTorch is bijvoorbeeld een toolkit voor diep leren gevuld met code, gegevens en de algoritmen voor analyse. Omgevingen zoals deze zullen de toekomst van data science domineren.

Er zijn ook verschillende goede hosts voor notebooks die extra functies toevoegen voor het delen van gegevens en het verwerken van grote, intensieve rekenkundige gegevensanalysetaken. Google runt bijvoorbeeld het Colaboratory, dat uw gegevens opslaat en gratis toegang biedt tot GPU's voor snellere berekeningen. De Saturn Cloud prijst prestaties die mogelijk 100 keer sneller zijn dan uw desktop.

JavaScript heeft JSFiddle

Elke browser heeft meer dan voldoende kracht om als IDE te fungeren. JSFiddle is slechts de meest prominente van meer dan een dozijn websites waarmee u JavaScript-code kunt delen met andere ontwikkelaars. De webpagina's zijn echter niet statisch, omdat u met de code kunt spelen en deze op dezelfde webpagina kunt bekijken. Dergelijke tools maken het eenvoudig om te experimenteren met al het syntactische plezier van JavaScript.

Leer een van de - of alle drie

De programmeerwereld houdt van kruisbestuiving. Hoewel het verwarrend kan zijn om tussen verschillende talen te springen en de syntaxis recht te houden, is het mogelijk om alle drie de talen in projecten te gebruiken zonder al te vast te lopen. Java- of JavaScript-projecten die gegevens analyseren, kunnen worden gekoppeld in gegevenswetenschappelijke bibliotheken die in Python zijn geschreven. Of Python-projecten kunnen Java- of JavaScript-code aanroepen.

Slimme ontwikkelaars hebben ook tools gemaakt om de verschillende talen automatisch te vertalen, te linken en met elkaar te integreren. Wilt u Python-code in uw browser uitvoeren? Er zijn nu verschillende opties en waarschijnlijk komen er nog meer. Java heeft een ScriptEngine-klasse die JavaScript zal evalueren. Er zijn honderden verschillende talen die door vertaling of emulatie als JavaScript worden uitgevoerd.

Kortom, de drie talen hoeven geen eilanden te zijn, geïsoleerd van elkaar. U hoeft er op de lange termijn niet één te kiezen. Maar begin eerst met een.

Lees meer over softwareontwikkeling:

  • De beste gratis programmeercursussen tijdens lockdown
  • Wat is CI / CD? Continue integratie en continue levering uitgelegd
  • Wat is agile methodologie? Moderne softwareontwikkeling uitgelegd
  • Wat is een API? Application programming interfaces uitgelegd
  • De beste programmeertaal om nu te leren
  • De meest waardevolle vaardigheden van softwareontwikkelaars in 2020
  • 6 beste programmeertalen voor AI-ontwikkeling
  • De 24 best betalende ontwikkelaarsrollen in 2020
  • Full-stack ontwikkelaar: wat het is en hoe u er een kunt worden
  • 9 valkuilen die elke softwareontwikkelaar moet vermijden