Programmeren: welke taal?

Er wordt mij wel eens gevraagd: ik wil gaan programmeren; wat is de beste programmeertaal?

De beste programmeertaal bestaat volgens mij niet. Bovendien, welke taal het meest geschikt is is ook afhankelijk van het soort problemen dat je wilt oplossen, de meeste talen zijn ontworpen voor bepaalde soorten problemen.

Tafel van 7 in Perl

for $i (1..10)
{ print "$i * 7 = ", $i*7, "\n"; }

Tafel van 7 in C

#include <stdio.h>
int main()
{
  int i;
  for (i=1; i<=10; i++)
    printf("%d * 7 = %d\n", i, i*7);
  return 0;
}

  • Zo is 'Perl' bijvoorbeeld erg geschikt om dingen makkelijk te automatiseren (web sites, systeembeheertaken), en programmeert heel snel, omdat het erg krachtige taalconstructies kent. Maar Perl is wat minder snel als bijvoorbeeld C doordat het een script-taal is. Andere talen in deze groep zijn bijvoorbeeld PHP (speciaal voor web pages), Python en Ruby.
  • C en C++ zijn weer erg snel, dus bijvoorbeeld erg geschikt voor real-time applicaties (als spelletjes), en laten zich mooi in een .exe compileren om makkelijk op een andere computer te installeren, maar zijn weer wat moeilijker. Andere talen in deze groep zijn bijvoorbeeld Pascal en Fortran.
  • Visual Basic is weer erg geschikt voor office automatisering omdat het erg goed samenwerkt met Microsoft office pakketten (wordt gebruikt voor b.v. de macro's in de office pakketten).
  • JavaScript wordt veel gebruikt om webpagina's te voorzien van programmaatjes (scripts), bijvoorbeeld om mooie menu's te maken. Ook Java en Flash worden voor dit doel gebruikt.
  • Vroeger heb ik veel in Forth gedaan: goed voor low-cost robotjes en zo, onder andere omdat het erg weinig geheugen en hardware nodig heeft. Maar, 'anders'....
  • En er zijn duizenden andere programmeertalen beschikbaar, en voor elke taal zijn wel mensen te vinden die zeggen dat dat de beste is. Ook hier geldt: smaken verschillen. Kijk bijvoorbeeld eens op programmeertalen.startkabel.nl.
  • Op zoek naar een gratis compiler voor een of andere taal (Ada, Cobol, C, Forth, Pascal, Haskell, Java, Python, Ruby, ...)? Kijk eens op deze pagina met gratis compilers van TheFreeCountry. Ook voor andere gratis programming bronnen.
  • Voor sommige zaken wil je specifieke programmeertalen. Zo is voor rekenwerk als signaalbewerking Matlab een standaard pakket. Een gratis open source equivalent hiervan is Octave (en hier de Windows Octave download te vinden).
  • HTML is geen programmeertaal!!! Maar een taal om de structuur van webpagina's te beschrijven (ook vaak gebruikt voor layout, maar eigenlijk is CSS daar de methode voor).

186 programmeertalen voor het afdrukken Hello, World? Kijk eens op WikiPedia: List of hello world programs.

Bovendien moet je niet alleen kijken naar de taal, maar ook wat er al bijvoorbeeld voor hulpmodules voor die taal aanwezig zijn, bijvoorbeeld via andere hobbyisten (modules bij Perl, libraries voor C, etc). Bijvoorbeeld om grafische dingen te kunnen (b.v. Allegro library voor C), muziek te spelen en zo voort, zodat je dat ook niet allemaal zelf moet doen. In het algemeen: hoe bekender de taal, hoe meer je van anderen kunt lenen.

Als je wilt leren programmeren is de taal waar je het 'meest mee kunt' (niet vanuit technisch oogpunt, maar gezien de marktvraag) C++, al is het niet het makkelijkst om mee te beginnen. Maar, ik moet eerlijk zeggen dat ik meer in Perl programmeer; is wat makkelijker, en sneller met programmeren (maar dus niet met het uiteindelijke programma draaien, dat is voor mij echter vaak niet zo van belang). Ook gebruik ik Perl voor CGI-scripts op de servers. Alleen bijvoorbeeld spelletjes als PinPin programmeer ik in C of C++, vanwege de snelheid, en omdat de gemaakte programma's makkelijker op andere computers draaien. (En soms voor web pages: JavaScript).

Hoe maak je statistische data zichtbaar? Wat voor haken en ogen zitten er aan? Op DoloresLabs is het een en ander te zien, met "De programmeertaal met de meeste blije gebruikers" als recente toevoeging. Bepaald met twitter. Passend voor deze pagina, en ik kan me vinden in het antwoord...

Er zijn heel wat beginnersboeken over bijvoorbeeld C++, maar (omdat ik zelf al lang geen beginner meer ben) ik weet zo snel geen titels. Ook op internet zijn veel tutorials te vinden (Google eens op de naam van de taal plus trefwoorden als 'tutorial' of 'handleiding').

Wat erg belangrijk is is dat je echt een toepassing moet hebben, een eerste programma zogezegd. Wat wil je (als eerste stap) gaan maken? Heb je geen doel, dan blijft er bij het leren van de taal niets hangen, omdat je geen praktijk er aan kan koppelen. Wat een geschikt beginprogramma is is voor iedereen verschillend, maar pak niet iets te moeilijks (desnoods de tafels van 10)! Ik ben ook niet gelijk met mijn spel PinPin begonnen.

Zowel C++ als Perl zijn gratis op het internet te vinden (zie mijn C en Perl paginas), en JavaScript kan je via je browser gebruiken.