Hoe u deze zomer een nieuwe programmeertaal kunt leren
Wat is er een beter doel om je deze zomer te stellen dan het leren van een nieuwe programmeertaal? Laat die "strandboeken" deze zomer maar liggen en richt je in plaats daarvan op het leren van een nieuwe programmeertaal – maar welke moet je kiezen?
Volgens EDC zijn er ongeveer 24 miljoen professionele softwareontwikkelaars op aarde, en bijna 700 bekende programmeertalen (volgens Wikipedia). Ik durf te wedden dat er een enorm aantal online platforms zijn waar je een of andere programmeertaal kunt leren. Of je nu al een van de 11 miljoen programmeerexperts bent, of een beginner in de wereld van programmeren, er is een overvloed aan informatie beschikbaar om door te sorteren.
Voor de doeleinden van dit blogbericht zullen we zeker kijken naar de meest gebruikte programmeertalen ter wereld in 2021, maar ook naar belangrijke talen voor dataverwerking en -opvraging. We zullen dus bespreken: C en de daarvan afgeleide talen (C++, C#, en Objective-C), Java, Python, R, JavaScript, Ruby, SQL en XQuery.
Het bepalen van waar u moet beginnen hangt volledig af van het soort ontwikkelingsscenario's dat u voor ogen heeft, dus we hebben de informatie voor u opgedeeld om het gemakkelijker te maken. Het maakt niet uit of u een ervaren programmeur bent die een nieuwe programmeertaal aan zijn repertoire wil toevoegen, of een beginner die nog niet weet wat het verschil is tussen C, C++, Objective-C of C#. We hebben een lijst met uitleg samengesteld om u te helpen kiezen welke taal u wellicht als volgende wilt leren.

Voordat we in detail kijken naar elke programmeertaal, laten we het hebben over de zes belangrijkste gebieden waar programmeertalen tegenwoordig worden gebruikt, en welke talen in welke context nuttig kunnen zijn. Dit geeft u een overzicht en een eerste indruk van welke taal wellicht het meest geschikt is om voor u te leren.
Mobiele applicaties
Wanneer u apps wilt ontwikkelen voor smartphones of tablets, wordt uw keuze van programmeertaal grotendeels bepaald door het platform waarvoor u wilt ontwikkelen. Als u zich wilt richten op iOS-apparaten, is Objective-C de standaardtaal. Voor Android is Java de standaard, en voor Microsoft Surface (en in het algemeen voor Windows 10- of 11-apparaten) is het C#. Als uw mobiele app een server-backend vereist die in de cloud draait, raadpleeg dan het volgende gedeelte over server-side ontwikkeling voor aanvullende talen. Als u alle drie de mobiele platforms wilt ondersteunen, en het leren van alle talen tegelijk te veel lijkt, raad ik u aan om te kijken naar cross-platform tools, zoals Altova MobileTogether, waarmee u één mobiele app voor alle platforms kunt bouwen vanuit één bron, met behulp van XQuery en visuele ActionTree-scripting.
Webontwikkeling
Voor het ontwikkelen van websites, zowel voor mobiele apparaten als voor traditionele desktopbrowsers, is JavaScript de programmeertaal die door de webbrowser wordt uitgevoerd. Natuurlijk wordt de hoofdinhoud van uw website geschreven in HTML5 en hopelijk worden alle opmaakinstellingen gecodeerd in CSS3-stijlbladen, maar die zijn op zichzelf geen programmeertalen. Tot nu toe heb ik alleen gesproken over de programmeerlogica aan de kant van de gebruiker (client-side).
Ontwikkeling aan de serverzijde
Of het nu gaat om de backend van een mobiele app of een traditionele webserver, er zijn tal van verschillende programmeertalen die geschikt zijn voor server-side ontwikkeling. Java, C#, Python, PHP en Ruby worden hier het meest gebruikt. Dit geldt zowel voor traditionele webservers als voor cloud-gebaseerde servers die mogelijk draaien op het AWS- of Azure-cloudplatform.
Traditionele pc- en desktopapplicaties
Hoewel Java- en Visual Basic-applicaties soms worden gebruikt in bedrijfsomgevingen, zijn de meeste desktopapplicaties voor pc's en blijven deze ontwikkeld in C, C++ of C#. Echter, talen zoals Python winnen aan populariteit, zelfs op de desktop, als scripttaal voor het automatiseren van veelvoorkomende taken.
Wetenschappelijk rekenen
Voor data-analyse, statistiek en geavanceerde wiskunde zijn er drie speciale programmeertalen die veel gebruikt worden: Matlab, Mathematica en R. Alleen al op basis van populariteit heeft R de afgelopen jaren de andere twee ver achter zich gelaten, dus ik zal hieronder alleen over R spreken.
Inbedbare apparaten en het Internet of Things
Wat betreft embedded systemen, zijn C en C++ nog steeds de meest gebruikte programmeertalen. Dit vakgebied is de afgelopen jaren zeker in beweging geweest, aangezien steeds meer embedded systemen en IoT-apparaten steeds vaker complete Linux-computers worden. Echter, voor softwareontwikkeling die zeer dicht bij de hardwarelaag ligt, en voor veel functies van besturingssystemen en apparaatdrivers, blijven de kracht, snelheid en efficiëntie van C de belangrijkste redenen waarom deze taal nog steeds de beste keuze is voor dit vakgebied.
Databasevragen en dataverwerking
Ongeacht welk van de bovenstaande gebieden u voor ogen heeft, zult u vrijwel altijd ook een programmeertaal nodig hebben waarmee u een deel van een dataset uit een database kunt opvragen. Hoewel Hadoop/MapReduce en andere platforms die zich richten op big data momenteel veel aandacht krijgen, bestaat SQL – de Structured Query Language – al sinds de jaren 70 en is het nog steeds de meest gebruikte database-querytaal, ondersteund door alle belangrijke databasesystemen.
Naast SQL raad ik ook aan om eens goed naar XQuery te kijken, de XML-querytaal, omdat tegenwoordig veel data beschikbaar is in XML- of JSON-formaat, en XQuery is een zeer krachtige functionele taal voor het efficiënt verwerken van dergelijke data. Met name geavanceerde mobiele tools, zoals Altova MobileTogether, gebruiken XQuery om functioneel programmeren mogelijk te maken voor het verwerken van data uit verschillende bronnen, waaronder XML, JSON, HTML en SQL-databases.

Nu ik u een overzicht heb gegeven van waar deze talen het vaakst worden gebruikt, hoop ik dat u een idee heeft van welke taal wellicht geschikt voor u is om als volgende te leren. Laten we nu in detail bespreken welke talen dat zijn en waar u ze online kunt leren:
C
C en de daarvan afgeleide talen (C++, C#, en Objective-C) zijn programmeertalen voor algemene doeleinden, en C is al lang populair sinds het baanbrekende boek van 1978, "The C Programming Language", geschreven door Kernighan en Ritchie. Als u serieus bezig bent met een carrière in de informatica, is kennis van C nog steeds essentieel, maar ik zou het niet aanraden als een goede keuze om mee te beginnen voor beginners, omdat het voornamelijk wordt gebruikt voor werk aan hardwaregerelateerde of andere applicaties op laag niveau. C is oorspronkelijk ontwikkeld voor gebruik op het UNIX-besturingssysteem en wordt tegenwoordig het vaakst gebruikt voor het implementeren van besturingssystemen, apparaatdrivers en embedded applicaties.
Plaatsen waar u C kunt leren: https://alison.com/courses/Diploma-in-Programming-in-C https://www.udemy.com/c-programming-for-beginners/ http://c.learncodethehardway.org/book/
C++
C++ is afgeleid van C en bestaat al geruime tijd. Om de taal te leren, is ten minste een gemiddeld niveau van programmeerkennis vereist. C++ heeft imperatieve, object-georiënteerde en generieke programmeerfuncties, waardoor het enorm krachtig is, maar ook een begrip van verschillende geavanceerde concepten uit de informatica vereist om het volledig te beheersen. Deze taal wordt voornamelijk gebruikt voor het ontwikkelen van systeemsoftware, videospellen, applicatiesoftware en client/server-applicaties, evenals serversoftware voor cloudomgevingen.
Plaatsen waar u C++ kunt leren zijn onder andere: http://www.learncpp.com/ http://www.cplusplus.com/doc/tutorial/
C#
C#, oorspronkelijk ontworpen door Microsoft als onderdeel van hun .NET-initiatief, wordt gebruikt om softwaretoepassingen te ontwikkelen voor Windows-platforms. Omdat C# een essentieel onderdeel is van het .NET-framework, is dit de juiste programmeertaal voor u als u software wilt ontwikkelen voor Microsoft. Het lijkt sterk op Java, dus als u al bekend bent met één van beide, is het relatief eenvoudig om de andere te leren. Net als Java is C# oorspronkelijk ontwikkeld om objectgeoriënteerde programmeerconcepten te brengen naar een taal die lijkt op C, maar dan zonder de complexiteit van C++.
Plaatsen waar u C# kunt leren: https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/ https://channel9.msdn.com/Series/C-Fundamentals-for-Absolute-Beginners
Java
Java is een object-georiënteerde programmeertaal en momenteel een van de meest gebruikte talen. Programmeurs waarderen Java omdat het, door zijn ontwerp, gemakkelijk te gebruiken is op verschillende platforms. Java is een veelzijdige taal en kan worden gebruikt voor het ontwikkelen van mobiele apps, servertoepassingen en bedrijfssoftware.
Plaatsen waar u Java kunt leren: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/ https://www.codecademy.com/edn/courses/learn-java/
R
R is een gespecialiseerde programmeertaal die wordt gebruikt voor statistische analyses en grafieken, waaronder bivariate analyses en correlaties. Deze taal wint aan populariteit vanwege de grote vraag naar data science, zowel in de academische wereld als in het bedrijfsleven, waar data visualisatie en analyse essentieel zijn voor de voortgang van projecten. R is een uitstekende keuze als u een data-analyseproject wilt uitvoeren, of als u zich beperkt voelt door de eenvoudige mogelijkheden van Excel, die te primitief zijn om complexe correlaties in uw data volledig te analyseren.
Plaatsen waar u R kunt leren zijn onder andere: https://cran.r-project.org/manuals.html https://www.edx.org/course/r-programming-fundamentals https://www.datacamp.com/courses/free-introduction-to-r

Python
Python, die vaak wordt geprezen als een van de gemakkelijkste programmeertalen om te leren, is een veelzijdige, hoogwaardige scripttaal. Het wordt gebruikt voor het maken van allerlei toepassingen, van websites en mobiele apps tot data-analyse. Python beschikt over een uitgebreide en complete standaardbibliotheek. Vanwege de eenvoud is Python ook een van de meest gebruikte programmeertalen in Amerikaanse scholen. Als u nieuw bent in de wereld van programmeren, is dit zeker een uitstekende plek om te beginnen.
Plaatsen waar u Python kunt leren: https://www.python.org/doc/ http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2011/ https://developers.google.com/edu/python/?hl=en
Robijn
Ruby is een andere uitstekende scripttaal die de afgelopen 10-15 jaar populair is geweest, maar tegenwoordig lijkt de populariteit iets af te nemen. Het wordt gebruikt voor het ontwikkelen van websites en mobiele applicaties. Deze open-source taal heeft een toegewijde gemeenschap erachter, waardoor het veel gemakkelijker is om bronnen te vinden om Ruby te leren. Ruby is in de midden jaren '90 in Japan ontwikkeld door Yukihiro Matsumoto, die elementen uit enkele van zijn favoriete talen (Perl, Smalltalk, Eiffel, Ada en Lisp) combineerde om een nieuwe taal te creëren die inherent objectgeoriënteerd en functioneel is.
Plaatsen waar u Ruby kunt leren zijn onder andere:
https://www.ruby-lang.org/en/documentation/quickstart/
https://rubymonk.com/
JavaScript
JavaScript is een programmeertaal die gebaseerd is op Java en die vaak wordt gebruikt om functionaliteit toe te voegen aan HTML-webpagina's. Het is een relatief eenvoudige taal om te leren, en er zijn veel praktische tutorials online beschikbaar om u op weg te helpen. Het wordt meestal uitgevoerd in een webbrowser, hoewel andere server-applicaties ook mogelijk zijn. In de afgelopen jaren is JavaScript ook steeds meer toegepast in andere gebieden, waaronder mobiele apps en zelfs sommige embedded systemen.
JavaScript gebruikt een ingebouwd serialisatieformaat om objecten uit het geheugen naar een schijf of een datastroom te schrijven. Dit formaat heet JSON (JavaScript Object Notation). JSON is populair geworden voor het verzenden van gegevens tussen computers, op een manier die vergelijkbaar is met XML. Het is een snelle en efficiënte manier om data over te dragen. Kennis van JavaScript stelt u in staat om ook JSON en JSON Schema goed te beheersen, beide essentiële elementen voor het ontwikkelen van webapplicaties en webdiensten.
Plaatsen waar u JavaScript kunt leren zijn onder andere: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide https://www.codecademy.com/tracks/javascript
SQL
SQL, of Structured Query Language, is een database-querytaal die wordt gebruikt voor het beheren van gegevens in relationele databases. Wie zou SQL moeten leren? Iedereen! SQL is overal aanwezig, en het is niet zo moeilijk om het te leren. Als u ooit gegevens uit een database wilt ophalen of bewerken (en laten we eerlijk zijn, wie zou daar niet baat bij hebben), dan is dit een uitstekende taal om te leren.
Plaatsen om SQL te leren: https://www.codecademy.com/learn/learn-sql http://www.sqlcourse.com/ http://www.w3schools.com/sql/ http://www.tutorialspoint.com/sql/
XQuery
XQuery is een functionele programmeertaal die is ontworpen voor het opvragen en transformeren van XML- en JSON-gegevens. Volgens het W3C vervangt XQuery complexe Java- of C++-programma's met slechts een paar regels code, omdat het eenvoudiger te gebruiken en gemakkelijker te onderhouden is. XQuery is nu ook de voorkeurs taal voor krachtige dataverwerking vanuit een breed scala aan databronnen op mobiele platforms, zoals Altova MobileTogether. XQuery is zeer krachtig en geen moeilijke taal om te leren.
Plaatsen om XQuery te leren: https://www.altova.com/training/xquery3/ https://www.w3schools.com/xml/xquery_intro.asp http://www.tutorialspoint.com/xquery/
Naast al deze online bronnen, zijn er ook veel uitstekende boeken over al deze talen verkrijgbaar op Amazon. Zorg er dus voor dat u ook die bekijkt en lees de beoordelingen van andere klanten voordat u besluit welke u wilt kopen.

Je kunt geen verkeerde programmeertaal kiezen om aan je repertoire toe te voegen; in feite zal elke taal die je leert je aantrekkelijkheid op de arbeidsmarkt alleen maar vergroten. Duik er dus in en begin deze zomer met het leren van een nieuwe programmeertaal!