De eerste Nederlandse programmeertaal!
De beste manier om met Babbelaar te beginnen, is om de Babbelaar-extensie voor Visual Studio Code te gebruiken. Hiermee krijg je bijpassende kleurtjes voor je code, kun je de code uitvoeren, krijg je waarschuwingen en fouten goed beschreven en kun je tips opdoen.
Hieronder staan een paar kenmerken van Babbelaar beschreven, om zo een inleiding te geven aan de programmeertaal.
Ook wel bekend als functies
, methodes
, subroutines
en procedures
in andere talen:
werkwijze hallo(persoon: Slinger) {
schrijf(€"Hallo, {persoon}!");
}
hallo("lezer");
Dit heeft als uitvoer:
Hallo, lezer!
Je kunt variabelen aanmaken met stel
. Dit is erg handig, want dan hoef je niet telkens dezelfde code te dupliceren, en deze kun je ook nog later aanpassen.
stel mijnCijfer = 10;
Om iets soms wél en soms niet uit te voeren, kun je het conditioneel maken, met het als
sleutelwoord, zoals:
werkwijze naarGriezeligeFilm(naam: Slinger, leeftijd: g32) {
als leeftijd > 18 {
schrijf(€"Sorry, {naam}, je bent nog niet oud genoeg.");
bekeer; // kap het hier af
}
schrijf(€"Welkom, {naam}!");
}
naarGriezeligeFilm("Jantje", 14); // Sorry, Jantje, je bent nog niet oud genoeg.
naarGriezeligeFilm("Lodewijk", 46); // Welkom, Lodewijk!
Hierin zie je dat Jantje, die 14 jaar is, niet de film mag zien, maar Lodewijk van 46 wél.
In het vorige voorbeeld, zag je het gebruik van het bekeer
om de werkwijze af te kappen. Jantje mocht dus niet naar de film. Het bekeer
-sleutelwoord kan je gebruiken om de werkwijze hier te beëindigen (helemaal handig in combinatie met als
), maar je kunt het ook gebruiken om een waarde terug te geven:
werkwijze berekenLeeftijd(geboortejaar: g32) -> g32 {
stel huidigJaar = 2024;
bekeer huidigJaar - geboortejaar;
}
Je kunt door een stel cijfers heen lopen, met het volg
-sleutelwoord. De code binnen {
en }
wordt dan uitgevoerd, voor elke waarde van i
.
volg i in reeks(1, 2) {
schrijf(i)
}
Er zijn verschillende typen ingebouwd binnen Babbelaar. Hieronder staan de standaardtypen, maar je kunt ook zelf typen bedenken door een structuur
aan te maken.
Een booleaanse waarde, is een moeilijke naam voor een waarde die of waar
of onwaar
kan zijn. Je kunt bijvoorbeeld bruin haar hebben, of niet:
stel heeftBruinHaar = waar;
stel heeftBlondHaar = onwaar;
Een slinger is een stuk tekst, bijvoorbeeld "Hallo, wereld!"
.
Een variant op de gewoonlijke slinger, is de sjabloonslinger. Hierin kun je expressies invoegen, om bijvoorbeeld getallen in je slinger op te nemen:
volg i in reeks (0, 11) {
schrijf(€"Het getal is nu {i}");
}
Je kunt een stuk gedeelde code, ook indelen in structuren. Je kunt dit doen met bijvoorbeeld heel gewone objecten, zoals een mens, maar ook een ingewikkeld systeem, zodat je het mooi samen kan binden in één bundeltje:
structuur Persoon {
}
Nu hebben we er op dit moment nog vrij weinig aan. Om informatie aan deze Persoon
te koppelen, kunnen we velden maken, waarbij elke Persoon
dus die informatie moet hebben:
structuur Persoon {
veld naam: Slinger,
veld leeftijd: g32,
}
Deze persoon heeft dus een stuk tekst voor hun naam
en een getal als leeftijd
. Om deze Persoon
-structuur te kunnen gebruiken, kun je er eentje aanmaken met nieuw
:
stel alfred = nieuw Persoon {
naam: "Alfred J. Kwak",
leeftijd: 35,
};
schrijf(€"Dit is {alfred.naam} van {alfred.leeftijd} jaar");
Dat laatste stuk vertelt de naam van de persoon en hun leeftijd. Je kunt deze werkwijze ook plaatsen binnen de structuur. In plaats van alfred
, gebruik je in dat geval het dit
-sleutelwoord, om aan te duiden dan het over een algemeen Persoon
gaat (je kunt immers verschillende keer een Persoon
aanmaken):
structuur Persoon {
veld naam: Slinger,
veld leeftijd: g32,
werkwijze zegGedag() {
schrijf(€"Hallo, ik ben {dit.naam} en ik ben {dit.leeftijd} jaar oud.");
}
}
stel alfred = nieuw Persoon {
naam: "Alfred J. Kwak",
leeftijd: 35,
};
alfred.zegGedag(); // Hallo, ik ben Alfred J. Kwak en ik ben 35 jaar oud.
stel pietje = nieuw Persoon {
naam: "Pietje Bell",
leeftijd: 9,
};
pietje.zegGedag(); // Hallo, ik ben Pietje Bell en ik ben 9 jaar oud.
Als je mee wilt helpen met het ontwikkelen van Babbelaar, zorg er dan voor dat je de onderstaande pakketten hebt geïnstalleerd:
sudo npm install -g @vscode/vsce yo typescript
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh