Leer een programmeertaal

Webprogramming

Clientside scripting

Alle interactie met een webpagina waarvoor geen nieuwe webpagina hoeft te worden geladen is clientside omdat het script wordt uitgevoerd op de computer van de gebruiker, in de webbrowser. De taal die hiervoor gebruikt wordt is JavaScript.

Als JavaScript gebruikt wordt om nieuwe informatie in de pagina te brengen zonder dat hiervoor de pagina ververst hoeft te worden, heet dit Ajax. Ajax is dus geen aparte programmeerstijl, maar eerder een bepaalde stijl van programmeren die specifieke functionaliteit van JavaScript benut. De scripting-taal van Flash is Actionscript, en is op JavaScript gebaseerd. Wat je voor Javascript leert kun je grotendeels ook in Actionscript toepassen en andersom.

Omdat JavaScript zelf inconsistenties kent, en omdat het in verschillende browsers verschillend geïnterpreteerd wordt, schreven programmeurs in eerste instantie vaak dezelfde functionaliteit meerdere keren, voor verschillende situaties. Frustratie hierover leidde tot de opkomst van Javascript Frameworks. Dit zijn scripts die abstraheren van de onhebbelijkheden van de verschillende browsers, waardoor je als programmeur je op de functionaliteit van je script kunt richten. Goed en populair zijn o.a. Jquery, MooTools en Dojo.

Zie ook http://en.wikipedia.org/wiki/Client-side_JavaScript.

Serverside scripting

Voor grote websites is het ondoenlijk om alle HTML zelf te schrijven. Deze wordt meestal dynamisch gegenereerd door de webserver. Omdat dit al op de webserver gebeurt merk je hier als gebruiker niets van, daarom heet het serverside.

Net als bij Javascript bewerkstellig je dit door het schrijven van scripts. Je hebt hier echter meer keuze in talen. Python, PHP en Perl worden het meest gebruikt. Hip is momenteel Ruby on Rails.

PHP is de meest gebruikte taal door beginners. Vrijwel alle hostingproviders ondersteunen het en de documentatie is uitstekend. De taal maakt het je gemakkelijk: er zijn veel ingebouwde functies, en de syntaxis staat veel slordige programmeergewoontes toe. Juist door zijn toegankelijkheid heeft de taal ook een slechte naam, omdat het makkelijk is onveilige (en meer subjectief, ‘lelijke’) code te schrijven.

Los van welke taal je kiest, het is het slimst om je niet zozeer te richten op het leren van één specifieke taal, alswel op de principes die aan programmeren ten grondslag liggen. Dan zul je ook zien dat de keuze voor een taal altijd samenhangt met de toepassing: een programmeertaal is een medium.

Compiled languages

De belangrijke webprogrammeertalen zijn scripted languages. Het verschil tussen een scripted language en een compiled language is dat je een script nooit rechtstreeks uit kunt voeren, dat doet de interpreter: een programma dat het script omzet naar computercode. Dat gebeurt run-time, op het moment dat je het script uitvoert.

Een computerprogramma zoals dat op je PC staat werkt niet zo. De programmeercode die hieraan ten grondslag lag is al vantevoren omgeschreven naar computercode, door een compiler. Het voordeel hiervan is dat het sneller en efficiënter werkt. Het nadeel is dat je een al gecompiled programma niet meer gemakkelijk aan kunt passen, dit i.t.t. een script.

Als je toch gaat leren programmeren, dan kun je net zo goed ook een compiled language leren. Dit is namelijk de enige manier om van je code op zich zelf staande programma’s te maken.

De eerste moderne programmeertaal is C. C++ is een uitbreiding hierop. De basis voor de meeste computerprogramma’s wordt geschreven in een van deze talen. Het handigst is om C++ te leren uit een boek dat ook de verschillen met C behandelt, zodat je allebei de talen tegelijkertijd leert.

Bij het schrijven van een volwaardig computerprogramma komt nog meer kijken. Computerprogramma's moeten vaak met het besturingssysteem communiceren. Dit kan rechtstreeks, maar dan zou je voor elke verschillende variant van een systeem verschillende code moeten bijhouden. Net als bij JavaScript is het slimmer om hiervan te abstraheren: De makers van besturingssystemen schrijven dan ook vaak verzamelingen functies die toegang tot het besturingssysteem vergemakkelijken: dit heet een API (Application Programming Interface). Programmeurs hoeven zich zo minder met technische details bezig te houden. Een coherente verzameling API's is een framework.

De fabrikanten doen dit omdat het in hun voordeel is als programmeurs voor hun systeem programma’s schrijven. Bovendien hopen ze dat als programmeurs aan het ene framework gewend zijn, ze niet snel programma’s voor het systeem van de concurrent gaan schrijven. De belangrijkste fabrikanten van besturingssysteem gaan zelfs zo ver dat ze aparte programmeertalen propageren voor hun frameworks. Microsoft en Apple bieden respectievelijk het .NET framework met de C# taal, en het Cocoa framework met de Objective-C taal.

Geen TrackBacks

TrackBack URL: http://kabk.ericschrijver.nl/edulab/mt-tb.cgi/7

Laat een reactie achter