You are on page 1of 16

Java

Waarom wordt Java gebruikt als begin programmeertaal voor onderwijsinstellingen?

Studentnaam Studentnummer Klas Emailadres Datum

: : : : :

Salam Gharib 500657845 IS105 salam1@live.nl 29-10-2012

Voorwoord
Voor u ligt het onderzoeksrapport dat ik, Salam Gharib, eerstejaars student aan de opleiding Informatica studierichting Software Engineering aan de Hogeschool van Amsterdam heb geschreven. De opdrachtgever voor dit onderzoek is het ITopia in de persoon van Atze de Brujin (prof docent). Mijn dankwoord voor dit onderzoek is ten eerste voor de heer Atze de Bruijn die mij geholpen heeft om het onderzoek uit te voeren en feedback gegeven. Ten tweede ben ik dankbaar aan al mijn medestudenten van klas IS105 voor nadere hulp, feedback, op en aanmerkingen. Ook wil ik mijn dank uitbrengen aan Donna-May, die mij veel geholpen heeft met mijn taalgebruik.

05-04- 2013 te Lelystad Salam Gharib

Onderzoeksrapport

2

Inhoudsopgave
Voorwoord............................................................................................................................... 2 Samenvatting.......................................................................................................................... 3 1 Inleiding................................................................................................................................. 4 Woorden lijst........................................................................................................................... 5 2 Het onderzoek....................................................................................................................... 6 3 Leren...................................................................................................................................... 8 4 Verschil ............................................................................................................................... 11 5 Conclusie............................................................................................................................ 13

Samenvatting
In dit rapport vindt u het resultaat van mijn onderzoek. HvA heeft voor Informatica studenten de Object Georiënteerde programmeertaal Java als begin programmeertaal gekozen. Alle studenten van alle richtingen krijgen Java in het eerste blok en zijn verplicht om dit te halen. Alle studenten krijgen programmeer opdrachten die met Java geschreven moeten worden. Daardoor krijgen ze ook de lessen van Java. In praktijk is gebleken dat naast Java ook andere programmeer en script talen worden gebruikt zoals PHP, C++, HTML, en CS6. Waarom is Java zo bijzonder dat onderwijsinstellingen Java als programmeertaal kiezen en geen andere programmeertaal. In de beantwoording van deze hoofdvraag dient het rapport om een beeld te vormen van de huidige en toekomstige mogelijkheden. Daarbij geeft het een uitleg over de technologie en voorbeelden van onderzoeken die hierover zijn uitgevoerd.

Onderzoeksrapport

3

1

Inleiding

In dit onderzoeksrapport worden de opzet, uitvoering en de resultaten weergegeven van het onderzoek "Java‟. Het onderzoek is uitgevoerd in opdracht van ITopia te Amsterdam. De hoofdvraag van dit onderzoek is: “Waarom wordt Java gebruikt als begin programmeertaal voor onderwijsinstellingen”, deze hoofdvraag heb ik gekozen omdat ik wil weten waarom Java zo speciaal is om mee te beginnen programmeren. Java is een programmeertaal die alle informatica studenten op de HvA in het eerste jaar leren. Dit rapport is primair

geschreven voor alle onderwijsinstellingen die gebruik maken van Java. Daarnaast geldt dit rapport als onderzoeksrapport voor het van Professional Skills, van mijn opleiding Informatica aan de HvA.

Het doel van dit onderzoeksrapport is om mijn hoofdvraag te beantwoorden, samen met de volgende deelvragen: • • Is Java een geschikte programmeertaal om mee te beginnen? Zijn er tutorials beschikbaar op het internet over Java?

Onderzoeksrapport

4

• •

Gebruiken veel onderwijsinstellingen Java? Waarom is Java zo bijzonder vergeleken met andere programmeertalen?

Tevens is er tijdens dit onderzoek gebruik gemaakt van de literatuur en het internet. Deze bronnen zijn opgenomen in de bibliografie. Tot slot vindt u de bijlagen die horen bij dit onderzoeksrapport. Voor afkortingen en begrippen verwijs ik u naar pagina 5 woordenlijst.

De opbouw is als volgt: In het tweede hoofdstuk ga ik vertellen waarvoor Java gebruikt kan worden, hoe programmeren in zijn werk gaat, wat je nodig hebt als je in Java wil gaan programmeren. In het derde hoofdstuk ga ik vertellen over de beschikbare tutorials die op internet te vinden zijn en onderwijsinstellingen die voor Java gekozen hebben. In het vierde hoofdstuk geef ik het verschil tussen Java en C++ aan, dit laat ik zien door middel van een aantal voorbeelden. In het slothoofdstuk geef ik de conclusie, dat op basis van het gehele onderzoek wordt getrokken en worden er een aantal aanbevelingen opgesteld.

Woorden lijst
JDK
Onderzoeksrapport

Java Development Kit

5

OOP IDE SE JVM HTML

Object Georiënteerde programmeertaal Integrated Development Environment Software Engineering Java Virtual Machine HyperText Markup Language

2 Het onderzoek In dit hoofdstuk ga ik vertellen waarvoor Java gebruikt kan worden, hoe programmeren in zijn werk gaat, wat je nodig hebt als je in Java wil gaan programmeren, waarom beginnen met Java en waarom softwareontwikkelaars Java kiezen. Aan het einde van dit rapport ziet u een lijst van de bronnen waar ik mijn informatie heb gehaald.

Onderzoeksrapport

6

2.1

Java

In het begin van de jaren 90 is de Java programmeertaal door Sun Microsystems ontwikkeld. Deze taal is populair, omdat er behalve toepassingen (applicaties) ook applets gemaakt kunnen worden. Programma's die gelezen kunnen worden door een Web-browser en daardoor geschikt voor toepassingen op internet. De programmeertaal Java is een taal van hoog niveau, het is eenvoudig, Object georiënteerd, gedistribueerd, uitgelegd, veilig, draagbaar, dynamisch en architectuur neutraal. Een applet is een programma dat deel uitmaakt van een web-pagina. Web-pagina's worden opgemaakt met HTML. Enkele voorbeelden van dergelijke applets zijn: Kleuren mengen en Binaire getallen.

Java geeft de norm aan als het gaat om het ontwikkelen en beschikbaar maken van mobiele applicaties, games en bedrijfssoftware. Met Java kunt u op efficiënte wijze interessante applicaties en services ontwikkelen en gebruiken. Hieronder vindt u een aantal voorbeelden waarvoor Java gebruikt kan worden: • • • • • • 2.2 Cirkeldiagram: Tekent een cirkeldiagram. Palindroom: Controleert of een ingevoerd woord wel of niet symmetrisch is. Kleuren: Maakt nieuwe kleuren uit de drie basiskleuren. Belasting: Berekent te betalen inkomstenbelasting. Klok rekenen: Zet ingevoerde tijd om naar uren, minuten en seconden. Romeinse cijfers: Zet een jaartal om in Romeinse cijfers.
Waarom beginnen met Java:

Java wordt gezien een van de meest populaire programmeertalen(bijlage 1). Java is geweldig als een moderne inleidende programmeertaal voor de beginners, omdat het voldoet 100% aan het object georiënteerd programmeren model, het heeft ook de strengste regels van elke programmeertaal en het is erg strikt. De manier van programmeren lijkt erg op die van c(++), dit zou je vrij makkelijk kunnen leren. Als je in Java goed kan programmeren en je zelf goed daar in verdiept dan is het leren van een nieuwe programmeertaal erg makkelijk, het is allen manier van syntax. In de meeste gevallen leek Java alleen goed voor gebruik in het onderwijs, waarschijnlijk vanwege de strakke syntaxis en de mogelijkheid om webpagina's in te bouwen. Java wordt steeds minder populair bij het ontwerpen van websites, dat komt omdat het een cliënt-side programmeertaal is. 2.3 Waarom kiezen softwareontwikkelaars voor Java: Java is volledig gratis en het heeft volledig documentatie. Het enige wat je moet doen is JDK op je computer installeren, dat is alles wat je echt nodig hebt om te programmeren in Java. Je kunt efficiënte applicaties schrijven voor mobiele telefoons, consumentenproducten en elk ander elektronisch apparaat. Als je een software in Java schrijft dan kun je hem draaien op elke ander platform. Een bekende slagzin die Sun gebruikte om Java te introduceren is: “Write once, Run anywhere”. Java is uitgebreid en getest door Java ontwikkelaars en liefhebbers. Omdat
applicaties in zeer verschillende omgevingen kunnen worden uitgevoerd, kunnen bedrijven productiviteit, communicatie en samenwerking onder eindgebruikers vergroten en verbeteren. Java levert applicatie draagbaarheid en sterke prestaties over vele

computeromgevingen. 2.4 Gebruik van Java volgens http://www.java.com/nl/about/: • Java wordt gebruikt op 1,1 miljard desktops. • JRE wordt jaarlijks 930 miljoen keer gedownload.
Onderzoeksrapport

7

• • • •

Java wordt tot nu toe op 3 miljard mobiele telefoons gebruikt. Java wordt op alle Blu-rayspelers 100% uitgevoerd. Jaarlijks worden 1,4 miljard Java-kaarten vervaardigd. Java wordt gebruikt in settopboxen, printers, games, autonavigatiesystemen, geldautomaten, loterijterminals, medische apparaten, parkeerautomaten, en nog veel meer.

2.5

Een programma schrijven met Java Een programma schrijven en vervolgens uitvoeren gaat als volgt: 1. Je moet eerst de code van een programma typen in een editor bijv: eclipse 2. Dan wordt het programma vertaald naar bytecode; dit gebeurt met behulp van een compiler. 3. Tenslotte kan het programma worden uitgevoerd door de JVM.

3

Leren

In dit hoofdstuk ga ik vertellen over de beschikbare tutorials die op het internet te vinden zijn. Onderwijsinstellingen die voor Java gekozen hebben. Aan het einde van
dit rapport ziet u een lijst van de bronnen waar ik mijn informatie heb gehaald .

Onderzoeksrapport

8

3.1

Zijn er tutorials beschikbaar op Internet? Als starter programmeur is het wel handig en onmisbaar om het antwoordden te vinden waar je vastloopt. Op het internet zijn er veel tutorials en forums te vinden, hier kan je zelf veel van leren.

3.1.1 Video Tutorial en in welke taal Er zijn veel video tutorials te vinden. De meeste tutorials zijn in het Engels. Er zijn zelfs tutorial die je veel helpen met school projecten, bijvoorbeeld bij het maken van een voorraadbeheer tabel voor het Outfit project. Alle syntax in Java wordt goed uitgelegd, er zijn tutorial voor beginners, er zijn (Intermediate) tutorials, dat is als je al ervaring met programmeren hebt. Deze tutorials helpen je bij het maken van een applicatie, er wordt stap voor stap uitgelegd wat je moet doen en op hoeveel manieren je kunt doen. Een voorbeeld daarvan is het maken van een chat systeem. Voorbeelden van tutorials die op internet te vinden zijn:

http://thenewboston.org/list.php?cat=25 Deze site is bedoeld om te leren programmeren. Alle syntax die in het Java Software Solution boek voorkomen, worden op volgorde goed uitgelegd. Op deze site worden ook types gegeven bij het maken van een applicatie. http://lynda.com Om op deze site tutorials te volgen heb je een account nodig. Om je te registreren moet je eigenlijk betalen, maar met je HVA gebruiksnaam en je wachtwoord kun je gratis inloggen en tutorials volgen. Er zijn ook veel video tutorials op Youtube.com vinden. 3.1.2 Tekstuele tutorials en in welke taal?
Er zijn ook veel tekstuele tutorials te vinden op het internet. Hier wordt meestal stap voor stap uitgelegd wat je nodig hebt om de eerste applicatie te schrijven, dit kan zijn bijvoorbeeld een simpel browser maken. Er zijn zelfs veel websites die vragen van studenten beantwoorden als ze in problemen zitten, bijvoorbeeld als ze vast zitten met hun school opdrachten. Uitgebreide tutorials voor Java zijn te vinden op de voorgaande websites, Deze websites zijn bedoeld om vragen van studenten te beantwoorden. Als studenten iets niet uitkomen, kunnen ze ook een vraag online stellen:

http://www.java.com/en/download/help/ http://stackoverflow.com/questions/

http://www.cprogramming.com/java-programming.html http://docs.oracle.com/javase/tutorial

3.2

Hebben veel onderwijsinstellingen voor Java gekozen? Hogeschool Utrecht: Java en PHP Hier wordt de programmeertaal Java gekozen in combinatie met PHP. In het eerste

half jaar krijg je inzicht in je eigen interesses, ambities en capaciteiten. Aan het einde van de eerste jaar mag je ze zelf kiezen Java of PHP.
Onderzoeksrapport

9

Raadboud Universiteit Nijmegen: C++ en Java Hier beginnen ze met C++ als leer programmeertaal. In het tweede jaar wordt het concept OOP in Java gegeven naast C++. Rijksuniversiteit Groningen: C en Java Hier wordt in het eerste jaar C als imperatieve (procedureel) programmeertaal gegeven. Het OOP wordt dan met Java gegeven. Universiteit Leiden opleiding Informatica: C++ en Java Hier wordt in het eerste jaar C++ gegeven. In het tweede jaar krijgen ze het vak concepten van programmeertaal. Het doel is om inzicht te verwerven in de relatie tussen concepten van programmeertalen en de wijze waarop deze worden geïmplementeerd en de keuzes die hierbij gemaakt worden. In het tweede jaar krijgen ze ook het vak "programmeren en correctheid". Hier wordt gebruik gemaakt van Java.

http://www.loi.nl online studeren
Op deze opleiding vast Java is speciaal geschikt voor beginnende ontwikkelaars/programmeurs. Er worden cursussen over Java gegeven. Dus je kunt zelfs thuis online Java volgen.

De Oracle Academy: De Oracle Academy biedt een complete portfolio van software, leerplannen, training voor docenten en ondersteuning voor het lesgeven aan instellingen voor lager, middelbaar, beroeps en hoger onderwijs, inclusief de ondersteuning voor Java aan honderdduizenden studenten. Daarnaast kunnen ontwikkelaars hun Java-programmeervaardigheden verbeteren door zich te verdiepen in de website bijvoorbeeld, zich te abonneren op nieuwsbrieven over Java-technologie. Het Oracle Technology Network OTN is de grootste lokale samenwerking van applicatieontwikkelaars, databasebeheerders en architecten ter wereld die gebruik maken van standaardtechnologieën in combinatie met Oracle producten. Het is ook de thuisbasis van Java.oracle.com, hier vindt u alle technische informatie. Lidmaatschap is gratis
3.3 Hoe groot is de kans dat een afgestudeerde alleen met Java kennis aan de slag kan? Het gaat eigenlijk om het principe van programmeren te leren. Als je met Java heel goed kan programmeren in de verschillende vormen (desktop, web, mobile) een ook de diepte dan is overstappen naar de andere taal een kwestie van een maand. Het is alleen maar syntax (de vorm en de structuur van de informatie) te leren. Java wordt gezien als een van de meest populaire programmeertalen. Er wordt veel gezocht naar programmeurs die ervaring hebben met Java, dat is meestal om applicatie te maken. Dus je hebt zeker een kans om goede baan te vinden.

Onderzoeksrapport

10

4

Verschil

In dit hoofdstuk vergelijk ik Java met C++. Aan het einde van dit rapport ziet u een lijst van de bronnen waar ik mijn informatie heb gehaald.

4.1 Java vergelijken met C++ Dit zijn een aantal verschillen tussen Java en C++:
• • De JVM doet veel werk voor je op de achtergrond. Bij C++ kun je zelf bepalen hoe gedetailleerd je je programma maakt. Een belangrijke verschil tussen Java en C++ is het platform onafhankelijkheid, dit is een bekende eigenschap van Java. Bij het schrijven van de broncode in C++ moet je al bij compilatie een bepaalde besturingssysteem kiezen. Bij Java is dat heel anders, je hoeft geen keuze maken.

Java wordt eerst vertaald naar byte code voor een virtuele machine, dit is een nadeel ten opzichte van C++. C++ wordt gelijk naar platform machinecode gecompileerd, er bestaat geen tussentaal. C++ wordt dan ook een

gecompileerde taal genoemd, tegenover de vertaalde taal Java. Voordeel hiervan is dat bij het vertalen van de broncode nog niet vast hoeft te staan op welk platform het programma uitgevoerd wordt. Nadeel van Java is dat door het vertalen naar byte code de uitvoering van het uiteindelijke programma langzamer is.

• •

In C ++ zijn objecten waarden, in Java is dat niet zo. C ++ gebruikt standaard semantiek waarde, terwijl Java altijd referentie semantiek waarde gebruikt. Java heeft uitgebreide Javadoc documentatie standaard op alle systeem klassen en methoden. C++ heeft geen standaard documentatie mechanisme.
In Java wordt resource management automatisch gedaan. In C++ moet dit handmatig worden gedaan.

4.2 Platform voorbereiden: 4.2.1 Java
Om Java applicatie te schrijven en uitvoeren moet je JDK op je pc hebben. JDK is een krachtig hulpmiddel waarmee je eenvoudiger en meer efficiënt kunt programmeren.

Onderzoeksrapport

11

Met deze applicatie zal het veel eenvoudiger zijn om programma’s uit te voeren, omdat het een compleet systeem heeft dat u helpt te creëren wat je wilt.

4.2.2 C++:
Om een C++ applicatie te schrijven moet je ook een compiler op je pc geïnstalleerd hebben. Er zijn verschillende compilers beschikbaar, zowel gratis als commercieel. Een aantal bekende zijn: GCC (Linux en vele ports naar andere besturingssystemen) Cygwin (POSIX-omgeving met een Windows-port van GCC) DJGPP (DOS-port van GCC) MinGW (Windows-port van GCC) Microsoft Visual C++ (Windows) Intel C++-Compiler (Linux, Windows) 4.2.3 IDE Kiezen Om een applicatie te ontwikkelen is het handig om een programma te hebben die het gemakkelijker maakt. Voor dit doel gebruiken veel programmeurs een IDE. Het is een computersoftware met geïntegreerde ontwikkelingsmogelijkheden. Veel IDE’s bestaan uit editor, compiler, debugger (de oorzaak van de fouten achterhalen), documentatie van programmeertaal, etc. 4.2.4 IDE voor Java: Een editor is voor Java een tekstverwerker zoals Word, maar dan veel eenvoudiger. De tekst die je intypt moet bewaard worden op schijf, de naam van een dergelijk bestand krijgt de extensie. Java De keuze voor IDE om Java applicatie te ontwikkelen is niet moeilijk. Netbeans wordt gebruikt door veel onderwijs instellingen. Eclipse wordt ook veel gebruikt om Java applicatie te schrijven. Er zijn natuurlijk ook veel IDE om een Java applicatie te ontwikkelen. Het kan zelf met een simpele tekst editor een Java code te schrijven. 4.2.5 IDE voor C++: De keuze voor IDE om C++ applicatie te ontwikkelen zijn groot. Op het internet zijn er veel tools te vinden. De voorbeelden zijn: Dev-C++ Open source IDE met ingebouwde MinGW compiler (Windows, Linux). QtCreator, een relatief jonge IDE, door Digia aangeboden als onderdeel van Qt (Windows, Linux en Mac OS X). KDevelop, een IDE voornamelijk gericht op de ontwikkeling van KDE en Qt-programma's (Linux). Code:Blocks een gratis C en C++ IDE (Windows, Linux) gebaseerd op wxWidgets. Eclipse, een Open source IDE, veel gebruikt voor Java, maar met goede ondersteuning voor C++ via de C

4.3

Voorbeeld verschillen tussen JAVA en C++

Onderzoeksrapport

12

4.3.1

Main function

4.3.2

Compiling

5

Conclusie In dit hoofdstuk geef ik mijn conclusies aan op basis van het onderzoek. De hoofdvraag van dit onderzoeksrapport luidde: “Waarom wordt Java gebruikt als begin programmeertaal voor onderwijsinstellingen?”.
Onderzoeksrapport

13

Hier zijn een aantal punten waarom onderwijsinstellingen Java als begin programmeertaal gebruiken: • Het is moeilijk om vast te stellen of het wel of niet eenvoudig is. Als ik kijk op programmeertaal dan is het verschil in principe tussen de syntax. Iets dat het leren van een programmeertaal eenvoudiger kan maken zijn factoren zoals begeleiding, literatuur, bij onderwijsinstelling de lessen en opdrachten. Omdat Java en C++ beide OOP zijn, is het belangrijk dat de student eerst begrijpt wat het concept OOP inhoudt. Java is minder uitgebreid dan C++, dit maakt het voor beginners makkelijker. Java is een van de meest bekende programmeertalen, het heeft de strengste regels van elke programmeertaal en het is erg strikt. Als je goed in Java kan programmeren dan kun je makkelijk overstappen naar andere programmeertaal. Voor een beginnende programmeur is het belangrijk om antwoorden op hun vragen te vinden. Er zijn veel tutorials op internet te vinden en studenten worden goed geholpen door programmeurs op forums, als ze vragen hebben kunnen ze bijvoorbeeld terecht op www.stackoverflow.com. Als een student goed in Java kan programmeren dan maakt hij een goede kans bij het vinden van een goede baan.

Uit het bovenstaande punten is het duidelijk geworden waarom onderwijsinstellingen Java als begin programmeertaal gebruiken.

Bronnen: hoofdstuk 2 Bronnen §2.1, §2.2 april 2013 http://stackoverflow.com/questions/143820/i-can-learn-either-c-or-java-which-one-should-ichoose-first-should-i-take-the

Onderzoeksrapport

14

http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html http://www.ilifehack.nl/beste-programmeertaal-om-te-leren-voor-beginners/ http://www.broekhin.nl/Onderwijs/Vakken/Informatica/Java.aspx Bronnen § 2.3, §2.4 april 2013

http://www.studymode.com/essays/Java-Programming-1062969.html http://en.wikipedia.org/wiki/Comparison_of_Java_and_C%2B%2B http://domino.watson.ibm.com/library/cyberdig.nsf/a3807c5b4823c53f85256561006324be/601 592d895e45db88525669d00670e8f?OpenDocument http://www.engpaper.com/java-virtual-machine-research.htm
Bronnen: hoofdstuk 3 § 3.1 en §3.2 april 2013

http://stackoverflow.com/questions/

http://www.cprogramming.com/java-programming.html http://docs.oracle.com/javase/tutorial http://www.goeievraag.nl/vraag/computers-internet/programmeren-design/makkelijke-

http://www.loi.nl/cursussen/informatica_en_pc_en_internet/overige_certificeringen_ en_vakcursussen/java_programmeren/index.htm §3.3 april 2013 http://vacatures.11440.0.opent.jobs/?gclid=CJv6wrmSsrYCFUJf3god-moAxg
Bronnen: hoofdstuk 4 §4.1 en §4.2 april 2013 http://en.wikipedia.org/wiki/Comparison_of_Java_and_C%2B%2B http://www.cplusplus.com/forum/general/43614/

http://www.tbm.tudelft.nl/fileadmin/Faculteit/TBM/Over_de_Faculteit/Afdelingen/Afdeling_Infras tructure_Systems_and_Services/Sectie_Informatie_en_Communicatie_Technologie/medewerk ers/jan_van_den_berg/news/doc/mark.pdf
§4.3 april 2103 http://horstmann.com/ccj2/ccjapp3.html http://www.ultimatepp.org/ Bronnen: hoofdstuk 5 april 2013 http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html

Bijlage 1 (hoofdstuk 1)

Onderzoeksrapport

15

Onderzoeksrapport

16