Programmeer en markup talen¶
Veel producten die je maakt als ICT professional, zoals mobile apps, games of web-pagina’s zal je maken door het schrijven van code. De code voor de eindgebruiker omgezet in een uitvoerbaar programma of product. De code die je schrijft is een tekst bestand met een bepaalde structuur. De structuur van de code is afhankelijk van de taal die je gebruikt.
graph LR
A[Code] --Tekst--> B[Vertaler]
B --> C[Product]
Verschillende talen hebben verschillende doeleinden:
Taal | Doel | vertaler |
---|---|---|
HTML | Opmaak van webpagina’s | Browser |
CSS | Opmaak van webpagina’s | Browser |
JavaScript | Interactie met webpagina’s | Browser |
JavaScript (NodeJS) | Server-side scripting | NodeJS |
PHP | Server-side scripting | PHP interpreter |
SQL | Database | Database interpreter |
Swift | Programmeertaal voor iOS | Swift compiler |
mermaid | Tekenen van diagrammen | Javascript Interpreter |
SVG | Tekenen van vector afbeeldingen | Browser |
Markdown | Opmaak van documenten | Markdown interpreter |
YAML | Structuur van documenten | YAML interpreter |
JSON | Structuur van data | JSON interpreter |
XML | Structuur van data | XML interpreter |
C++ | Algemene programmeertaal | C++ compiler |
Java | Algemene programmeertaal | Java compiler |
C# | Algemene programmeertaal | C# compiler |
Imperatief vs Declaratief¶
Imperatieve talen zijn talen die een reeks instructies beschrijven die de computer moet uitvoeren. De instructies worden uitgevoerd in de volgorde waarin ze zijn geschreven. Dit soort talen zijn de meest gebruikte talen. Voorbeelden van imperatieve talen zijn: C, C++, C#, Java, JavaScript, PHP, Python, Ruby, Visual Basic, etc.
Declaratieve talen beschrijven geen functionaliteit (hoe je iets wilt) maar wat je wilt.
Waar imperatieve talen het meest gebruikt worden voor algemene programmeertalen (zoals typescript of Python), zijn declaratieve talen vaak domeinspecifiek. Ze worden gebruikt voor een specifieke taak, zoals de opmaak van een document of het gegevens uit een database halen. Veel declaratieve talen zijn daarnaast geen programmeertaal, omdat je er niet alle taken mee kan doen.
Voorbeelden van declaratieve talen
Opmaaktalen, domeinspecifiek en geen programmeertaal
- CSS (Cascading Style Sheets): beschrijft de opmaak van een document
- markdown: een simpele opmaaktaal voor tekst
- mermaid: beschrijft diagrammen
Declaratieve domeinspecifieke programmeertalen
- SQL (Structured Query Language): beschrijft hoe je data uit een database wilt halen.
Declaratieve programmeertalen
- Prolog (Logisch)
- Lisp (Functioneel)