12 vernieuwende programmeertalen

door

code, coding, developers

door

Achtergrond - Hebben we echt nog meer programmeertalen nodig, vraag je jezelf misschien af? Er is immers keuze genoeg. We zitten immers al met diverse imperatieve, functionele, object-georiënteerde, dynamische, gecompileerde, geïnterpreteerde en scriptingtalen opgescheept. Je kunt van geen programmeur verwachten dat ze alle beschikbare opties onder de knie krijgen.

Toch verschijnen er regelmatig nieuwe talen. Sommige komen voort uit studenten- of hobbyprojecten, terwijl anderen worden gelanceerd door grote IT-leveranciers. Zelfs het MKB neemt aan deze trend deel door talen gericht op specifieke branches te ontwikkelen. Waarom wordt het wiel steeds opnieuw uitgevonden?

Lees ook:
'Java en C++ niet meer van deze tijd'
Er zijn te weinig programmeertalen
C passeert Java als populairste taal

Het antwoord is dat, hoe veelzijdig en krachtig de huidige populaire talen ook mogen zijn, er geen syntaxis bestaat die voor elk doel ingezet kan worden. Daarnaast evolueert ook het programmeren zelf door de constante veranderingen in hard- en software (denk maar aan multi-core CPU's, mobility en cloud). Het is voor talen ontzettend moeilijk om daar steeds opnieuw ondersteuning voor te bieden. Soms is het beste om met een schone lei opnieuw te beginnen.

Dit zijn twaalf vooruitstrevende programmeertalen die allen de kunst van softwareontwikkeling op een andere manier benaderen, een specifiek probleem tackelen of een tekortkoming van een huidige populaire taal goedmaken. Een aantal hiervan zal altijd obscuur blijven, terwijl anderen echt kunnen doorbreken en voor veel programmeurs onontbeerlijk worden.

1. Dart

JavaScript werkt prima om eenvoudige interactie aan webpagina's toe te voegen, maar wanneer je webapplicaties gaan bestaan uit duizenden lijnen code, wordt dit systeem enorm kwetsbaar. Daarom heeft Google de taal Dart in het leven geroepen, een taal die erg lijkt op JavaScript. Groot verschil is echter dat objecten in Dart worden gedefinieerd met classes en interfaces, net als in C++ en Java. Daarnaast zijn er nog wat veranderingen die maken dat het een minder statische taal is dan JavaScript, die bovendien makkelijker te onderhouden en minder vatbaar voor bugs is.

2. Ceylon

Bij Red Hat wordt gewerkt aan Ceylon, dat al in sommige kringen bekend staat als een "Java-killer'. Ontwikkelaar Gavin King is fan van Java, maar denkt dat er voldoende ruimte is voor verbetering. Met name Java's verbose syntaxis, het gebrek aan 'first class' en hogere functies in Java en de slechte ondersteuning voor meta-programmeren maakt dat King denkt dat Java toe is aan vervanging. Het grootste euvel van Java is in de ogen van King het ontbreken van een declarative syntaxis voor gestructureerde datadefinities. Ceylon moet deze problemen oplossen en zou binnenkort met een eigen SDK komen.

3. Go

Interpreters, virtuele machines en managed code zijn ontzettend populair vandaag de dag. Waarom zouden we dan behoefte hebben aan een taal die compileert naar native binair formaat? Volgens Google engineers Robert Griesemer, Ken Thompson en Rob Pike leeft die behoefte wel degelijk.

Go is bedoeld als algemene taal die zowel geschikt moet zijn voor applicatieontwikkeling als systeemprogrammeren. Daarmee is de taal breder opgezet dan Java en C# en komt het meer in de richting van C en C++. Go kent moderne functies als garbage collection, runtime reflection en ondersteuning voor concurrency.

Go is bedoeld als eenvoudige dynamische scriptingtaal met de kracht van een compilertaal: de syntaxis lijkt op C, maar een stuk meer gestroomlijnd en ontdaan van redundante syntaxis. De taal kent nog geen officiële specificatie, maar je kunt er wel alvast mee aan de slag.

4. F$

Functioneel programmeren is al decennia lang in trek bij computerwetenschappers en academici, maar pure functionele talen als Lisp en Haskell werden vaak gezien als onwerkbaar voor gangbare softwareontwikkeling. Een vaak gehoorde klacht is dat de functionele code moeilijk te combineren valt met imperatieve talen als C++ en Java.

F# (spreek uit: 'F-sharp') is een taal van Microsoft die bedoeld is om zowel functioneel als praktisch te zijn. De taal is gebaseerd op .NET Common Language Runtime (CLR) en kan daarom deze bibliotheken en functies aanroepen als andere CLR-talen als C# en Visual Basic.

De taal maakt onderdeel uit van Visual Studio 2010, maar de F# compiler en core library zijn ook beschikbaar onder de Apache open-source licentie, waardoor je er ook mee in Mac en Linux kunt werken via de Mono runtime.

5. Opa

Webontwikkeling is erg ingewikkeld. Zelfs de meest eenvoudige webpagina's vragen om talloze lijnen code in meerdere talen: HTML en JavaScript aan de cliëntzijde, Java of PHP aan de serverkant, SQL in de database, enzovoorts.

Opa vervangt deze talen niet afzonderlijk, maar allemaal tegelijk. In een Opa-applicatie, worden zowel de client UI, de server logica en de database I/O allen in dezelfde taal geschreven. Opa bereikt dit door een combinatie van client- en serverside raamwerken. De Opa-compiler bepaalt wanneer een proces op de client, server of beide draait en maakt daar de code voor. Dit resulteert uiteindelijk in minder complexe applicaties. Opa is open-source en nu beschikbaar.

6. Fantom

Ontwikkel jij applicaties voor Java of .Net? Als je ontwikkelt in Fantom hoef je niet te kiezen en kun je gaandeweg het proces wisselen. Het Fantom-project kent namelijk een compiler die zowel code naar JVM of .Net CLI kan exporteren, maar ook een set API's die Java en .Net API's overbodig maken door een extra laag toe te voegen. Fantom is beschikbaar onder het Academic Free License 3.0 en is te downloaden voor Windows, Linux, Unix en Mac OS X.

eerst ▾ Reacties

De reacties worden ingeladen...

Insider naam

 
{$quantity}%

Mijn insider overzicht Uitloggen

Briefcase({$quantity}) Mijn Downloads({$quantity})

Word insider

  • Exclusieve content
  • Achtergrond verhalen
  • Praktische tips

Topbedrijven met ICT vacatures

25 SEPTEMBER: IT INNOVATION DAY
 
dagen
:
 
uren
:
 
min.
:
 
sec.

Computerworld nieuwsbrief

Ontvang tweemaal per week een overzicht van de laatste achtergrondartikelen in uw mailbox.