Door Wilbert de Vries

Basiscursus Java programmeren - Leer de basis en maak kans op een opleiding

19-05-2015 • 08:00

196

Tweakers heeft in samenwerking met Capgemini een onlinecursus ontwikkeld om je kennis te laten maken met Java en Android-ontwikkeling. In twaalf virtuele lessen nemen we je graag mee in de wereld van Java en leren we je de basics van het ontwikkelen van een Android-app in Java.

Java is een van de populairste programmeertalen, die tegenwoordig veel gebruikt wordt voor de ontwikkeling van Android-apps, maar het lukt maar een handjevol enthousiastelingen om deze taal zelf onder de knie te krijgen. Toch willen, zo merken we ook op Tweakers, flink wat beginnende programmeurs en enthousiastelingen de programmeertaal leren beheersen. Tweakers en Capgemini hebben de handen ineengeslagen en een serie videotutorials ontwikkeld om je als beginnende Java-programmeur virtueel aan de hand te nemen.

In totaal hebben we twaalf afleveringen gemaakt. De eerste video's zijn relatief eenvoudig te volgen, maar gaandeweg wordt het niveau steeds een beetje opgeschroefd. Hoewel iedere nieuwe tutorial voortborduurt op de vorige, kun je uiteraard later instappen als je bijvoorbeeld al meer ervaring hebt. Thema's die in de video's onder meer aan de orde komen, zijn lay-outs en interactie, views en navigatie, het opzetten van een dynamische lay-out, het maken van notificaties en uiteraard debuggen.

In de komende weken komen er iedere week enkele afleveringen online. Aan het eind van de reeks ben je als het goed is in staat om zelf een Android-app in Java te ontwikkelen. We dagen de deelnemers dan ook graag uit om na afloop de skills die ze hebben aangeleerd in de praktijk te brengen en een eigen app te ontwikkelen. De tweaker die codetechnisch de beste app ontwikkelt en daarin laat zien het geleerde ook echt te hebben gebruikt, wint een Java Certified Associate Track-opleiding. Deze opleiding, ter waarde van 7500 euro, wordt ter beschikking gesteld door Capgemini Academy.

Capgemini Java actie

Reacties (196)

196
194
168
1
0
0
Wijzig sortering
Welke meting wordt er uitgevoerd op de deelnemende kandidaten? De ene beginner is de ander niet en mogelijk kan hierdoor een vals voordeel ontstaan voor sommige kandidaten en liggen de kansen om te winnen dus geheel anders.

Een Tweaker die op het forum misschien 90 posts ooit heeft gemaakt maar ondertussen ook op werk constant met JAVA bezig is, kan door de gemiddelde bezoeker als beginnen/n00b worden gezien "want maar 90 posts" maar heeft ondertussen we de skills om een volledige app in een avondje in te kloppen.
Cap Gemini wilt op deze manier gewoon de beste java programmeurs vinden / aannemen. Voor de leek is deze tutorial gewoon leuk om te doen maar de kans op de cursus voor hen is nihil.
Ik denk niet dat dat het geval zal zijn, zie het meer als een reclame uitting van Cap Gemini. Iemand die met deze twaalf lesjes leert programmeren kan mischien wel de taal begrijpen maar snapt nog niet veel van gestructureerd programmeren. Daar komt veel meer bij kijken.

Er zijn mensen die na drie jaar programmeren met Java nogsteeds niet doorhebben hoe je goed programmeerd. Het gaat ook om de denkwijze en analytisch vermogen om problemen of functionele beschrijvingen te vertalen naar goed onderhoudbare code.

Ook snappen wat je code doet op het gebied van efficientie (hoog / laag geheugen verbruik, onnodige allocaties, hevig CPU verbruik) is een zeer belangrijk aspect.

[Reactie gewijzigd door ronaldmathies op 23 juli 2024 19:23]

Ook snappen wat je code doet op het gebied van efficientie (hoog / laag geheugen verbruik, onnodige allocaties, hevig CPU verbruik) is een zeer belangrijk aspect.
LOL, er zijn alleen een hoop 'programmeurs' die daar bar weinig tegenwoordig nog rekening mee houden of weet van hebben...
En als ik zo kijk bij een hoop van die detacheringbedrijven dan zitten daar een hoop 'programmeurs' bij die echt vaak niet meer dan een paar cursusjes programmeren hebben gedaan (vaak dus omgeschoold van ander werk waar niets te vinden was)..
En zoals ik ook al vaker zeg, 'goed programmeren' is in the eye of the beholder. De en vindt namelijk dat je zo moet programmeren en de ander zus, en weer voor anderen is het 'als het maar werkt en doet wat het moet doen'..
'Goed programmeren' is in mijn optiek code schrijven dat zonder al te veel moeite te begrijpen is door andere programmeurs. Efficientie heeft daar helemaal niets mee te maken. Efficiente code is vaak ingewikkeld en zou alleen geschreven moeten worden als dat stukje code inderdaad de bottleneck is in de applicatie. Als de structuur goed is, dan zal de transitie van simpele inefficiente code naar ingewikkelde efficiente code vlekkeloos gaan.
'Goed programmeren' is in mijn optiek code schrijven dat zonder al te veel moeite te begrijpen is door andere programmeurs.
maarja, dat is dus ook een probleem, want wat voor jou en mij 'zonder al te veel moeite te begrijpen is', kan best zijn dat dat voor een andere programmeur wel weer moeilijk te begrijpen is.. Ik heb het (helaas) al vaak genoeg gezien, iets dat ik heel simpel en duidelijk vond, maar de andere programmeur begreep er niets van, en andersom komt natuurlijk ook voor..

Soms heeft het gewoon te maken, met compleet andere denk patronen en/of kennis van de materie..
"gestructureerd programmeren" is dat niet zoiets van uit de tijd van Cobol? Dat kan nagenoed iedereen met een gemiddeld IQ leren op 12 lessen. Java is toch net object-geörienteerd?
Dat een taal OO ondersteund betekend niet dat men gestructureerd programmeert, veelal zie je nog steeds dat mensen bijvoorbeeld teveel functionaliteit in een enkele methode doet waardoor het unit testen zeer lastig wordt. Of gebruiken ze vreemde constructies waardoor herbruikbaarheid zeer laag is. Zo zijn er een legio situaties te verzinnen waar het fout gaat.
Ik weet niet hoor, maar object oriented is ook gewoon 'gestructureerd' programeren, je wilt toch geen puinhoop veroorzaken...
Inderdaad, voor de beginner zoals ik, die totaal geen ervaring heeft met java (of welke andere programmeertaal dan ook for that matter) is het een leuke tijdverdrijf.

feitelijk is dit van capgemini niets meer dan een verkapte sollicitatie.

Thanks, but no thanks (en ga wel de cursus doen :) )
Inderdaad, voor de beginner zoals ik, die totaal geen ervaring heeft met java (of welke andere programmeertaal dan ook for that matter) is het een leuke tijdverdrijf.
Daar is 'ie ook voor bedoeld. :) Heel veel plezier & succes! :)
Ik denk eerder dat capgemini dan de opleidingen willen verkopen dan de programmeurs zoeken. De grote detacheerders willen al hun bouw werk het liefst uitbesteden naar India.
Sinds wanneer zoekt Cap Gemini goede programmeurs? Ze waren toch altijd op zoek naar mensen met een stropdas die ook een beetje kunnen programmeren?
In mijn beginjaren ben ik afgewezen voor een opleiding/detachering constructie (waar je een opleiding C/C++ kreeg, en dan minimaal een jaar gedetacheerd voor het bedrijf zou werken).

Mijn scores op de tests waren het beste wat ze (in ieder geval die dag) hadden gezien, maar ja, niet aangenomen.

(Dit was het letterlijke antwoord: Eigenlijk zochten ze middenmootjes, omdat die beter te kneden waren naar hun eisen. Uitblinkers zoals ik zouden te snel eigenwijs/verveeld raken met wat ze boden)

Wat ik hier aan overgehouden heb: Veel zelfvertrouwen dat ik als hobby-prutser als programmeur aan de bak kon komen mits ik de kans kreeg (en dat bleek ook zo te zijn).

Maar bij Cap Gemini was een van de eerste vereisten een suit & tie.
(Daar vielen zij ook gelijk door af overigens)
Dit dus. Vooral omdat het code technisch perfect moet zijn. Dat willen jullie bereiken met 12 lessen? Dan is die opleiding dus overbodig.

Ik ga ze wel volgen. Ik heb zelf een middelmatige php kennis en knutsel af en toe een klein tooltje in c#.

Webapplicaties en applets in Java heb ik een hekel aan. Lijkt zo onnatuurlijk te werken en log te zijn..dus ben benieuwd of ik er nog zo over denk na de 'cursus' ;).
Een webapplicatie is dan ook "not done" meer in Java tegenwoordig. Daar heb je dus PHP voor (of ASP)
Huh? Wat? Webapplicaties worden nog vaak in Java gedaan. Vooral voor Enterprise waar de centjes verdiend worden.

[Reactie gewijzigd door Cilph op 23 juli 2024 19:23]

Hij zal doelen op Applets :-)
Niemand gebruikt nog Applets. Zelfs Java niet :-).
Toch wel, de Belgische overheid. Als je met eID wil authenticeren of ondertekenen, moet je nog steeds een Java applet gebruiken...
Waar haal je deze kennis vandaan?
Als ik denk aan bijvoorbeeld een Spring MVC-applicatie in Tomcat dan is dat iets dat zover ik weet zeker nog goed geaccepteerd is.
Hij doelde eerder op Applets denk ik zo, niet een Tomcat server als backend ipv PHP/ASP :-)
uuuhm nee, de grootste webshops gebruiken een op java gebaseerd platform. Zo "not done" is java nou ook weer niet.
Voor hobby websites/projectjes klopt dat inderdaad. Banken, of webshops (baidu), of bvb heel de netflix backend draait allemaal op een volledige java stack hoor.

Netflix is zelfs een heel grote open source java contributor http://netflix.github.io/#repo
Als java voorstander heb ik de discussie over java desktop applicaties al lang opgegeven, maar op de backend is het alive and kicking, voor grote gedistribueerde applicaties met de nodige transactionele garanties is het enorm krachtig.
Dit is gewoon onwaar.
Een klein webbedrijfje dat voor MKB websites ontwikkelt, zal snel naar PHP grijpen, maar voor wat grotere (enterprise) systemen is Java dé taal. Juist omdat het een object georiënteerde structuur afdwingt/bevorderd en omdat er een complete software stack achter zit met veel volwassen libraries.
Jij hebt het over client-side java, dat is not done, daarvoor bestaat Javscript en HTML5, En voorheen Flash.
Server side is het meer geliefd dan php of asp, maar minder populair, juist omdat web-programmatie nog steeds minder prestige heeft.
Hierdoor zijn programmeurs minder happig om te werken aan een website, en ook verdienen ze minder door een website te maken.
Het klinkt gewoon zo banaal. Terwijl een goede web-applicatie veel complexer is te bouwen, juist omdat je zit met zoveel onbekenden, zoals, scherm-resolutie/grootte, input-methode, snelheid, statelessheid die je moet opvangen, browsers die anders renderen,... Snelheid server, ook bij veel connecties,...
Anoniem: 352205 @g4wx319 mei 2015 11:10
Complexer? Wat een onzin. Tegenwoordig schroef je met een degelijk framework (in wat voor taal dan ook, maar pak bijvoorbeeld Symfony of CodeIgniter) en een degelijk CSS framework (bijvoorbeeld Bootstrap) met een JS library (bijvoorbeeld jQuery) binnen no-time een rock-solid webapp in elkaar.

Terwijl een goede web-applicatie veel complexer is te bouwen, juist omdat je zit met zoveel onbekenden, zoals, scherm-resolutie/grootte, input-methode, snelheid, statelessheid die je moet opvangen, browsers die anders renderen,... Snelheid server, ook bij veel connecties,...

Alsof je dat niet hebt met apps op smartphones. Verschillende platformen (iOS, Android, Winphone lol, BB lol), en dan nog eens die duizenden verschillende devices met elk hun OS versie en resolutie.

[Reactie gewijzigd door Anoniem: 352205 op 23 juli 2024 19:23]

Ik heb aardig wat dingen gezien in 3 van de genoemde frameworks (Symfony, Bootstrap en jQu.. Wat? Noem dan AngularJS of KnockoutJS!) en heb veel gezien. Daarom twijfel ik aan je definitie van 'rock-solid'.

Of het complexer is dan een normale applicatie schrijven zal ik niet op ingaan.. Maar het is zeker niet zo simplistisch alsdat je het hier doet voorkomen.
Het feit dat je de complexiteit probeert te weerleggen, bewijst maar weer het punt, dat een website maken ondergewaardeerd wordt tov van een native applicatie.

Dus een Java-programmeur zal zich toeleggen op "een echte" applicatie, ipv een webframework. Dus Java blijft veel minder populair op het web.
Een PHP-programmeur heeft buiten het web niet veel aan zijn taal. En uiteraard kan je dan toeleggen op C# of ASP, maar die talen worden ook niet gebruikt op het web.
Anoniem: 167912 @Montaner19 mei 2015 10:37
Webapplicaties en applets in Java heb ik een hekel aan. Lijkt zo onnatuurlijk te werken en log te zijn..dus ben benieuwd of ik er nog zo over denk na de 'cursus' ;).
gezien de cursus lijkt te gaan over android vermoed ik van wel
Vooral omdat het code technisch perfect moet zijn.
Juist, en daar heb je dus al een probleem IMHO, want wat is 'code technisch' perfect, wat de 1ne perfect vindt, hoeft dat niet te zijn voor de ander.. En dan heb je dus altijd groepen die vinden dat een heel bekend boek (ben even de naam vergeten, maar de meeste weten wel welk boek ik bedoel) DE bijbel is, en dat DAT de manier van goede code is..

Ook vinden sommige dat je door en door en door moet blijven refactoren, terwijl dat vaak gewoonweg niet nodig is, Leuk hoor, maar komt ook vaak de performance niet ten goede, en uiteindelijk is het vaak genoeg gewoon code die je maar 1 keer hoeft aan te raken.. Refactoren doe je maar op het moment dat je de code voor de 2e keer moet aanraken..
Gang of Four design patterns toevallig? Daar ben ik recentelijk aan begonnen en damn, daar heb ik pas echt leren begrijpen wat OO inhoud en hoe je structuren aan kunt brengen met minimale hoeveelheden code.

Zeker een aanrader, en als je wat makkelijker leesvoer wilt zou ik in plaats van Gang of Four naar Head First design patterns kijken, die leest heel gemakkelijk weg en is ook voor wat minder geavanceerde programmeurs te doen! O-)
Ik dacht precies hetzelfde. Als leek wil ik dit zeker eens proberen. Al ben ik er zeker van dat ik geen kans maak om te winnen, aangezien er ongetwijfeld Tweakers zullen meedoen die WEL kunnen programmeren in Java...
Het gaat als ik de video's bekijk alleen om Java programmeren ten einde een Android applicatie te ontwikkelen? Dat komt in de tekst iets minder goed naar voren.
Wat had je dan verwacht? Volgens mij is het niet mogelijk om een Apple-app te schrijven in Java. Dat is namelijk nog steeds één van de problemen waarmee de meeste 'Appsboeren' mee spelen.

Verder vindt ik dit een hele leuke actie! maar mijn vraag is hoe garanderen we dat de App is gemaakt door een mensen die bijna van 'NULL' beginnen. Ik ken namelijk behoorlijk wat mensen die in de JAVA wereld zitten en zo'n cursus graag willen doen nog. Alleen echter hebben ze al wel een jaar ervaring met het programmeren hiervan.

Hierkunnen 'leken' toch niet tegen op!

Verder wel een super leuke actie dat jullie dit doen! ik zal ook de cursus zelf volgen en ben benieuwt hoe makkelijk dit te volgen is.
C# heeft daar anders geen last van.
Met Xamarin (welke incuded is in visual studio 2015, en waarvan er een gratis community edition zal beschikbaar zijn) kan je 1 code base voor de 3 prominente mobile platformen gebruiken.

De drempel van java => c# is erg klein (ik ben zelf 5 jaar geleden geswitched)
Microsoft is dezer dagen veel meer Open (en dat is goed)

En ieder moet ergens beginnen nietwaar? ;)
Ja maar - het blijft een compromis, en je bent of beperkt tot de 'lowest common denominator' tussen de verschillende platformen, of je moet alsnog voor drie platformen specifieke features maken. Ik heb er weinig ervaring mee, maar de eerste demo die ik zag was niet bepaald overtuigend - werkte alleen goed onder een van de drie OSen, een andere waren de font groottes nog niet goed, weer een ander deed het helemaal niet, en het eindproduct werkte gewoon niet goed op geen van de platforms.

Met andere woorden: Xamarin is OK als je je UX niet zo belangrijk vindt.
Het punt is dat je voor een goede interface voor elk os natuurlijk een eigen UI zal moeten maken (zelfs met xamarin), maar je kan je busineslogic behouden.
Voor Macs kan je wel degelijk Java applicaties schrijven. Toch neem ik aan dat je iOS bedoeld en daarin heb je wel gelijk.
Niet helemaal ;) https://github.com/google/j2objc al zal je hier niet gebruik van maken tenzij je aanzienlijke business logica hebt die je over moet brengen in een iOS app. Veel apps doen veel op de server en in de UI, en dan is dat project van Google niet interessant. Maar het is niet onmogelijk.
Die heb ik inderdaad niet. Maar bedankt voor de info, het is altijd leuk om wat te leren.
Wat had je dan verwacht? Volgens mij is het niet mogelijk om een Apple-app te schrijven in Java. Dat is namelijk nog steeds één van de problemen waarmee de meeste 'Appsboeren' mee spelen.
Java draait op Windows, Linux, OSX, Andoid en nog meer platformen. De "cursus" wordt op deze manier beperkt van multi-platform applicatie ontwikkeling tot app-development op één platform.
Wat had je dan verwacht? Volgens mij is het niet mogelijk om een Apple-app te schrijven in Java.
Java is veel meer dan alleen maar de programmeertaal waarin Android apps geschreven worden. Apps worden hier gebruikt om toekomstige ontwikkelaars te enthousiasmeren. De kans dat je daadwerkelijk als Javaan aan apps komt te werken is relatief klein. Maar goed. Ik heb niet de moeite genomen om de video's daadwerkelijk te bekijken, omdat ik buiten de doelgroep val. Ik neem aan dat ze niet meteen op nuchtere maag beginnen met Spring, JPA en andere frameworks. :)
Jammer in mijn ogen, Java is platform onafhankelijke, maar de tutorial wordt nu aan een platform gehangen waardoor hij een stuk minder interessant wordt.
Maakt toch niet veel uit? Het beste om te leren programmeren is door een leuke afgebakende opdracht te maken. Nu is er gekozen voor een Android app omdat veel mensen daar feeling mee hebben en dit kunnen demonstreren aan hun omgeving. Kijk wat ik heb gemaakt!

De basics komen echt wel naar voren zoals Libraries, API's, Debuggen en Logging. Als mensen die leuk vinden dan gaan ze vanzelf verder leren (op wat voor manier dan ook) Je kunt nu eenmaal niet leren programmeren door meteen een enterprise applicatie te gaan bouwen.
Aan de andere kant sluit je een (grote) groep mensen uit. Ik heb geen Android devices, dus ik heb geen echte mogelijkheid te testen of te demonstreren, Daarnaast heb ik er helemaal geen feeling mee. Afbakening is goed, maar doe dat niet op platform, maar in bijvoorbeeld het doel, of geef een opdracht mee (bouw een game, bouw een calculator etc)
Tja als het gebruik van een emulator of het aanschaffen van een Android device al te veel moeite voor je is moet je afvragen of software development uberhaupt wel iets voor je is. Juist als software ontwikkelaar wordt van je verwacht dat je verder kijkt. Code regels kloppen kan iedereen.

Sowieso is dit gesponsord door Cap, kennelijk zijn zij op zoek naar junior Android ontwikkelaars met een Java affiniteit.
Anoniem: 455646 @GrooV19 mei 2015 12:51
Niet iedereen heeft voldoende geld voor 2 telefoons.
Ik niet bijvoorbeeld... heb een iPhone.. maar een 2de mobiel erbij nemen kost mij teveel geld.
Je hebt voor een paar tientjes een 2e hands Android. Daarnaast zijn er gewoon gratis emulatoren, dus ik zie het probleem niet
Emulators zijn over het algemeen heel erg traag. Maar ja, het werkt.
Juist als software ontwikkelaar wordt van je verwacht dat je verder kijkt
|:(
Ik kijk ook verder, verder dan de wereld van (android) apps..
Sowieso is dit gesponsord door Cap, kennelijk zijn zij op zoek naar junior Android ontwikkelaars met een Java affiniteit.
Android apps zijn geen business voor Cap, die hoeven ze hoog uit af en toe voor een klant te maken, en daar kunnen ze externe partijen voor inhuren.

[Reactie gewijzigd door Zer0 op 23 juli 2024 19:23]

Alsjeblieft zeg, er zijn een heleboel Android emulators. Apple weet ik niet, daar nooit naar gekeken en WPhone heb je ook emulators voor dacht ik.

Voor je PC heb je o.a. BlueStacks om Android te draaien. Ik vind typen op een touchscreen irritant, als ik bijv. druk aan het appen ben dan gebruik ik BlueStacks om met een normaal toetsenbord te typen.

Imo leuk dat ze eens Android kiezen ipv weer voor Apple te gaan. WPhone kan ook, maar vraag mij af hoe groot de userbase daarvan is. Ik weet niet of het nog geld kost om apps te plaatsen/downloaden op IOS, maar dat zou een reden kunnen zijn dat ze het niet voor IOS maken. Dat ze de keuze maken voor 1 platform heeft ook wel logica, je hoeft maar 1 platform te controleren/testen. Ze zeggen wel dat het om code perfectie gaat, maar het lijkt mij ook zeker wel reëel dat ze kijken naar of de app zelf ook iets te bieden heeft of inspiratieloos is.
Emulatoren zijn leuk om te testen, maar in productie heb je er weinig aan..
Imo leuk dat ze eens Android kiezen ipv weer voor Apple te gaan. WPhone kan ook, maar vraag mij af hoe groot de userbase daarvan is.
Weer die beperkte blik... programmeren is meer dan appjes maken voor telefoons, en Java heeft juist als grote speerpunt de platform-onafhankelijkheid, die men hier zo ff opzij schuift.
Installeer dan android x86 op je netbook die je wel hebt liggen ergens, of in een vm.
En er is ook een officele android emulator van google, al is deze heel traag
Ja maar het positieve van deze manier is dat je direct iets hedendaags (een android app) naar huis kan nemen. Dat moet de jongere groep aantrekken.
Het probleem is dat het meerendeel van het Java werk (wat ook Capgemini voornamelijk doet) gewoon saai back-end werk is - daar trek je geen nieuwe mensen mee aan.
Ik dacht dat er al uit op te maken gezien het ook erg leunt op de grafische kant. Iets wat in JAVA nou niet echt gestandariseert is met al die UI frameworks.

Het belangrijkste is dat er inzicht verkregen word in hou je nou moet programmeren, ik hoop niet dat er te veel nadruk op het grafische Android laagje ligt want dan leer je nog net niets.
Dat werd uit de eerste versie van de tekst niet helemaal duidelijk. Er staat nu duidelijk in dat het om Android-apps schrijven gaat :)
tenzij de tekst van het artikel is aangepast vind ik toch dat het artikel duidelijk naar voren brengt dat het uiteindelijk om een android applicatie gaat.. of dat nu positief is, is een ander verhaal.. maar wel een leuk initiatief..
Dat lijkt er wel op gezien de rest van de tutorials. Java is meer dan alleen ontwikkelen voor Android, er is ook nog web development, gewone desktop applicaties, embedded development en nog veel meer.
Wel een leuk initiatief, het is best lastig om goede ontwikkelaars te vinden en op deze manier kan je alvast een beetje het kaft van het koren scheiden en zo een eigen kweekvijver opzetten.
Als alternatief; deze (Engelstalige) beginners cursus vond ik zelf wel goed: http://courses.caveofprog...va-for-complete-beginners. De stem / intro's zijn even schrikken, maar de inhoud is wel behoorlijk compleet.
Ik denk dat je hiermee aan Java applets denkt die aan de client side draaien.
Java server pagina's in Tomcat worden zover ik weet nog veel toegepast.
Volgens het W3 gebruikt een halve procent van de webservers het nog. Niet echt relevant meer denk ik dan..

http://w3techs.com/technologies/details/ws-tomcat/all/all
En hoe up to date is die site? (of hoe goed wordt Tomcat door die site gedetecteerd)

Er staat daar bijvoorbeeld:
How to read the diagram:
Version 5 is used by 100.0% of all the websites who use Tomcat.
Worden versies 6 t/m 8 dan helemaal niet gebruikt? Dat lijkt me erg stug.

[Reactie gewijzigd door _Peter2_ op 23 juli 2024 19:23]

Inderdaad, om een gewone website te maken zijn er handigere alternatieven en is java helemaal niet nodig.
Maar als je een applicatie naar het web wilt brengen zit je bij java juist zeer goed. 99% van de websites op het web zijn geen applicaties, in bedrijven darentegen..
Bij bijna alle grote banken, financiële instellingen, handels applicaties, onderwijs ondersteunende applicaties en integratie software wordt Java gebruikt. Ik weet niet hoe je aan jouw wijsheid komt, maar het is denk ik een van de meest gebruikte programmeertalen. Juist op het web.
Voor simpele websites voldoen talen als PHP prima, maar als je het bijvoorbeeld over internet bankieren enzo hebt kom je vrijwel altijd uit op Java. Ook interne applicaties bij banken draaien vaak op Java. Denk aan interne systemen voor hypotheken, bewaking van documenten, koppelingen naar andere banken enz. Dat wil niet zeggen dat een andere taal minder of slechter is, maar een taal als Java leent zich er beter voor.
Natuurlijk zal de website van de lokale tennisvereniging niet gemaakt worden in Java, en dat soort sites is natuurlijk ver in de meerderheid, maar om dan te zeggen dat Java dood is is echt onzin.
Front end ja, maar backend wordt het nog heel veel toegepast. Of dacht je dat de ~ 10.000.000 developers wereldwijd allemaal thuis zitten werkeloos te zijn.
:?

de eerste zin:

Tweakers heeft in samenwerking met Capgemini een onlinecursus ontwikkeld om je kennis te laten maken met Java en Android-ontwikkeling.

wat is er daarin dan niet duidelijk? lijkt mij niet zo heel veel aan de verbeelding overlatend?


Spuit-11, tekst schijnt te zijn aangepast.

[Reactie gewijzigd door tritimee op 23 juli 2024 19:23]

Slimme advertorial.
Het doet me denken aan mijn eerste ervaring met programmeren. Dat was in C, waarschijnlijk niet de handigste eerste taal om mee te beginnen.
Er is niets mis met programmeren in C wat mij betreft. Het geeft je in elk geval een stevige basis.
ACM Software Architect @ATS19 mei 2015 08:20
Op zich ben ik dat met je eens. Met dien verstande dat het in C natuurlijk wel heel lastig is om de wat modernere concepten te leren zoals allerlei aspecten rond OOP.

Daar is Java dan weer wel een handige(re) taal voor. Hoewel je ondertussen ook Java natuurlijk niet zomaar meer een moderne (in ieder geval geen nieuwe) taal kunt noemen :P
Op zich ben ik dat met je eens. Met dien verstande dat het in C natuurlijk wel heel lastig is om de wat modernere concepten te leren zoals allerlei aspecten rond OOP.
Ga je nu serieus C met Java vergelijken t.a.v. object oriëntatie en dan noemen dat het in C lastig is? Daar is natuurlijk C++ en C# voor.
C++ en C# zijn natuurlijk niet hetzelfde als C. Vooral C++ heeft een heel stevige C legacy, maar het is niet dezelfde taal. ACM heeft dus gelijk: voor het leren van OOP is C niet zo geschikt. C++ natuurlijk wel :)

* ATS is C++ developer
OOP modern? Hmmm... Het is een aspect van programmeren en zeker nuttig om te beheersen, maar het is natuurlijk niet de enige belangrijke benadering. Generic programming en functional programming zijn bijvoorbeeld ook niet onbelangrijk om het eens zacht uit te drukken. Al die technieken horen in de toolbox van een goede programmeur.
Dat werd ook gezegd over PHP en Java. Dat men beter kon beginnen met PHP dan met Java. Ik begon pas programmeren te begrijpen toen ik Java leerde programmeren. Dingen als datatypes en object orientated programming.
Net als dat javascript ook niet zo ideaal is om mee te beginnen. Java compiled simpelweg niet als je Strings en Integers door elkaar haalt. Bij javascript draait het gewoon met een ander gedrag.
JavaScript en Java hebben dan ook 0,0 met elkaar te maken. Het enige wat ze gemeen hebben zijn de eerste vier chars van de naam. Java is een brede taal, JS is een scripttaal voor het web.

Hoe je bij "eerst PHP, dan Java" komt is me ook een raadsel. Ook die twee hebben amper raakvlak. Maar goed..
Ik denk dat je een beetje snel punten wilt scoren toen ik java en javascript in 1 bericht heb gezet. Ik veronderstel nergens dat java gelijk is aan javascript, er is echter wel een overeenkomend factor en dat is dat er in beide gevallen gaat om programmeren. Ook in PHP programmeer je. Dat je runtime anders is zal me reet roesten.
Anoniem: 463321 @sfranken19 mei 2015 09:53
Lees de voorgaande reacties dan eens beter . Wellicht snap je het dan.
Dat Java en javascript niets met elkaar te maken hebben wil niet zeggen dat je ze als taal niet kunt vergelijken. En in dit geval ging het vergelijken om een taal die je beter wel of niet kunt kiezen om te leren programmeren.
C is een prima taal om mee te beginnen, het is lekker simpel en met C is het makkelijker uit te leggen hoe veel dingen onderliggend werken dan bij Java. Bijvoorbeeld het concept van stack en heap memory. Niet heel ingewikkeld om uit te leggen, maar bij Java is het niet echt relevant. Toch misschien wel belangrijk om te weten.

[Reactie gewijzigd door Wolfos op 23 juli 2024 19:23]

De pointers en het alloceren in C is echter vrij geavanceerd voor een beginner en leidt af van hetgeen ik als meest nuttig zie, het abstracte denken dat bijvoorbeeld in OO programmeren naar voren komt.
Er zijn nog universiteiten waar word begonnen met programmeren in C om een paar verschillende redenen.

De eerste is dat je dan echt door hebt wat je allemaal doet, aan allocaties, maar ook veel meer in operaties. Daarnaast is het erg bare-metal, waardoor je goed moet nadenken over hoe je iets doet, zoals bijvoorbeeld een lijst sorteren in plaats van gewoon de ingebouwde functie sort aan te roepen.

Het is ook een erg goede taal om vanuit te groeien. Als je C kan kun je relatief makkelijk overstappen naar alle talen die een C based syntax hebben, of imperatief zijn en dat zijn er nogal veel. Een overstap naar java is dan bijvoorbeeld relatief makkelijk. De stap van java naar C is echter een stuk minder makkelijk, terwijl je tijdens je opleiding zeer waarschijnlijk wel C(++) wilt gaan kunnen ivm bijvoorbeeld op systeemlaag code schrijven of voor snel genoege code voor bijvoorbeeld computer graphics.
Een prima taal om mee te beginnen wat mij betreft. Naar mijn idee doe je er goed aan om als Java programmeur ook enige kennis van C te hebben. Op deze manier verkrijg je meer inzicht in wat er low-level gebeurd.
Ik zit er al jaren aan te denken om eens wat aandacht te besteden aan een programmeertaal. Gewoon een start maken en dan kijken of ik het wat is voor mij en of mijn brein het een beetje wil oppakken.
Het probleem is alleen dat ik geen idee heb met welke taal ik moet beginnen en waarmee ik moet beginnen. Ik zou graag kleine mobiele games willen ontwikkelen (ik ben zelf graficus).

Overigens is dit wel een hele leuke aktie van Tweakers!
Exact voor mij! Geen idee wat nou een goede taal is om mee te beginnen. Of JAVA dat nou ook is, weet ik nog steeds niet maar ja, dit wordt nu aangeboden!
We gaan het zien.
Met Java gaat dat zeker wel lukken. Deze tutorials lijken mij wel handig voor je en anders heel veel YouTube kijken :) TheNewBoston daar heeft echt tutorials van zowat alles wat je kan bedenken, ook android apps
Precies dit. En met die open vraag mag je geen topic openen, dus begin je maar met niets. Wat dat betreft wel jammer dat Tweakers geen overzichtelijk topic heeft met een opsomming en strakke uitleg wat je kunt met elke programmeertaal, terwijl je tegelijkertijd die vraag zelf ook niet mag stellen. Best lastig om uit te zoeken als volledig noob. Het enige wat bestaat is de PRG FAQ, maar dus zonder wat je waarvoor gebruikt en waarom. Wat programmingskills of in elk geval de gedachte erachter hebben lijkt tegenwoordig steeds meer nut te krijgen, op steeds meer vlakken, maar dan moet je wel weten welke en waarom je die taal nodig hebt.

Ik zit dus in hetzelfde schuitje als jij lijkt het. Gewoon kaal met iets beginnen zonder enig doel is weinig motiverend en dan nog de vraag of het de goede taal was. Ik ga er sowieso naar kijken en hoop dat de achterliggende gedachte tbv inzicht ook duidelijk wordt besproken. Al is het niets, dan heb je er toch een beter beeld van dan nu. :)

Wat ik me bij deze nog wel afvraag a.h.v. bovenstaand is waarom bijvoorbeeld Java nu gekozen is, aangezien men in de reacties het ook heeft dat het met andere talen kan. Waarom Java en geen andere?
Java is een goede start :)

Ik heb leren programmeren met het Java Beginners Handboek. De online versie is hier:
https://docs.oracle.com/javase/tutorial/

Lees alle pagina's rustig door en volg de opdrachten. Speel ermee en heb geduld. Je leert het niet in een dag :P

[Reactie gewijzigd door Gamebuster op 23 juli 2024 19:23]

En wat nou als pro java developers mee gaan doen met deze "wedstrijd"? Niet echt eerlijk toch.
Een pro java developer die een cursus java wil winnen? Tijdverspilling dan toch?
Mwah, een Java Associate certificaat is een dure grap. Handig zodat je meteen kan doorspringen naar Java Professional.
Niet echt, ik ken een aantal pro java developers die geen papiertjes hebben, maar wel de skills. Een certificaat kan ze dus goed helpen mochten ze ooit weer elders willen soliciteren.
Anoniem: 370778 @vlahonda19 mei 2015 11:27
Je doet toch mee voor jezelf, toch niet voor de prijs. Als je wel voor de prijs meedoet dan moet je het niet over eerlijk oid hebben, maar gewoon laten zien wat je kan.
Maar de meeste doen dus wel mee voor de prijs...
Anoniem: 414757 19 mei 2015 08:17
Goed initiatief. Ik hoop dat er ook actie wordt ondernomen voor C#.net
Ik denk dat je daar meer aan hebt nu MS de weg van assimilatie is ingeslagen.
Alleen op de desktop is MS nog altijd dominant en op consoles hebben ze een behoorlijk aandeel. Op alle andere markten is het een zeer kleine speler. Buiten MS is de adoptatie van C# vrijwel 0 natuurlijk.

Edit: kennelijk wordt het buiten Windows (-achtige) omgevingen meer gebruikt dan ik dacht. Ik sta gecorrigeerd ;)

[Reactie gewijzigd door ATS op 23 juli 2024 19:23]

Er zijn heel veel ontwikkelaars die in C# voor IOS en Android schrijven.
Echt waar? Dat verrast me. Heb je daar cijfers over?
De grootste aanbieder is Xamarin. Daar zijn 1 miljoen develpers aangemeld.
Unity3D gebruikt ook C#
UnityEngine wat je op elk apparaat kan draaien kan je ook met C# gebruiken. Sterker nog, van alle tuturials die ik zie voor Unity gebruikt iedereen C#.
Lekker vendor lock-in promoten
Anoniem: 414757 @Fawn19 mei 2015 10:22
Die stelling snijdt geen hout natuurlijk.
C# is geen Microsoft en is op alle platforms te gebruiken.
.Net Framework is Opensource.
MS heeft zelfs gratis ontwikkel omgevingen gelanceerd voor Linux en Mac.

Apple is open? Android is open zolang je maar aan hun voorwaarden voldoet en berijdt bent om je data af te staan. Ik heb geen illusie dat MS beter is, maar qua ontwikkelomgevingen is MS superieur ten opzichte van de anderen.
Java staat los van Apple of Android en is juist daarom zo mooi.
De ports van Microsoft voor Linux zijn vrijwel altijd halfbakken beta builds die mijlenver achterlopen op de technologie die voor windows beschikbaar is.
Hoezo staat java los van android? laatste keer dat ik keek was dat nog steeds DE taal voor android.. En de taal zelf staat natuurlijk los van het gebruikte framework..
En microsoft is nu dus een inhaalslag aan het maken voor C# verbeteringen over verschillende platformen, waar dus ook eigenlijk weer niet de taal is dat het probleem is, maar het framework, maar zoals ik al zei, MS is daar nu hard mee bezig om ook dat probleem op te lossen voor andere platformen.
Android is gebonden aan java, niet andersom. De hele java community zal er weinig of geen hinder van ondervinden als android ooit verdwijnt.

C# blijft hard aan windows gebonden. Toon me anders een default linux distro waar je een volledige development en testing omgeving in kan opzetten voor C# en die volledig dezelfde mogelijkheden biedt als in windows?

Waarom zou je ook je willen binden aan C#? Vrije alternatieven genoeg. Maar ja, wat de boer niet kent, eet hij niet? Je zoekt precies excuses om het te promoten, terwijl het imo belangrijke nadelen heeft (niet opensource, hard aan MS gebonden, geen open community, kost je geld, ..).
Maar C# IS vrij, de taal zelf was al neergelegd bij ISO (en daarmee dus vrij te gebruiken) en ze zijn nu bezig om het hele framework waar mogelijk opensource te maken.
Tja, je kunt ook zeggen dat je je met Java hard aan Sun/Oracle verbind.
En er is heel HEEL veel te vinden voor C# en de community is zo open als het maar zijn kan..
Tevens hoeft het je geen drol te kosten, zeker nu niet meer, want de laatste visual studio is gewoon gratis (tot 5 devs), en voorheen had je de express edition...
En dan kan ik dus precies hetzelfde zeggen tegen jou: "Maar ja, wat de boer niet kent, eet hij niet"..
Op Linux heb je overigens al heel lang monodevelop, en nu is er ook een beperkte visual studio beschikbaar (die met elke versie natuurlijk uitgebreider gaat worden, immers kunnen ze niet alles in 1 keer)..
Beetje onzin nu de CLR wordt geport naar Linux en OSX
Waarom zou je eigenlijk C# gebruiken ipv Java/Scala/Groovy/.. ?
Eerlijk, wat heeft die port te bieden aan developers die het gewend zijn met open source te ontwikkelen?
Mijn inziens vult het een behoefte van C# developers (ze worden lichtjes bevrijd van hun lock-in), verder ligt niemand er wakker van.
Java lijkt me ook erg interessant. Ben momenteel bezig met een opleiding tot web developer. In December ben ik daar mee klaar. Ik heb ambitie om straks apps voor Ubuntu Touch te gaan schrijven, maar die baseren niet op Java (volgens mij HTML5 / CSS en C+(+)). Maar goed; ik heb nog een half jaartje te gaan tot ik de basis heb geleerd. Van daaruit gaan we weer verder kijken :)

[Reactie gewijzigd door Titan_Fox op 23 juli 2024 19:23]

Ubuntu touch is HTML5 en CSS inderdaad, maar je kunt ook apps schijven in C (GTK toolkit). Het is dus of-of, HTML + C zover ik uit de howtos kan halen
Eerder QML (met javascript) en C++.
C++ denk ik? C+ bestaat (voor zover ik weet) niet.

[Reactie gewijzigd door ATS op 23 juli 2024 19:23]

Interessant, aangezien ik thuis geen internet heb. Is het mogelijk de videos te downloaden en offline te bekijken?
Anoniem: 402720 @[Roland]19 mei 2015 09:12
Wow! Dat is oldschool.
Er zijn meerdere browserplugins/extensies die embedded media voor je downloaden. Voor firefox bv https://addons.mozilla.or...don/video-downloadhelper/
Nee, helaas worden de video's niet ter download aangeboden. De video's worden voor langere tijd aangeboden (in ieder geval 2015), dus je kunt altijd op en later moment ook nog dingen opzoeken. Daarnaast is een tweaker vast creatief genoeg om er anders omheen te werken. ;-)
Hoeveel tijd heb je na afloop van de afleveringen om je app te schrijven? Is nu niet duidelijk.
Het zal ook nog toegevoegd worden aan de omschrijving, maar de deadline voor de app is 12 juli 2015.
Dit zijn leuke acties. Vooral nu programeren in steeds meer beroepen toepassing zal vinden, kan dit voor velen een zetje in de goeie richting zijn.

Ik ga de afleveringen zeker volgen.
Er zit een groot verschil tussen programmeren als beroep of een scriptje maken die even iets uitvoert.
Soms begin in daar toch echt aan te twijfelen (ben zelf programmeur voor beroep) als ik zo rond kijk...
Op korte termijn heb je vaak gelijk. Wat ik hier zie is dat er 100'den programmaatjes in het bedrijf draaien.

Na 5-10 jaar gaat de persoon weg die het heeft gemaakt en komen ze bij ons uit om het te onderhouden, of voor aanpassingen omdat het niet meer werkt ( bv na een windows migratie).
Wellicht. Maar het een begint vaak met het ander. Ik val zelf in de eerste categorie overigens.

Op dit item kan niet meer gereageerd worden.