Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 93 reacties

We gaan weer Java-programmeren! Net als vorig jaar hebben we samen met Capgemini een serie videotutorials ontwikkeld die je gratis kunt volgen om je programmeerskills op te frissen, of naar een hoger niveau te brengen.

Java is een veelzijdige programmeertaal die je op veel manieren in kan zetten. Vorig jaar lieten we je in twaalf video's zien hoe je een Android-app kunt maken in Java en deze keer zetten we de stap naar de back-end van dit geheel. Van client-side naar server-side dus. Je leert bijvoorbeeld hoe je data verzamelt en opslaat in een database, en hoe je deze data uiteindelijk in een mobiele- of web-applicatie toont. Om ervoor te zorgen dat je app interessant blijft, laten we deze zelfstandig nieuwe data op internet ontdekken via integraties met verschillende diensten, zoals bijvoorbeeld YouTube.

Elk van de twaalf videotutorials richt zich op een van deze aspecten en heeft een eigen forumtopic zodat je de uitdagingen en problemen kunt bespreken met je medetweakers. Je mag het tempo daarbij zelf bepalen, want we zetten de hele serie in één klap online, en niet meer zoals vorig jaar uitgesmeerd over meerdere weken. Net als vorig jaar gaat elke video verder waar de vorige ophoudt en wordt het niveau geleidelijk opgevoerd. Het niveau ligt dit jaar wel een stapje hoger, dus de echte beginners raden we aan om eerst aan de slag te gaan met de cursus van vorig jaar.

Deze cursus geeft je niet alleen de kans om gratis en voor niets je Java-skills op te poetsen; er valt ook nog eens een mooie prijs te winnen. Door alle video's te kijken en vijf vragen te beantwoorden maak je kans op een Java Track naar keuze, beschikbaar gesteld door Capgemini Academy. We bieden of de hele track aan of men kan een keuze maken voor een deelgebied.

Meer weten, of wil je gewoon meteen aan de slag? Check dan de speciale actiepagina. Hier vind je meer informatie, links naar alle tutorials en de prijsvraag.

Door Wout Funnekotter

- Hoofdredacteur

Wout werkt sinds 2011 bij Tweakers en heeft zich lange tijd beziggehouden met het testen en recenseren van allerlei producten, met een nadruk op mobiele technologie. Sinds augustus 2015 is hij hoofdredacteur. In die rol werkt hij samen met de andere redacteuren eraan om de inhoud en presentatie van de site constant te verbeteren. Wanneer de tijd het toelaat, schrijft hij nog wel eens een review.

Volg Wout op TwitterVolg Wout op Google+
Moderatie-faq Wijzig weergave

Reacties (93)

Waarom Java als backend en geen -insert random language-? Dat is toch veel beter?

*pakt popcorn*
Omdat dit gesponsord is door Capgemini en die doen Java.

Beter is natuurlijk relatief, maar je moet met Java wel lekker veel uren schrijven om iets te bereiken - iets wat voor Capgemini's winstdoelstellingen wel handig is :-)
Toegegeven, Java is vrij verbose, maar regels code schrijven is niet linear met de tijd die je nog hebt om een oplossing te schrijven voor iets. Ik hoop dat de meeste tijd altijd in het uitdenken zit, tenzij je alleen maar GUIs met formuliertjes aan het maken bent.
Ik wou dat het waar was dat de keuze voor een taal meer dan 10% van mijn productiviteit zou be´nvloeden.
Daarentegen zijn er heel veel libraries voor Java, wat veel meer tijd scheelt dan een for-loopje die iets verboser is dan in Python -- of wat je favo taal dan ook is.
Verder is Java een compiled en statically-typed taal, wat gewoon een voordeel is van andere talen die weliswaar per regel code iets expressiever zijn, maar uiteindelijk op schaal niet performen, en lastig te refactoren zijn (wegens dynamically typed)

Dit klinkt een beetje religieus fanatiek, maar ik ben geeneens Java programmeur, maar die haat tegen Java is ongefundeerd.

[Reactie gewijzigd door DLGandalf op 2 augustus 2016 11:28]

Eens. Java is wat verbose, maar als het draait, dan draait het ook stabiel en snel.

Ik schrijf zelf Java, Python en C(++), maar toch voelt Java altijd als een fijne taal aan.

Losely typed zoals Python is leuk, maar soms gaan er dingen kapot die Java had af had gevangen tijdens het compilen.
Soms gaan er dingen kapot in Java die bij Python nooit zouden gebeuren..

Het is niet dat de een taal die beter is als een andere taal. Je moet de juiste taal voor het juiste doel gebruiken.
Ja, en Java is een goede taal voor businessomgevingen.
Python voor grote oplossingen? Meh.
Mja, Java met z'n structuur is niet erg snel starten, maar inderdaad, op grote schaal kan je er vervolgens weer hele leuke dingen mee doen. De vraag is alleen of je naar dat punt toe wilt en ik denk dat de doelgroep van dit soort acties niet de professionals zijn die op die manier werken. Die hebben al 8 uur per dag dit soort taken te pakken.

En als je als Node, Ruby, Python of wat voor andere taal dan ook opeens met Java aan de slag moet is dat even schrikken en lijken heel veel dingen wat overbodig.

Het is ook waarschijnlijk dat men er tegenaan hikt omdat de scope nog niet helemaal duidelijk is, maar dat zal wel veranderen met de vid tut achter de kiezen.

==

Wat ik mij persoonlijk weer afvraag is of je na dat Java uitgangspunt zelf blij in Scala verder mag gaan. ;) :+
Als je goed Java kan schrijven pak je andere talen snel op, dus een goede basis. Maar misschien hadden ze beter iets van Ruby kunnen pakken inderdaad :+

[Reactie gewijzigd door Kura op 2 augustus 2016 11:59]

Ruby is traag. Java en C# schalen veel beter.

Grootste nadeel van Java is de ouderwetse syntax, maar voor de rest heeft het wel een rijk ecosysteem aan (gratis) libraries waar je zo ongeveer alles mee kunt. Bovendien haal je die met Maven of Gradle ook zo naar binnen.

Anno nu is deployen op Linux nogal een hot item (kostenbesparing, schaalbaarheid), dus Java heeft wat dat betreft ook een voorkeur boven C# en .NET.

Op mijn werk gebruiken we nu NancyFX en Mono om een microservice te deployen op Linux (simpelweg omdat de rest van onze software ook in .NET is). Dit voelt toch een beetje als een workaround ten opzichte van Java op Linux (waar we makkelijk een embedded Jetty instance hadden kunnen gebruiken met Spark, of gewoon Spring boot bijvoorbeeld).

En .NET Core 1.0 is in mijn ogen ook nog steeds beta software :P

[Reactie gewijzigd door Lethalis op 2 augustus 2016 16:56]

Nahhhhh, .net/c# is veel beter!

Waarom? Geen idee eigenlijk :+ . Het bevalt me wel heel erg.
Microsoft™ frameworks zijn heel goed als oplossing voor door Microsoft™ erkende problemen«, zodra je buiten die gestandaardiseerde paden raakt kan het behoorlijk beperkt zijn.

We moesten eens een TCP/IP routingspakket herschrijven en toen liepen we tegen allemaal beperkingen aan in de libraries. Hoe kwam dat? Microsoft™ had al een eigen product als oplossing, zelf iets schrijven?.. Niet toegestaan!
Microsoft™ had al een eigen product als oplossing, zelf iets schrijven?.. Niet toegestaan!
Hoe kom je erbij dat dit niet toegestaan is? Het is wel zo dat open source in het verleden nog op gang moest komen en er niet veel alternatieven waren, maar dit wordt ook voor .net steeds gebruikelijker.
Het mocht wel, het kon niet, het was technisch onmogelijk gemaakt.

Het kwam erop neer dat we alle nodes van NT 4.0 Workstation naar NT 4.0 Server moesten upgraden en daarop moest een extra RAS Routing dienst gaan draaien, ik weet niet meer of die ook nog extra kosten.

Met onze aantal nodes destijds was dat budgetair een onhaalbaar bedrag; NT 4.0 Server was nou niet echt goedkoop tov NT 4.0 workstation.
je had dus eigenlijk het verkeerde OS gekozen voor je implementatie. Is dat dan een leveranciers probleem, had je zelf de zaakjes op orde?

Een werkstation is niet gemaakt voor routering, een server wel.
Nee, Er was een werkende status quo. Echter waren al de programmeurs ontslagen en het programma moest herschreven worden. Ik weet niet waar de oorspronkelijke executables in geschreven waren. Het werkte iig op NT 4.0 Workstation.

Het was niet zwaar routeer werk. 1 simpele switch naar een andere interface. (van Ethernet naar ISDN en terug eventueel)

Onder Linux was het waarschijnlijk allemaal gelukt, maar er was helaas ooit een keuze gemaakt voor NT 4.0 waardoor we vastliepen.

Uiteindelijk hebben we heel ISDN er maar uitgegooid en zwaardere internet verbindingen genomen met betere SLAs, maar de failover functionaliteit was foetsie.
Onder Linux was het waarschijnlijk allemaal gelukt, maar er was helaas ooit een keuze gemaakt voor NT 4.0 waardoor we vastliepen.
Maar onder Windows werkte het ook, het was dus wel mogelijk op NT40 workstation. Maar misschien niet via de standaard manieren, waardoor je meteen al moet afvragen of je dan wel zo iets wilt doet. Immers als het nu werkt, kan het morgen in eens niet meer werken wegens een update.
Waarschijnlijk afwijkend ontwikkel pakket gebruikt? Met Visual Studio C# leek het standaard niet te kunnen. Het fijne van de voorgeschiedenis heb ik niet meegekregen.

Overigens is een router gemaakt voor routeren, maar kunnen een workstation of een server het ook.
Ik kan me inderdaad goed voorstellen dat voor zoiets c# wat minder geschikt is en dat je bijvoorbeeld beter c of c++ kan gebruiken (al heb ik die zelf nog nauwelijks gebruikt).

Voor een backend kan Microsoft volgens mij prima oplossingen leveren. Hoe dat zich verhoudt in vergelijking met andere talen: Geen idee.
Op zich is er niets mis met .net/C#, maar voor alle Linux / macOS gebruikers is Java inderdaad wat toegankelijker. Verwacht overigens niet dat ze bezig gaan zijn met TCP/IP routing in de cursus :)

Overigens is Microsoft geen trademark, Windows wel ;)
Verkeerde ASCII iconen bij de verkeerde woorden gezet dus :P Mijn fout.. :(
Ik vind Java en C# prima, en C++ ook nog wel mits goed gebruikt.

Maar ik ben zelf principieel tegen Javascript als back-end, wellicht dat niet iedereen het met me eens is maar ik vind het geen taal om onderhoudbare code mee te schrijven.
Toegegeven, het is erg makkelijk in javascript lelijke en slecht onderhoudbare code te schrijven, maar dat is zeker niet per definitie zo.
Ik werk er, ook voor back-end, graag mee.
Ochja, ook in Java, Scala of andere nog strengere talen kan je prima code refuctoren als het moet.

Maar Javascript kan echt prima korte, modulaire onderhoudbare code met geversioneerde classes en immutable data opleveren hoor. Er zijn net wat meer afsnijroutes beschikbaar, maar je kan echt prestine (geurloze) back-ends in Javascript bouwen.
Je hebt altijd nog Typescript, dat is een hele verbetering IMO
Ik vermoed dat Capgemini vrij veel doet met Java, omdat het een van de meest gebruikte programmeertalen is. Daarnaast lijkt Java op veel andere talen en dat is bijvoorbeeld niet het geval als je Prolog aan zou bieden: de overstap is daarom kleiner en veel programmeurs zullen misschien geneigd zijn om Java eens te proberen op basis van deze tutorials.

Al met al een mooi initiatief lijkt mij aangezien het hier in principe gaat om een win-win situatie (Capgemini is vast op zoek naar talent en de gemiddelde tweaker is wel geinteresseerd in dit soort tutorials).
Daarnaast spelen alle IT opleidingen in op JAVA en Studenten zijn het makkelijkste doelwit voor recruiters / bedrijven zoals Capgemini
Ik ben momenteel een fulltime Java developer, maar ik vind het wel onnodig snel gaan als je beginners wilt leren een backend te maken. Verder leuk om te doen :P dus ik ga het effe fixen ghehe
Het is allemaal nog vrij basic hoor.
Gelukkig staan er wel linkjes bij die de achtergrond meer toelichten zodat je iig nog kan doornemen wat je nou eigenlijk aan het doen bent.

Deze tutorial is duidelijk bedoeld om devs te werven maar ook als je daar geen trek in hebt is het interessant om eens door te nemen als je programmeren leuk vindt.
Er zijn genoeg goede Java tutorials op het internet te vinden zoals hier en hier

Vreemd genoeg zegt Firefox dat de eerste site een malware site is wat mij vreemd lijkt daar het in typisch jaren '90 HTML only site is. Maar je bent gewaarschuwd.
Heel goed initiatief....
Volgend jaar computers beheren via powershell ??
Of via de linux command line?
De vraag is of daar volgend jaar nog verschil in zit..

PS C:\>
PS C:\>bash.exe

Administrator@localhost:/$ runadmintool

:)

[Reactie gewijzigd door koelpasta op 2 augustus 2016 16:41]

Ik werd even blij.... totdat ik cat wilde gebruiken
'cat' is not recognized as an internal or external command,
operable program or batch file.
:|
Er ging toch een uitgebreidere bash shell komen in Win10?
Ja, cat moet je natuurlijk los gecompileerd krijgen. Is een tool en geen functie van bash. :)
Ik snap dan alleen de Keuze voor JAVA niet. Waarom geen tutorials in NODEJS of iets in die richting? Begrijp me niet verkeerd ik vind dit zeer goede ideeŰn maar ik snap de keuze voor JAVA niet.
Maar, Node.Js gebruikt toch ook Java? Of Javascript, weet ik veel hoe het heet, allemaal hetzelfde toch? ;)
Groot verschil tussen NodeJS, JS, FLuxJS en Java hoor :)
Check de knipoog achter mijn reactie :)
Leuk initiatief :) Eens kijken of ik er wat tijd voor kan vinden.
Wat kennis op doen van backend en een andere programmeer taal kan wel handig zijn.

[Reactie gewijzigd door Meessen op 2 augustus 2016 10:13]

Hulde, Tweakers!
Totaal niet mijn afdeling, maar toch ga ik dit weekend er eens induiken om te kijken of dit wat is.

Tweakers! _/-\o_
Heel mooi initiatief. :)
Vorig jaar heb ik wegens tijdsgebrek de tutorial niet kunnen volgen.
Nu ik meer tijd heb ik kan ik ze misschien beiden doornemen.
Ik ben erg blij met dit soort initiatieven.
Volgens mij is dit gewoon een Cap Gemini reclame. Wordt tijd dat tweakers eens netjes gaat melden als ze "advertorials" plaatsen.
Dat is het natuurlijk ook, "Sponsored Content", maar dat is verder niet zo erg aangezien ze wel goed hebben gekeken naar de (originele) doelgroep en daar iets passends bij hebben gevonden.

Vind ik het persoonlijk wel jammer dat het weer over Java gaat, ieder zn ding natuurlijk, maar voor mij is Java een beetje een dood paard, had ik bijvoorbeeld C# tutorials 10x toffer gevonden, maar misschien ligt dat gewoon aan mij.
Roep dan in iets over <hipster language xyz>

C# is dood-er dan Java:
http://www.tiobe.com/tiobe-index/csharp/
http://www.tiobe.com/tiobe-index/java/
Of staat anders even stil:
http://pypl.github.io/PYPL.html
wat je wilt horen...
Volgens mij wel erg want volgens de Reclamecode hoort tweakers dit netjes te melden.
Dit staat gepost als een .actie. Zo staan alle advertorials in de listing op Tweakers. Dus geen reden om af te wijken van de bestaande praktijk.
Een actie is niet hetzelfde als een advertorialt. Volgens de reclamecode moeten gesponsorde onderwerpen duidelijk herkenbaar te zijn. Het woord "Actie" maakt mij niet direct duidelijk dat het om een gesponsord onderwerp gaat.
Volgens mij is het voldoende. Maar omdat aannames over het algemeen fataal zijn zal ik het voorleggen aan onze juristen.
Ook is het woord ".actie" alleen maar te zien op de homepage. Op deze pagina is niet te zien waaruit duidelijk wordt dat het gesponsord onderwerp is (geen .actie en geen advertorial)
De vraag staat inmiddels uit.

Nou is deze aankondiging van de actie een twijfelgeval, maar het geeft wel aanleiding om ons beleid te herzien. We gaan ermee aan de slag. In iteratie #91 (90 is net begonnen) fiksen we een mooie header/aankondiging/iets waaruit duidelijk mag worden dat het om een advertorial gaat.

Dank voor de opmerkzaamheid!

[Reactie gewijzigd door zeef op 4 augustus 2016 14:15]

Capgemini? Is dat niet dat clubje dat regelmatig grote ICT projecten verprutst?
Ik kan niet begrijpen niet waarom dit downgemod wordt.
Deze club verprutst namelijk nog wel meer
En dat ligt natuurlijk volledig alleen aan Capgemini.
Toevallig zijn het allemaal overheids projecten en hele complexen. Misschien zou het daar ook een beetje mee te maken kunnen hebben?

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True