Bjarno Oeyen

Van C++ naar Java

Tijdens mijn opleiding ben ik (eindelijk?) in aanraking gekomen met de programmeertaal C++. Het is een zeer goede, professionele, programmeertaal die voornamelijk gericht is op performance en dat is iets heel anders met talen waar ik tot nu toe mee gewerkt heb.

Alhoewel C++ een zeer goede taal is, zijn er ook heel wat dingen aan C++ die een beetje vreemd werken, of gewoon moeilijk zijn om te combineren... Fouten met libraries die geen fouten zijn, forward declarations die je kan oplossen door een enkele regel code toe te voegen, die er niet zou moeten staan omdat een #include dat al zou moeten doen...

Desondanks is C++ is geweldige taal om mee te werken, als performantie belangrijk is, en je toch wat features wilt hebben zoals klassen.

Omdat ik gehoord had dat C++ en Java wel op elkaar lijken (qua syntax, niet qua uitvoering), en omdat mijn IDE voor C en C++ (Netbeans) toch al ondersteuning had voor te ontwikkelen in Java, was ik op zoek gegaan naar een guide om Java te leren, voor mensen die C++ kenden, een snelle Google Search verder brecht mij bij een pdf-bestand A Crash Course from C++ to Java. Eenvoudig om te volgen, en de basisverschillen worden er beknopt in uitgelegd.

Dingen die ik in Java veel beter vind werken, in vergelijking met C++, zijn klassen en de manier hoe je ze kan gebruiken door elkaar. Waar je bij Java gewoon de klasse kunt importeren als het in een andere package zit, of anders gewoon onmiddellijk kunt gebruiken.

Het idee van packages is iets dat ik wel mis in C++. In C++ moet je de "rauwe" header-bestanden includen. Het voordeel aan C++ is dat de compiler niet zelf op zoek moet gaan naar de locatie, maar gewoon alles onmiddellijk terugvindt, tot de linker uitgevoerd wordt.

Natuurlijk kan je Java alleen uitvoeren in de Java Virtual Machine, en werkt C++ (na compilatie voor het platform zelf) op elk denkbaar platform. En daardoor verliest Java ook op die punten (en nog enkele andere, zoals slechte ondersteuning voor lambda en het bestaan van een garbage collector, maar als performance niet belangrijk is, dan is dit slechts 1 minpuntje).

Momenteel ben ik trouwens aan het experimenteren met lwjgl en Slick en ik probeer zo mijn eerste spel in java te maken. Het is wel een bestaand spel, maar toch zeker een goede leerervaring... Meer daarover in een latere blogpost...

Een van de dingen die mij enorm geholpen heeft om LWJGL te begrijpen, en er ook games mee te maken is deze afspeellijst op YouTube. Dus als je op zoek bent om eens Java te leren, en er misschien wat kleine spelletjes mee te maken, dan kan deze post misschien wel enorm handig zijn voor je! (Op voorwaarde dat je al wat C++ kent natuurlijk)

Reacties op "Van C++ naar Java"

Nog geen reacties, waarom laat je er geen achter?

Laat een reactie achter

Naam: Bericht: Bewijs dat je geen robot bent: