View profile

Tech op het web uitgelegd - Programmeertalen

Jos van Essen
Jos van Essen
In deze nieuwsbrief wil ik het hebben over programmeertalen. Ik weet zeker dat je daar wel eens iets over hebt gehoord.
Waarom is het als niet-ontwikkelaar handig om iets te weten over programmeertalen? Een aantal voorbeelden.
  • Webbureaus hebben vaak sterke voorkeur voor een programmeertaal waarin wordt gewerkt. Als dit een hele exotische taalkeuze is dan heb je in de toekomst weinig opties. Raak je in onmin met het bureau dan moet je nog maar zien of er iemand verder kan werken aan je applicatie. Ombouwen naar andere talen is vaak duur en complex.
  • Wanneer je vacatures hebt voor ontwikkelaars en hun CV’s ontvangt dan wil je uiteraard graag weten wat deze mensen precies kunnen. Ik hoop dat dit je een korte introductie geeft.
Het is voor de hand liggend zijn om programmeertalen te vergelijken met ‘echte’ talen: ze hebben allemaal een eigen schrijfwijze, werkwoorden en eigen regels en net als echte taal hebben ze ook veel dingen met elkaar gemeen. Sterker nog: veel programmeertalen zijn niet geheel uniek en lijken op elkaar. Van één programmeertaal kunnen ook meerdere varianten bestaan, zoals de programmeertaal C, C# en C++.
Het feit dat veel concepten in programmeertalen overlappend zijn zorgt er voor dat ervaren programmeurs goed uit de voeten kunnen in meerdere talen. Hier geldt overigens het credo: easy to learn, difficult to master: het feit dat je een bepaalde programmeertaal kúnt wil niet zeggen dat je hiermee ook productie-waardige code kunt schrijven. Daarover later meer.
Laten we de populairste programmeertalen eens onder de loep nemen, inclusief de context waarin je deze vaak ziet.
PHP
PHP is voor puristen geen ‘echte’ programmeertaal maar een scripttaal. Het verschil hiertussen is niet zo interessant: PHP is nog steeds veruit de meest populaire programmeertaal voor het web. 
Dit heeft een aantal redenen:
  • Er zijn erg veel kant- en klare- software om mee te starten, de zogenoemde frameworks. Hierover gaat de volgende nieuwsbrief volledig over
  • Het is een relatief eenvoudige taal, en het staat veel vrijheid toe in de manier waarop je dingen aanpakt
  • Het werkt bijna op iedere server, in iedere omgeving. Hierover ook later meer in een nieuwsbrief
  • Er zijn grote populaire open source projecten ontwikkeld in PHP, denk aan WordPress
De meest recente versie van PHP is versie 8.0.
Ruby
Ruby is een ietwat exotische taal. Je zult het vaak tegenkomen in de combinatie met ‘Rails’ of RoR. Even snel verschillen: Ruby is een programmeertaal, en Ruby on Rails is een framework voor de Ruby programmeertaal (nogmaals, hierover volgende week meer). Dit betekent niet dat het het enige framework is: Ruby is prima te gebruiken als programmeertaal op zichzelf.
Het voordeel: Ruby is gebouwd om zo vriendelijk mogelijk te zijn: het gebruikt bijna geen dingen als haakjes, brackets ({) of (;) om dingen te doen. Dit maakt de code heel leesbaar.
Ruby is een vrij specifieke programmeertaal. Hierom zijn ontwikkelaars vaak moeilijk te vinden, en daarom ook relatief duur. Houd er rekening mee dat Ruby zich niet zomaar op allerlei servers laat installeren.
Leuk weetje: Ruby on Rails werd bedacht door de makers van Basecamp en wordt daar intensief gebruikt (en onderhouden).
.NET
.Net is de opvolger van ASP.net, een programmeertaal die erg veel wordt gebruikt binnen zakelijke omgevingen. .NET is bedacht en ontwikkeld door Microsoft en biedt een heleboel gereedschap om relatief snel ingewikkelde software te ontwikkelen. Als ontwikkelomgeving is Windows wel aan te raden. De afgelopen jaren heeft Microsoft een flinke inhaalslag gemaakt met zowel eigen gemaakte software als acquisities die het leven van ontwikkelaars een stuk eenvoudiger maken. Zo is Microsoft Visual Studio ineens een populaire code-editor geworden en kocht Microsoft in 2018 het populairste versiebeheersysteem Github. Ook het cloud-landschap van Microsoft, genaamd Azure, is zeer geschikt voor het hosten van .net applicaties.
Java
Veel mensen die weinig tot niets van techniek weten verwarren Java met JavaScript. Het is belangrijk om dit niet te doen, want Java is totaal anders en kan ook hele andere dingen. 
Ga er maar vanuit dat je de term JavaScript veel vaker zult tegenkomen in een online-omgeving. In een (server) applicatie-omgeving zoals binnen banken of verzekeraars zul je af en toe Java tegenkomen maar ook Google gebruikt Java intensief voor onder andere het zoek-algoritme. Java is een gecompileerde taal. Dit wil zeggen dat code na het schrijven wordt omgezet in andere (machine) taal die door computers sneller is te lezen. Dit heet een compiler.
Leuk weetje: deze compiler voor Java is geschreven door een Nederlander: Arthur van Hoff.
Javascript
Javascript is één van de populairste- en opkomende talen van de afgelopen jaren. Werd JavaScript oorspronkelijk vooral gebruikt voor simpele taakjes op een website zelf, zoals bezoekstatistieken of bijvoorbeeld het tonen van een klokje: tegenwoordig is JavaScript een belangrijke motor van veel slimme webapplicaties.
Om je alvast te waarschuwen: dit gaat een wat langer hoofdstuk worden.
JavaScript wordt lokaal door je browser uitgevoerd. Dit betekent dat je browser de JavaScript code bekijkt, uitvoert én toont. Een flink aantal jaar geleden kwam er ook een broertje bij: JavaScript dat draait op de server: Node.js. Node is geen eigen programmeertaal maar dus ook JavaScript.
Nu wordt het allemaal iets ingewikkelder. Node is dus JavaScript dat op de server precies dezelfde dingen kan als jouw browser met JavaScript. Bijvoorbeeld een klokje tonen. Alleen: dan draait er een klokje op een webpagina óp de server. Niemand kan dat zien. Dat slaat toch nergens op? Inderdaad. Laten we eens naar een scenario kijken.
Je hebt een website die allemaal Foodtrucks laat zien die je kunt boeken voor een festival.
Je klikt op het menu op ‘foodtrucks in Amsterdam’. Er gebeuren nu een paar dingen. Javascript zoekt een zoekopdracht op de server naar 10 resultaten van foodtrucks die als locatie ‘Amsterdam’ hebben. Het resultaat hiervan wordt getoond op de website.
Je scrollt door de lijst van foodtrucks en je besluit dat je er nog meer wil zien. Je scrollt verder omlaag en magisch verschijnen er nog meer resultaten op de pagina.
Dit is ook het werk van JavaScript. JavaScript kan ‘onder water’ nieuwe elementen op de pagina weergeven. Hierdoor krijg je effecten als ‘infinite scrolling’ waarmee je nooit de onderkant van de pagina haalt, zoals bijvoorbeeld op Pinterest.com het geval is.
Voor JavaScript zijn heel veel frameworks verschenen waar je ook waarschijnlijk wel eens over hebt gehoord, Angular, React en Vue zijn de populairsten.
Python
Ook Python heeft een Nederlands sausje, want is bedacht en gemaakt door Guido van Rossum in 1989. 
Python wordt door liefhebbers een intuïtieve taal genoemd en wordt onder andere veel onderwezen op universiteiten. Dit komt omdat Python relatief eenvoudig te leren is door de eenvoudige syntax. Het is een taal die zich ook uitstekend leent voor data-analyse, machine learning en artificial intelligence dus ook in deze context zul je Python vaker tegen komen. 
Exoten
Er zijn ook allerlei talen die ik even op een hoop heb gegooid omdat je ze ofwel niet meer zo vaak ziet, ofwel omdat ze heel erg klein zijn qua ontwikkelaars die hier mee uit de voeten kunnen. Het wil overigens niet zeggen dat er iets mis mee is: de eerste versies van WhatsApp waren gebouwd in Erlang, en deze staat ook in dit lijstje. 
Dit zijn de exoten die je nog steeds wel tegen komt: Closure, COBOL, Dart, Erlang, Haskell, Kotlin, R, Rust, en Scala.

Did you enjoy this issue? Yes No
Jos van Essen
Jos van Essen

JSON, API's, webtokens, CI deployments, JavaScript, Tag Manager: we horen allemaal regelmatig termen voorbij komen waarvan we niet 100% zeker weten of we het ook daadwerkelijk begrijpt. Deze nieuwsbrief laat een licht schijnen op deze materie: tech voor op het web uitgelegd

In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Created with Revue by Twitter.