H1 installeren ontwikkelomgeving

Leerdoelen

Na het bestuderen van dit hoofdstuk wordt van je verwacht dat je:

  • de benodigde software hebt geïnstalleerd om Java programma's te ontwikkelen en uit te voeren
  • een "Integrated Development Environment" (IDE) hebt geïnstalleerd en een java project kunt maken
  • een GitHub project kunt forken en clonen naar je computer
  • wijzigingen in een repository kunt committen en synchroniseren naar GitHub of naar je lokale repository

Studeeraanwijzingen

Leren programmeren is vooral een kwestie van veel doen. We raden je aan alle opdrachten in deze cursus zo zelfstandig mogelijk uit te werken om zodoende "vlieguren" te maken.

Maak een logische bestandsstructuur voor je projecten en geef betekenisvolle namen zodat je later gemakkelijk een opdracht terug kunt vinden

Theorie

Java is als programmeertaal sinds de introductie in de jaren '90 onverminderd populair. Het is een objectgeorienteerde taal (vaak afgekort met OO - "Object Oriented"). Dit betekent dat verschillende onderdelen van een programmeertaak worden uitgevoerd door verschillende objecten. Bekijk onderstaande video om een idee te krijgen wat objectgeoriënteerd programmeren betekent. Je hoeft het nog niet allemaal te begrijpen!

Een computer doet niets uit zichzelf. Voor iedere taak die uitgevoerd moet worden moet de computer instructies krijgen. Het hart van een computer is de processor die eenvoudige opdrachten kan uitvoeren, zoals twee getallen in het werkgeheugen plaatsen en deze vervolgens bij elkaar optellen.

a = 5;
b = 6;
c = a + b; 

Wat heb je nodig?

Allereerst heb je een tekstverwerker nodig om de broncode in te schrijven. De broncode is geschreven in een programmeertaal. In ons geval is dat de programmeertaal Java. Er zijn verschillende gespecialiseerde editors om code mee te schrijven, maar je kunt ook een simpel kladblok gebruiken.

Toen computers pas bestonden werden programma's direct in machinetaal geschreven. Inmiddels hoeven we als programmeur niet meer te weten hoe de machinetaal eruitziet van de computer die we gebruiken. Om code om te zetten in machinetaal heb je een compiler nodig. De meeste programmeertalen bestaan uit een combinatie van Engelse woorden en tekens die speciale betekenis hebben. Dat begrijpt een computer niet. De broncode die je hebt ingetikt, moet vertaald worden in machinetaal. Machinetaal is een reeks opdrachten in enen en nullen die de processor begrijpt. De compiler vertaalt de broncode in machinetaal.

Ten derde heb je een linker nodig. Je hoeft gelukkig niet alles te schrijven in je broncode. Als je bijvoorbeeld een tekst op het scherm wil zetten, gebruik je daarvoor in Java de opdracht drawString. Hoe dan precies tekens en letters op het scherm komen, hoef je niet te weten. Dat staat in de zogenaamde klassenbibliotheek. Om je een indruk te geven van de standaard Java bibliotheek vind je in de Web Links een verwijzing naar de Java API (Application Programming Interface). De linker haalt uit de klassenbibliotheek de benodigde code. De linker leent als het ware een stukje code uit de bibliotheek en zet dat in jouw programma. Het gaat per klasse om ongeveer 1500 definities en het is heel moeilijk. To link in het Engels betekent letterlijk verbinden.

Vroeger had de programmeur inderdaad drie verschillende programma's nodig. Nu zijn deze drie onderdelen gebundeld in een zogenaamde Integrated Development Environment en werken daardoor beter samen. IntelliJ, NetBeans en Eclipse zijn voorbeelden van dergelijke IDE's.

Fouten

Iedere programmeur maakt fouten. Het testen van applicaties en het opsporen van fouten (debuggen) is zelfs een specialisme binnen het vak.

Als er tijdens het compileren een foutmelding wordt gegeven, dan ga je terug naar de broncode om de fout te verhelpen. Je applet zal dan niet uitgevoerd worden. Dat gebeurt alleen maar als de broncode helemaal goed is. Als de compiler een foutmelding geeft, dan zal ook het nummer van de regel worden getoond waarin de fout is opgetreden.

Een foutmelding van de compiler is altijd een fout tegen de regels van de taal. Dergelijke fouten worden meestal al door je code editor opgemerkt en zijn vaak vrij gemakkelijk op te sporen. Een logische fout is wat lastiger. Het is een fout waardoor het programma niet doet wat het moet doen. Je hebt waarschijnlijk ergens een denkfout gemaakt.

programmeerfouten

Opdracht 1.1 Installeer Java JDK

De JDK is de java development kit. Om een java programma op een computer te compileren en uit te voeren moet de nodige software geïnstalleerd zijn. In andere cursussen gaan we met Google App Engine werken. App Engine werkt met java versie 7, dus het is wel zo handig om deze meteen te installeren. Installeer een voor jouw computer geschikte versie. Voor de meeste computers kun je de 64 bits versie kiezen.

screenshot

Systeem-variabelen (Windows)

Als je op een Windows machine werkt, is het raadzaam om een systeem variabele aan te maken die het systeem vertelt waar java zich bevindt. Dit doe je als volgt:

  • Ga naar je systeem instellingen (bijvoorbeeld met windows-toets + x → Systeem), en klik in het linker zijmenu op geavanceerde systeeminstellingen. Klik onderin het scherm op Omgevingsvariabelen. Klik onder Systeemvariabelen op nieuw. Geef de variabele de naam JAVA_HOME en voer als waarde het pad in naar je java installatie (bijvoorbeeld C:\Program Files\Java\jdk1.7.0_51).
  • Zorg er voor dat java vanuit iedere directory te benaderen is. Dit doe je door de JAVA_HOME variabele aan de PATH variabele toe te voegen. Check in je omgevingsvariabelen of er een variable met de naam PATH (met hoofdletters) bestaat, zo niet maak een nieuwe variable aan. Open het invoerscherm door op de variabele te dubbelklikken. Voeg nu de lokatie van java toe met: %JAVA_HOME%\bin. Als er al waardes in PATH stonden kun je het voor of achter de bestaande waardes invoegen. Let wel op dat je dan een scheiding tussen de waardes aan moet brengen met een puntkomma (;).
  • Als je later een andere jdk wilt installeren, dan kun je volstaan met het aanpassen van de JAVA_HOME variabele.

Opdracht 1.2 Installeer Eclipse IDE

Installeer een zogenaamde Integrated Development Environment (IDE) waarmee je Java code kunt schrijven. In deze cursus gebruiken we Eclipse. Kies Eclipse IDE for java EE developers . Let op dat als je een 64 bit jdk hebt geïnstalleerd, je ook een 64 bit versie van Eclipse moet installeren. Nadat je Eclipse hebt gedownload kun je de map eventueel naar een andere lokatie verplaatsen/uitpakken, de map openen en eclipse starten door op het toepassingsbestand (met het Eclipse icoontje) te dubbelklikken.

Opdracht 1.3 Maak een project

Open Eclipse en klik eventueel het welkom scherm weg. Klik op File en kies NewProject... In het New Project scherm kies je Java Project.

Standaard staat Use default location aangevinkt. Dit zorgt er voor dat Eclipse het project opslaat in de huidige workspace map. Dit kun je eventueel veranderen als je je project op een andere lokatie (Bijvoorbeeld Google Drive of Dropbox) wilt opslaan.

Open het project in de explorer en klik met je rechtse muisknop op de src map, kies NewClass . Geef je klasse een naam die begint met een hoofdletter. Je mag geen leestekens of spaties gebruiken. Een nieuw woord in de naam begin je met een hoofdletter. Je zou bijvoorbeeld de naam MijnEersteJavaKlasse kunnen gebruiken. Kopieer de volgende (gearceerde) code in je klasse en klik op het Run icoontje in de menubalk:

public class MijnEersteJavaKlasse {
	
    public static void main(String[] args) {
        System.out.println("Dit is mijn eerste java klasse!");
    }
}

Als het goed is zie je tekst Dit is mijn eerste java klasse! in je console verschijnen.

Opdracht 1.4 Git(Hub)

We gaan onze projecten voor deze en volgende cursussen met elkaar delen via GitHub, de grootste online Open Source community waar sofware ontwikkelaars hun code met elkaar delen en samenwerken aan projecten met behulp van het git versiebeheersysteem. Maak een account aan als je dat nog niet hebt.

Installeer git

Installeer git op je computer. Open een terminal venster en typ het volgende commando om te testen of het werkt:

git version

Als git goed geïnstalleerd is, wordt het huidige versienummer weergegeven. Als het commando in Windows niet wordt herkend moet je waarschijnlijk een omgevingsvariabele toevoegen (zie installatie JDK) Voeg in dat geval het volgende pad toe achter de waarde van je PATH. Check of git daadwerkelijk in deze map is geïnstalleerd en let op de puntkomma!

;C:\Program Files (x86)\Git\cmd

Forken en clonen

Om je op weg te helpen hebben we op GitHub een repository voor je gemaakt die je kunt gebruiken voor de uitwerking van de opdrachten die je in deze cursus gaat maken. Ga als volgt te werk:

  1. ga naar de repository en fork hem. Hiermee maak je een eigen kopie van de repo die je kunt gaan gebruiken
  2. open de terminal en ga met cd (change directory) naar de map waar je het project lokaal wilt opslaan. Kopieer op GitHub de https link naar je repo. Als je de repo opent vind je de link in het rechter zij-menu. (https://github.com/je gebruikersnaam/inleiding-java.git)
  3. voer in je terminal het volgend commando uit:
    git clone https://github.com/[je gebruikersnaam]/inleiding-java.git
    
    De repo wordt naar je computer gekopieerd en is automatisch gelinkt met je online (remote) repository op GitHub.
  4. in Eclipse kun je het project nu importeren met FileImport...Existing project into workspace. Browse naar de map waar het project zich bevindt (de map direct boven de src map) en importeer het project. Als het goed is ziet Eclipse automatisch dat het een git repo is; achter de projectnaam staat [inleiding-java master].
  5. Open de src map in de explorer. Hierin zie je een package. Java klassen zitten altijd in packages. In de package h01 vind je een java klasse. Open deze en klik op het groene pijltje in de menu balk om het programma uit te voeren. Als het goed is zie je in de Eclipse console de uitvoer:
    Hallo roc-dev!
    
  6. De uitvoer wordt gemaakt met de regel:
    System.out.println("Hallo roc-dev!");
    
  7. wijzig nu de tekst van de uitvoer en test of het werkt. Sla de wijzigingen op (ctrl/cmd + s). In de Eclipse explorer (links) zie je nu als het goed is een > teken voor de projectnaam verschijnen. Dit betekent dat er wijzigingen zijn die nog niet in git zijn verwerkt. Om de wijzigingen in git op te slaan moet je ze committen. Klik met je rechtse muisknop op je project en kies TeamCommit... Er verschijnt nu een scherm waarin je een commit message moet maken. Dit is er voor bedoeld om veranderingen gemakkelijk te kunnen terugvinden. De eerste regel is een korte beschrijving. Volgende regels zijn voor een eventueel uitgebreider beschrijving. Nadat je je wijzigingen hebt doorgevoerd is je lokale repo up to date.
  8. de volgende stap is om je repo te synchroniseren met je online repo op GitHub. Ga opnieuw naar Team en kies nu Push to upstream. Als het goed is worden je wijzigingen nu naar GitHub geüpload. Open je project op GitHub en check of de wijzigingen zijn doorgevoerd.
  9. je kunt ook op GitHub zelf online wijzigingen in je code aanbrengen en committen. Open het java bestand online en klik op het edit icoontje, wijzig iets aan de tekst en commit de wijziging. Om de wijziging met je lokale repo te synchroniseren ga je in Eclipse weer naar Team, kies Fetch from upstream. Dit haalt de evt wijzigingen die aangebracht zijn in je online repo op. Om de wijzigingen in je lokale git repo op te nemen ga je nogmaals naar Team en kies je voor Pull.

Zelf een repository maken

Als je op GitHub zelf een repository maakt, moet je een .gitignore bestand toevoegen. Hierin staan de bestanden en bestandstypen die niet gesynchroniseerd moeten worden. Op GitHub vind je veel voorgedefinieerde .gitignore bestanden die je kunt gebruiken. Nadat je op GitHub een lege repo hebt aangemaakt kun je hem clonen naar je computer. In de lege map kun je nu een project aanmaken of een bestaand project kopiëren.

Je kunt de repository gebruiken voor de opdrachten van deze cursus. Om het overzichtelijk te houden kun je per hoofdstuk een package maken. Als je in je repository een nieuw bestand maakt, moet die eerst aan de index worden toegevoegd met TeamAdd to index voor je de wijzigingen kunt committen.