Om een computer opdrachten te laten uitvoeren moet men hem laten weten wat men wil dat hij doet. Meestal gebeurt dit tegenwoordig door middel van een programmeertaal, in plaats van het Nederlands (of Frans, Duits, Engels ...). Menselijke talen zijn veel te complex en niet duidelijk genoeg voor een computer; programmeertalen worden zo gemaakt dat ze maar voor één uitleg vatbaar zijn.
Nadat een programma in de computer is ingevoerd kan deze het op drie verschillende manieren uitvoeren:
- met behulp van een interpreter voor de programmeertaal worden de instructies direct uitgevoerd.
- met behulp van een compiler voor de programmeertaal worden de instructies omgezet in machinetaal die door de processor in de computer direct kunnen worden begrepen.
- met behulp van een compiler voor de programmeertaal worden de instructies omgezet in een tussencode (byte code, ook wel P-code genoemd), en een speciale interpreter voor die byte code voert dan deze instructies uit.
Een programma dat met een compiler wordt vertaald kan over het algemeen sneller door de computer worden uitgevoerd dan wanneer gebruik gemaakt wordt van een interpreter. Programmeertalen worden over het algemeen óf altijd met een compiler óf altijd met een interpreter gebruikt.
Historie
Het is mogelijk om computers direct in hun eigen machinetaal te programmeren; direct de enen en nullen te specificeren die door de processor kunnen worden begrepen. Dit was voor de eerste computers gebruikelijk, met schakelaartjes werden groepen van 8 bits ingesteld. Men ondervond echter snel dat het veel te lastig was om programma's die op die manier waren geschreven te onderhouden. Snel werd er daarom een symbolische manier bedacht om de machine instructies als tekst weer te geven in de vorm nam mnemonics. Zo werd het mogelijk om instructies veel eenvoudiger te lezen. Deze code, die nog wel een-op-een met de instructiecodes overeen komt noemt men assembler.
Voor het programmeren van assembler en machinetaal moet de programmeur heel veel weten van de computer die hij wil programmeren. Om programmeren een stuk makkelijker te maken zijn daarna andere programmeertalen, de zogenaamde hogere programmeertalen ontwikkeld. Programmeertalen worden soms ingedeeld in generaties:
- eerste generatie: machinetaal
- tweede generatie: assembler (de kale machine instructies, maar leesbaar neergezet)
- derde generatie: procedurele talen als cobol, algol, C en fortran.
- vierde generatie: database georienteerde talen, of talen met een hoger abstractieniveau.
- vijfde generatie: talen op het gebied van artificial intelligence.
De generaties worden vaak afgekort als GL, bijvoorbeeld 3GL, als afkorting van 3rd Generation Language(s). Er zijn honderden verschillende programmeertalen bedacht, maar die worden niet allemaal frequent gebruikt. Veel zijn specifiek voor één doel geschikt.
Lijst van programmeertalen
De volgende programmeertalen zijn vrij algemeen bekend, worden of werden frequent gebruikt, of zijn anderszins interessant: - Ada
- Algol, Algol60,Algol-68
- APL
- Assembler, Machinetaal (in talloze varianten; voor iedere processor is een vaak heel specifieke taal nodig)
- Awk
- BASIC, Visual Basic, VBScript, PowerBASIC
- C, C++, C#, Objective C
- Cobol
- Eiffel
- Euclid
- Forth
- Fortran
- Haskell
- Inform
- Java
- Javascript
- Lisp
- Logo
- LotusScript
- ObjectPAL
- Oz
- Pascal, Delphi, Kylix
- Natural
- Perl
- PHP
- PL/1
- Prolog
- Python
- Ruby
- Scheme
- Simula
- Smalltalk
- Squeak
- Tcl
Om programmeertalen te beschrijven is een meta-taal bedacht BNF Backus Naur Form
Bij het ontwikkelen van software in een bepaalde programmeertaal kan de programmeur gebruik maken van een software-ontwikkelomgeving.
De markup-talen worden vaak ten onrechte een programmeertaal genoemd. Andere talen die eigenlijk geen programmeertalen zijn, maar soms wel zo worden opgevat:
externe links
Nog veel meer programmeertalen