Vergelijking met Pascal - 1

"Ha! Mijn naam is Laga Bilaabo. Ik ben een buitenaards wezen. En de scheepsarts van dit ruimteschip. Hopelijk worden we goede vrienden."

"Dat zou ik fijn vinden."

"Op mijn thuisplaneet gebruiken we de geavanceerde programmeertaal Pascal in plaats van dat primitieve Java. Kijk maar eens naar deze vergelijking tussen Java- en Pascal-code:

Java Pascal
public class MyFirstClass
{
   public static void main(String[] args)
   {
      int a, b, c;
      String s1, s2;
      System.out.println("Enter two numbers");
      a = new Scanner(System.in).nextInt();
      b = new Scanner(System.in).nextInt();
      c = a + b;
      System.out.println("The sum is " + c);
   }
}
Program MyFirstProgram;
Var
   a, b, c: Integer;
   s1, s2: String;
Begin
   WriteLn("Enter two numbers");
   ReadLn(a);
   ReadLn(b);
   c := a + b;
   WriteLn("The sum is ", c);
End.

Dit is twee keer hetzelfde programma, geschreven in twee verschillende talen. Zoals je ziet, heeft de Pascal-versie minder regels. Dat bewijst dat Pascal superieur is aan Java.

Ik hoop dat dit voorbeeld je helpt om Java beter te begrijpen, als je al eens iets van Pascal hebt gezien."

"Nee, dat heb ik niet. Maar het is toch interessant om twee programmeertalen te vergelijken."

"Jazeker. Dan ga ik verder.

In Pascal zet je de programmacode in de programmabody, in procedures of in functies. In Java is dit versimpeld: de programmabody, de procedures en de functies zijn allemaal vervangen door functies, die ze in Java 'methoden' noemen."

Java Pascal
Main-methode
public static void main(String[] args)
{
   System.out.println("Ho-ho-ho!");
}
Programmabody
Begin
   WriteLn("Ho-ho-ho!");
End.
Methode
double sqr(double a)
{
   return a * a;
}
Functie
Function Sqr(a: Real): Real
Begin
   Sqr := a * a;
End;
Methode met retourtype void
void doubleWrite(String s)
{
   System.out.println(s);
   System.out.println(s);
}
Procedure
Procedure DoubleWrite(s: String);
Begin
   WriteLn(s);
   WriteLn(s);
End;

"In de Pascal-kolom zie ik 'programmabody', 'functie' en 'procedure' staan, maar in Java heten ze allemaal 'methode'. Dat vind ik een beetje gek."

"Ja, wij buitenaardse wezens vinden het ook gek, heel erg gek zelfs. Maar mensen houden er nu eenmaal van alles op één hoop te gooien.

In Java is ALLE code onderdeel van een methode, dus om een methode te declareren hoef je niet eens het woord Function te gebruiken, zoals in Pascal.

Het is eigenlijk best simpel. Als een regel met code eruit ziet als type + naam, dan is het een declaratie, ofwel van een methode of van een variabele. Als er een haakje openen en een haakje sluiten achter de naam staan, dan is het een declaratie van een nieuwe methode. Als er geen haakjes zijn, dan is het een declaratie van een nieuwe variabele.

Declaraties van variabelen en van methode lijken erg op elkaar in Java. Kijk maar:

Code Beschrijving
String name;
Een variabele genaamd name die een waarde van het type String kan bevatten.
String getName()
{
}
Een methode genaamd getName die een waarde van het type String retourneert.

Maar dat is nog niet alles. Een methode kan in Java niet in zijn eentje voorkomen. Methoden moeten altijd onderdeel zijn van een klasse. Dus wanneer mensen een klein programmaatje in Java willen schrijven, moeten ze eerst een klasse maken en in die klasse een main-methode declareren. Pas dan kunnen ze code in de methode schrijven. Aardlingen zijn echt heel vreemde wezens!

Diego is vanmorgen bij me langs geweest en hij vroeg me om deze taken aan jou door te geven. Ik hoop dat je ze leuk vindt."

1
Taak
Java Syntax,  niveau 1les 8
Vergrendeld
Voorjaarsschoonmaak
Wie dit programma heeft geschreven, heeft er duidelijk geen kaas van gegeten. (Nou ja, eigenlijk is het programma bedoeld als voorbeeld en hebben we expres overbodige variabelen toegevoegd en tegelijkertijd noodzakelijke variabelen niet gedeclareerd.) Jij mag het corrigeren: zet de overbodige declaraties in commentaar en declareer de ontbrekende variabelen. Dan komt het toch nog goed.
1
Taak
Java Syntax,  niveau 1les 8
Vergrendeld
Geen zin in? Toch maar doen.
Luiheid is zelfs voor de beste programmeurs een probleem. En niet alleen voor programmeurs. Maar toch zijn veel mensen professionals geworden dankzij ijverige zelfstudie. Dus we adviseren je om niet lui te zijn. Zet daarom deze slogan op het scherm: "Maak de oefening als je er zin in hebt. Maak hem ook als je er geen zin in hebt". Doe dit 16 keer, om het er goed in te rammen.
5
Taak
Java Syntax,  niveau 1les 8
Vergrendeld
Kwadrateren
Je kunt een getal op verschillende kwadrateren. Er zijn mensen die het getal opschrijven en er een kwadrant omheen tekenen. Die mensen komen niet heel erg ver in het leven. De rest van ons moet vermenigvuldigen, tabellen met kwadraten kennen, ... of een Java-programma gebruiken. Schrijf een programma dat het kwadraat van 5 weergeeft.
5
Taak
Java Syntax,  niveau 1les 8
Vergrendeld
Zo simpel als 2+2
In een Java-programma wordt al het werk gedaan door functies. Of preciezer gezegd, door methoden. In ons programma heeft een sympathieke leraar alvast een methode 'geïmplementeerd' (geschreven) die de som van twee getallen berekent. Het enige wat jij nog hoeft te doen, is de methode aanroepen met de argumenten 2 en 2. Dat doe je vanuit de main-methode.
1
Taak
Java Syntax,  niveau 1les 8
Vergrendeld
Kies voor gezond eten! Eet vers fruit!
Geef de variabelen weer waarvan de waarde een soort fruit is. Geef elke variabele op een nieuwe regel weer.
1
Taak
Java Syntax,  niveau 1les 8
Vergrendeld
Je favoriete gedicht
Programmeurs zijn lang niet altijd nerds die alleen maar aan de nieuwste gadgets denken. Sommigen zijn heel poëtisch aangelegd. Als jij ook van poëzie houdt, is deze taak een fluitje van een cent: schrijf een programma dat (minstens) een vierregelig vers op het scherm zet.