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 , , 129 reacties
Submitter: Speeder

Java bestaat zaterdag twintig jaar. James Gosling begon in 1991 het project dat zou leiden tot de programmeertaal, maar pas op 23 mei 1995 werd de taal officieel uitgebracht voor het brede publiek. Java is nu een van de populairste programmeertalen ter wereld.

Java begon in 1991 als project van Sun Microsystems, een in 1982 opgericht bedrijf dat vijf jaar geleden werd overgenomen door Oracle. Het geheime 'Green Team', met als oprichters Patrick Naughton, Mike Sheridan en James Gosling, moest toekomstige ontwikkelingen in de computerindustrie voorspellen. Ze concludeerden dat computers voor consumenten een grote vlucht zouden kunnen nemen. Het team ontwikkelde daarop een prototype van een controller voor home-entertainment-apparaten, zoals kabeldecoders. Het kastje draaide op een nieuwe programmeertaal: Oak, ontwikkeld door Gosling.

Kabelmaatschappijen waren niet geïnteresseerd om de technologie te gebruiken, dus richtte het Green Team zijn aandacht op het prille internet. Dat had nog geen mogelijkheden tot dynamische content. Oak, waarvan de naam in 1994 veranderd werd in Java na een handelsmerkkwestie, kon dat wel bieden door middel van in de webpagina ingebedde applets. De taal werd daardoor al snel populair voor het web, mede doordat de destijds dominante Netscape-browser hem ondersteunde vanaf de publieke release van Java op 23 mei 1995.

Zeer verdienstig in de vroege jaren was een Nederlandse programmeur genaamd Arthur van Hoff. Hij was binnen het Java-team verantwoordelijk voor de compiler en heeft een grote invloed gehad op de uiteindelijke specificatie van de taal. Toen Java uiteindelijk ingezet werd als een taal voor het web was hij daar ook nauw bij betrokken.

Op internet werd de taal op termijn verdrongen door Adobe Flash en later html5 en javascript. De voor veel platformen geschikte programmeertaal vond nieuwe toepassingen in de enterprisemarkt vanwege zijn kracht en toepasbaarheid. Sun bleef de taal ontwikkelen. Zo bood de tweede generatie Java de mogelijkheid om applets op servers zelf uit te voeren als webapplicatie, terwijl mobieltjes en pda's hun eigen versie kregen in de vorm van de Java Micro Edition. In 2007 werd de broncode van de gehele taal vrijgegeven, nadat eerder al delen van de taal volgens een opensourcelicentie werden vrijgegeven.

Java wordt vandaag de dag gebruikt door negen miljoen ontwikkelaars; de taal draait op zo'n zeven miljard apparaten. Java is een van de meest gebruikte programmeertalen ter wereld, en wordt naast voor wetenschaps- en businessdoeleinden gebruikt voor computerspellen als Minecraft. Veel Android-apps zijn ook gebaseerd op Java. Oracle en Google liggen daarover nog steeds in de clinch in de rechtszaal, omdat Google voor zijn eigen Java-implementatie delen van de code en structuur van Oracle-api's overnam. Die zaak ligt nu bij het Amerikaanse Hooggerechtshof.

Oracle is inmiddels verantwoordelijk voor de ontwikkeling van Java, dat nu bij versie 8 is aangeland. Java 9, dat in 2016 moet verschijnen, moet de taal modulair en daardoor flexibeler maken. Oracle heeft een tijdlijn online gezet ter ere van het twintigjarig bestaan van Java; daarnaast geeft het tot het eind van dit jaar korting op Java-certificaten voor programmeurs.

Moderatie-faq Wijzig weergave

Reacties (129)

Hier een interview van Tweakers met Arthur van Hoff die de orginele compiler heeft gemaakt en aan de specificatie heeft gewerkt. Uit de serie "Van de polder naar de Valley" video: Van de Polder naar de Valley: Java-grondlegger Arthur van Hoff
Ja, dat schoot me net ook te binnen, een Nederlander die aan de voet van Java stond. Had de video al gezien destijds, maar toch raar dat er geen verwijzing naar hem in het artikel staat :)
Nederlanders staan wel vaker aan de wieg van technieken die groot worden, zoals het internet. :) Door goede banden met de VS waren wij het eerst land na de VS dat toegang kreeg tot het NSFnet.

Polderpioniers aflevering
reviews: Internet in Nederland viert vijfentwintigste verjaardag
apart dat deze niet vermeld is in het artikel o.o
Stond er in het originele artikel nog niet in. Pas later toegevoegd (:
Zeer verdienstig in de vroege jaren was een Nederlandse programmeur genaamd Arthur van Hoff. Hij was binnen het Java-team verantwoordelijk voor de compiler en heeft een grote invloed gehad op de uiteindelijke specificatie van de taal. Toen Java uiteindelijk ingezet werd als een taal voor het web was hij daar ook nauw bij betrokken.

[Reactie gewijzigd door svenvNL op 22 mei 2015 20:08]

Java wordt vandaag de dag gebruikt door negen miljoen ontwikkelaars; de taal draait op zo'n zeven miljard apparaten. Java is een van de meest gebruikte programmeertalen ter wereld, en wordt naast voor wetenschaps- en businessdoeleinden gebruikt voor computerspellen als Minecraft. Veel Android-apps zijn ook gebaseerd op Java. Oracle en Google liggen daarover nog steeds in de clinch in de rechtszaal, omdat Google voor zijn eigen Java-implementatie delen van de code en structuur van Oracle-api's overnam.
Wie weet er eigenlijk het verschil tussen java, en javascript? Volgens mij worden die twee vaak met elkaar verward terwijl ze heel anders zijn.

[Reactie gewijzigd door nul07 op 22 mei 2015 19:40]

Java en JavaScript zijn verder ongerelateerd. JavaScipt is een web scripting taal ontwikkeld door NetScape en Mozilla. Het heeft alleen een deel van de naam overgenomen. De semantiek is verder enorm verschillend en de syntax is gebasseerd op die van C en niet van Java.
Wat doet JavaScript dan tegenwoordig veel in de IoT wereld. En als server taal? JavaScript is ook aan het evolueren als je kijkt naar de veranderingen in Ecmascript 6 en later 7. Of JavaScript op soort van Microcontrollers.

Dat JavaScript alleen in de browser leeft is van vroeger. JavaScript spreid zich uit... En evolueert hedendaags. En zijn zelfs allemaal applicaties geschreven met JavaScript. Denk aan Spotify op je desktop of Popcorntime.. Of bekende editors zoals atom. Of brackets. En er komen steeds meer van dat soort applicaties.
Waarom? Simpel in een keer compilen voor Windows OSX en Linux. Heerlijk multiplatform. Maar echte zware applicaties zullen er niet mee geschreven worden. Dan moet je weer bindings maken naar o.a. C en C++.
Waarom? Simpel in een keer compilen voor Windows OSX en Linux. Heerlijk multiplatform
hoe compile je javascript voor windows, OSX en Linux?

[Reactie gewijzigd door DLGandalf op 22 mei 2015 23:30]

Misschien ontgaat me met dat compilen iets, maar in mijn ervaring is dat afzonderlijk compilen helemaal niet aan de orde, kenmerk van een scripttaal te vergelijken met BASIC. Wie gebruikt dat nog?
Lang geleden maakte ik een niet nader te noemen programmaatje in GWBASIC, een toen nuttig handigheidje ergens voor. Dat was het aardige van (gewone) BASIC, je kon het al schrijvend meteen uitproberen.

Onlangs kwam ik deze file op een oud schijfje nog eens tegen en ontdekte ik dat BASIC door mijn huidige Windowsversie niet meer werd ondersteund. Puur uitdaging van me, ik bekeek de syntax van BASIC en Javascript en ontdekte dat deze in opvallend veel punten op elkaar leek. Dus dacht ik, met handhaving van het algoritme moet het niet zo'n enorme klus zijn om dit even te vertalen in Javascript en dat lukte vrij vlot. Door deze actie ervoer ik ook dat van een aparte compiler helemaal geen sprake was. Ingebouwd in een html redt zowel Internetexplorer als Firefox er zich gewoon mee.

Inderdaad heeft Javascript behalve de naam hoegenaamd niets met Java te maken. Java moet je installeren, het lezen en verwerken van Javascript zit gewoon ingebakken in html in de browsers. Kan als losstaand js-bestand voorkomen als ingebed in een html-bestand.
Geen idee hoe die naam toch gekozen is voor Javascript, want naar het blijkt is die naam voor twee totaal verschillende begrippen voor sommigen wel eens verwarrend.

[Reactie gewijzigd door Techneut op 23 mei 2015 14:42]

Javascript (Eigeijk ECMAscript) zit niet in HTML, maar in je browser. Het compileren van JS code doe je als je code moet draaien buiten een browser.
ECMAScript is een standaard, geen taal.
Nee, ECMAScript is het resultaat van het werk van Ecma International. ECMAScript is de implementatie van de standaard dus, net zoals dat Weston de implementatie van Wayland is.

Meer info: http://en.wikipedia.org/wiki/ECMAScript
Javascript heette LiveScript maar door een samenwerking tussen Sun en Netscape ging het Javascript heten. Netscape zou Java mee gaan leveren met Navigator. Java zou dan de programmeer taal voor prof devs en Javascript de script taal voor de noobs.

[Reactie gewijzigd door svenvNL op 23 mei 2015 16:28]

Java zou dan de scripttaal ? Java is geen scripttaal hoor ;)
Javascript zit gewoon ingebakken in html
offtopic:
Euh nee, javascript wordt ondersteund door je Browser.

[Reactie gewijzigd door Webgnome op 23 mei 2015 11:55]

just in time met bijv. V8 ;-)

met bijv. node-webkit kan er wel een pakketje worden gemaakt zodat gebruikers de app makkelijk kunnen gebruiken, dan kun je wel 3 losse pakketjes maken, maar dat is niet echt compilen idd.
Java is anders ook multiplatform, je kan ook in één keer compilen voor Windows, OSX, en Linux.
De redenen dat developers voor Javascript kiezen in plaats van Java is ten eerste dat Javascript voor (front-end) webdevelopers al bekend is. Daarnaast is javascript, doordat functies first-class citizens zijn (oftewel: een functie kan je ook in een variabele stoppen), behoorlijk reactief en event-driven. Om hetzelfde in Java te bereiken heb je behoorlijk wat meer code en kennis van zaken nodig. Dat laatste is sowieso een wat groter obstakel om Java te leren: het is een taal waarbij je best veel moet schrijven.
Java is daarentegen weer een stuk makkelijker statisch te checken. Zeker in een IDE heeft dit voordelen: fouten worden ontdekt terwijl je typt en suggesties zijn een stuk makkelijker te laden. Daarom zal het voor mij nog wel even duren voordat ik grotere applicaties in Javascript ga schrijven, geef mij maar Java :).
Ben ik het helemaal mee eens. Ze zullen ook niet concurreren. JavaScript gaat meer concurreren met o.a. Ruby python PHP e.d. Java heeft weinig gelijkenissen met JavaScript. Een andere tool voor een andere job.
Daar ben ik het niet mee eens. Zelf vervang ik steeds meer java applicaties voor nodejs apps. Simpelweg omdat de ontwikkeltijd in js veeeeel korter is dan met java door de lagere complexiteit.
Ik zie niet in waarom deze ontwikkeling niet zal blijven doorzetten.
Maar als klant zit ik niet te wachten op slecht gegenereerde multiplatform interfaces. Onder OSX merk je dat meteen op, allemaal van die applicatie met zelf gebouwde toolbars wat geheel niet in lijn zit met de echte toolbars. Daarom vermijd ik altijd van die multiplatform apps ...
Zelfs aan de server kant begint javascript enorm te groeien, voornamelijk te danken aan node.js
Javascript wordt tegenwoordig gebruikt voor verschillende VM's. Er is weinig veranderd of geëvolueerd aan de taal, het is gewoon een goed idee een script standaard te kiezen voor een VM waar iedereen al bekend mee is.
Cordova + VS zijn anders een krachtige combinatie waarmee je zonder problemen mobile apps kan schrijven met javascript. Nu andriod nu ook eindelijk 'moderne' dingen ondersteund als viewports(vh/vw) kan je de meeste apps ermee schrijven, veel apps doen niets anders als een API aanschrijven en de data op het scherm toveren. En je hebt natuurlijk ook nog Phonegap en varianten.

Ik laat zelf 'web' en 'desktop' voorvoegsles bij de taal catagorien liever weg. Tegenwoordig kan je alles wel overal voor gebruiken. Opmaak-, script- en programmeertaal zijn imo voldoende. Met Graddle kan je bv ook (mobile) games maken, wat eerst een C++/C# ding was.
Je hebt daarnaast ook projecten als React Native en NativeScript waar JavaScript (of beter, ecmascript) wordt gebruikt icm met native UI elements.
Javascript was meer gebaseerd op Scheme. Bij Netscape vonden de dit echter geen super idee en kreeg het ideeën van c (welke het natuurlijk in den beginnen ook al had).
Nou javascript is een scripttaal die geïnterpreteerd word door bijvoorbeeld je browser.
Java is een een programmeertaal, die met een just-in-time compiler (java bytecode word omgezet naar machine code die op je cpu draait) gecompileerd word en daarna uit gevoerd word op je pc.
Java bytecode moet eerst door een developer gecompileerd worden vanuit java code. :)

Alleen dat zijn nogal grote verschillen. Maar ja, hoe leg je dat uit aan een non-programmeur :)
Just in time compilatie werkt wel mooi, op het moment dat een stuk code nodig is om verder te gaan met het programma compileert hij wat extra bij en reserveert het java runtime daar geheugen voor.

Misschien binnenkort ook ahead of time compilatie net zoals .NET met Java 9? :)

[Reactie gewijzigd door wootah op 23 mei 2015 12:11]

Het is niet scripttaal versus programmeertaal. JavaScript is ook een programmeertaal.

Verder maken moderne JavaScript-engines zoals V8 in Crome ook gebruik van Just in Time compilatie.

Het enige wat je van een scripttaal kunt zeggen is dat de broncode de uitvoerbare code is.
Javascript is toch echt een scripttaal. De niet altijd even betrouwbare Nederlandse en Engelse Wikipedia zeggen het en ook Mozilla zegt het. https://developer.mozilla...ion#What_is_JavaScript.3F
Javascript is een programmeertaal als je echt op het woord wilt gaan zitten. De definitie van een programmeertaal is niets meer dan een syntax waarin opdrachten staan beschreven voor een computer. En voor de persoon die dit te nauw wil nemen, nee, dan zou alleen Assembly een programmeertaal zijn :)
Verder hebben Javascript en Java op dit niveau nog wel overeenkomsten zoals een VM al draaien deze respectievelijk in totaal andere sandboxen. En tegenwoordig een platform onafhankelijke byte-compilatie, voor Java iets ingewikkelder proces. Voor de rest, Javascript is to Java as car is to carpet.
Ik vind het al vreemd dat er binnen deze thread uberhaupt over Javascript wordt gesproken...
Misschien binnenkort ook ahead of time compilatie net zoals .NET binnenkort met Java 9? :)
ART heeft dat al :) IMO beter als de Oracle implemtatie(voor applicaties dan, een proces dat op een server draait voor 10 jaar is wel weer beter als met JIT)
Misschien binnenkort ook ahead of time compilatie net zoals .NET binnenkort met Java 9?
Er zijn al jaren ahead of time compilers voor Java, http://gcc.gnu.org/java/ is daar 1tje van (16 jaar oud).
Buiten de naam en gedeeltelijk de syntax hebben de twee weinig met elkaar te maken. Java is een 'general purpose computer language' terwijl Javascript een scripting taal is om webpagina's op te vrolijken. Het wordt nu echter ook misbruikt om applicaties mee te maken waar ik fel op tegen ben. Javascript is een verschrikkelijk slecht ontworpen taal die eigenlijk nooit het levenslicht had moeten zien. De taal werd op het hoogtepunt van de 'browser wars' op een namiddag ontworpen en op de markt gegooid.
Met es6/es2015 is er een hoop verbeterd waarbij we onder andere classes krijgen, fatt arrow functions (lamba's), etc. Als javavervanger zal het niet gaan dienen op de desktop.

Serverside daarentegen heeft paypal hun java zooi met node vergeleken en node was gewoon sneller in ontwikkeltijd en in het afhandelen van requests. https://www.paypal-engine.../11/22/node-js-at-paypal/

Als je static typing Wilt kun ne jsdoc gebruiken of bijvoorbeeld iets als TypeScript.

Javascript geeft gewoon veel vrijheid waarbij de developer aan de ene kant 'meer kan' maar aan de andere kant ook meer verantwoordelijkheden heeft. kan het dus gewoon niet met je eens zijn dat javascript slecht is.

[Reactie gewijzigd door svenvNL op 23 mei 2015 11:00]

Het wordt nu echter ook misbruikt om applicaties mee te maken waar ik fel op tegen ben. Javascript is een verschrikkelijk slecht ontworpen taal die eigenlijk nooit het levenslicht had moeten zien.
Haha. Het zijn altijd mensen die heel weinig van JavaScript weten die dit roepen.

JavaScript is een erg krachtige taal die alleen maar meer gebruikt wordt.

Er zaten/zitten wat mindere concepten in die nu niet meer worden gebruikt. Het enige wat overblijft is dat de regels voor typeconversie niet simpel zijn. Maar ook daar is uiteindelijk prima mee te werken.
Naast de vele argumenten die al genoemd zijn nog een paar belangrijke:

Java is statisch getypeerd, terwijl Javascript dynamisch getypeerd is.

Functies zijn First Class citizens in Javascript (dat betekent dat je functies in een variabele kunt opslaan en er dingen mee kunt doen), terwijl ze dat niet zijn in Java
In Java 8 gaat dit wel geloof ik.
Javascript is binnen Netscape ontwikkelt als een snel project omdat ze bang waren voor Microsoft met visual basic. Op een gegeven moment is Sun met Netscape samen gaan werken. Javascript moest de simpele noob taal worden en Java de complexere prof taal.

Qua syntax, implementatie, etc hebben ze helemaal niks met elkaar te maken. Het is alleen de naam wat door een stomme samenwerking is gebeurd.
Wie weet er eigenlijk het verschil tussen java, en javascript? Volgens mij worden die twee vaak met elkaar verward terwijl ze heel anders zijn.
Java is een programmeer taal die compileert naar een intermediate language (tussentaal) die JAva Bytecode heet (als ik me niet vergis). Deze code wordt door een 2e programma, een interpeter (ook wel JAva VM, virtual machine, genoemd), omgezet naar de code voor de machine waar je op draait. Bijvoorbeeld op android werd het voordat ART kwam door de Dalvik VM omgezet naar ARM instructies die vervolgens op je chip worden uitgevoerd. Java bytecode kan ook direct door processors die het kunnen verwerken gedraait worden, zoals op de in het artikel genoemde set-top boxen. Hier is echter een processor met een andere architectuur voor nodig.

JavaScript is een scripting taal die door alle grote browsers op het web wordt ondersteunt en het wordt gebruikt om interactiviteit aan websites toe te voegen. Bijna alle sites tegenwoordig gebruiken wel iets van javascript. Om iemand op het internet te quoten: "Java is to JavaScript what Car is to Carpet" (http://javascriptisnotjava.io/) ;)

De code van Java en JavaScript lijken wel een beejte op elkaar vanwege de syntax, maar het zijn echt 2 fundamenteel andere talen waar je ook andere dingen mee kan doen. Lees meer hier: http://javascript.crockford.com/javascript.html
Java en JavaScript zijn twee verschillende programmeertalen die niet erg veel met elkaar te maken hebben, zoals veel mensen hierboven al hebben uitgelegd.

De reden van de naam "JavaScript" heeft echter wel degelijk met Java te maken. JavaScript heette eerst LiveScript, maar Netscape wilde graag profiteren van de populariteit van het opkomende Java, en hebben de naam (met toestemming van Sun) daarom veranderd in JavaScript.

Achteraf gezien niet zo'n handige beslissing want nog altijd zijn er veel mensen die denken dat JavaScript en Java hetzelfde zijn of dat ze iets met elkaar te maken hebben.
Genoeg reacties hier die de verschillen uitleggen. Eerst kwam Java uit, wat snel populair werd om in de browser allerlei interactieve dingen te doen. Javascript was er dus niet, dus al die dynamische dingen die we nu als vanzelfsprekend zien, dat kon gewoonweg niet. Java kon veel wel dmv zg applets, bv button-animaties, filmpjes, spelletjes etc. Het was overigens omslachtig, werkte nooit echt lekker, en vooral het programmeren was (en is) behoorlijk complex.

Java-applets zijn compleet op zichzelf werkende programmaatjes die weliswaar in de browser draaien, op een website-pagina, maar ze staan redelijk los van de browser. Het betekende ook een relatief zware belasting voor de computer.

Toen kwam Netscape met Javascript. Ze noemden het Javascript puur om te profiteren van de populariteit van Java. Die naam was een marketingtruc, en daar is veel verwarring uit ontstaan. Vooral non-IT-ers weten het verschil niet, en halen Java en Javascript continu doorelkaar.
@nul07:
Op je wenken bediend hoor:

Belangrijkste verschillen tussen Java and JavaScript:

Java is een OOP-programmeertaal terwijl JavaScript een OOP-scripttaal is.
Met Java worden applicaties gemaakt die in een virtuele machine kunnen worden uitgevoerd. JavaScript-code kan alleen in een browser worden uitgevoerd.
Java-code moet worden gecompileerd, terwijl JavaScript-code enkel uit tekst bestaat.
Voor beide zijn andere plug-ins nodig.
- Javascript is niet Object Oriented maar maakt gebruik van Prototype Inheritance
- Javascript code draait niet enkel in een browser, via bijvoorbeeld Node draait het ook op de server
- Java Code is JIT, het systeem compiled pas wanneer het nodig is, itt tot bijvoorbeeld C wat van te voren voor een specifiek platform gecompileerd wordt
- Javascript draait standaard in de meeste browsers zonder plugins, Java heeft wel een plugin nodig
JavaScript met ecmascript 6 is wel object oriented. Je kan gewoon classes aanmaken. IO.JS kan je gewoon versie 6 draaien hoor. Volgens mij draait 6 met classes ook al in spartan/edge browser. Microsoft zet veel in op JavaScript als je kijkt naar Type script o.a. Typescript is weer backed door Google en Microsoft samen.
Klopt, maar zelfs lager dan ecmascript is javascript wel degelijk OOP. Het is alleen prototype-based ipv class-based, dat maakt het nog steeds OOP.
- Java Code is JIT
Nope!

JIT compilatie is een methode om de executie van pseudo-code (zoals Java,Dalvik,Lua etc bytecode) te versnellen.
@ZpAz:

Hmmm, mijn bovenstaand antwoord niet helemaal begrepen, dacht ik . ;) ;)

[Reactie gewijzigd door Noordelijk op 23 mei 2015 08:26]

Javascript is uit zichzelf niet OOP en je hebt er geen plug-ins meer voor nodig...
ik citeer @Fledder2000
Klopt, maar zelfs lager dan ecmascript is javascript wel degelijk OOP. Het is alleen prototype-based ipv class-based, dat maakt het nog steeds OOP.
@deathgrunt:

Ik schreef toch wel heel duidelijk 'Voor beide zijn andere plug-ins nodig.'
Dus ?
JavaScript draait toch ook in een VM. Namelijk de V8 van google o.a.?????
Ja, klopt. In deze context slaat VM er op of je directe toegang hebt tot het geheugen, en zelf verantwoordelijk bent voor je garbage collectie. Zowel Java en Javascript, maar ook Python en Ruby draaien in een VM.
Javascript is voor Java wat vbscipt voor visual basic.net is... in a nutshell...
Ik ben in 1998 begonnen met Java, tot voor kort had ik nog een dik boek met een ster op de voorkant met "Covers Java 1.0!"...

Mijn eerste serieuze programma was een schaakspel, in de vorm van een Java applet, die ik in die tijd samen met een collega heb gemaakt, in onze vrije tijd. Je kon daarmee tegen de computer schaken, door schaakstukken te drag-and-droppen.

Al snel ging het bedrijf waar ik toen werkte serieuze projecten doen met Java, en een jaar of twee later hadden we een hele afdeling die zich bezig hield met Java projecten. Ik ben toen overgestapt van C++ naar Java en ben met J2EE aan de slag gedaan.

Sinds die tijd heb ik vrijwel al mijn professionele werk in Java gedaan en doe dat nu nog steeds.

Veel mensen hebben kritiek op de programmeertaal Java, en wat sommige dingen betreft hebben ze gelijk; Java is bijvoorbeeld nogal "verbose", zeker vergeleken met modernere programmeertalen, en in de loop van de tijd zijn er dingen in blijven zitten vanwege backward compatibility die we liever niet meer hadden willen hebben (bijvoorbeeld raw types en allerlei deprecated classes en methods).

Aan de andere kant is Java nog altijd een zeer geschikte programmeertaal voor allerlei projecten, en de backward compatibility is ook juist weer een sterk punt.

En gelukkig investeert Oracle nog altijd in vernieuwing van de taal, Java 8 heeft weer een hele reeks goede, nieuwe features (lamda expressions, streams enz.) en er wordt ook hard gewerkt aan Java 9 en daarna.
Java is relatief nog steeds uitstekend maar ik zelf vind C# in alle opzichten beter. Het is jammer dat Microsoft .NET zo laat heeft ge-open-sourced want anders had de wereld waarschijnlijk nu gewoon C# gebruiikt.

Microsoft is nu bezig om een native code compiler voor C# te maken, wat voor weer een revolutie zal zorgen. Veel programma's worden nog steeds geschreven in C++ vanwege de uitvoerings snelheid. Dat hoeft dan niet meer en je zal zien dat steeds meer toepassingen in C# zullen worden geschreven.

[Reactie gewijzigd door ArtGod op 23 mei 2015 10:23]

Ben ik helemaal met je eens. Al had Microsoft de opensource stap al 10 jaar geleden gemaakt dan was het gebruik van het .NET patform nu enorm veel groter geweest.

Ook met Visual Studio Code zetten ze goede stappen, het zal alleen een tijd duren voordat ze van het oude imago af zijn.

Ookal was het dè taal tijdens mijn opleiding, heeft Java mij nooit echt kunnen bekoren. Java applicaties hebben vaak de 3 L's: lelijk, langzaam en lek.

[Reactie gewijzigd door Zyphrax op 24 mei 2015 18:09]

De eerste twee L's geef ik je gelijk. Maar lek? De taal Java is veilig en veel veiliger dan C en zelfs C++. De lekken in Java zitten voornamelijk in de brower plug-in, niet de taal of Java runtime.
Ik doel daarmee ook op de browser plug-in die standaard op je systeem gezet wordt als je de desktop JRE installeert.

Dat is zo'n ontzettend broeinest voor troep en security issues. Dat kleeft daarmee toch een beetje aan Java.

Tegenwoordig installeer ik de JRE het liefst onder een VM.
Ik werk sinds 1999 professioneel met Java maar ik ben dit jaar overgestapt naar Scala. En nu ik Scala een beetje in de vingers heb, voelt Java eigenlijk wel heel ouderwets aan.
Oracle is met Java 8 wel op de goede weg, maar dingen als pattern matching met case classes, macro's en immutable collections, die zou ik wel missen als ik weer terug zou gaan naar Java.

En als je kijkt wat er in de nabije toekomst voor Java gepland staat, dan is dat toch eigenlijk wel mager. Ok, de modulaire JVM die gepland staat voor Java 9 is een vooruitgang. Maar daarmee loopt Java nog steeds jaren achter op andere talen als C# en Scala, en die verbeteren ondertussen ook nog steeds in een rap tempo.
Het grootste voordeel van Java boven andere talen vind ik vooral de uitstekende IDE support, met IntelliJ of Eclipse. Denk aan de vele mogelijkheden om je code te kunnen refactoren, die natuurlijk mogelijk gemaakt zijn door Java's static type system. Maar ik verwacht dat veel andere talen over een paar jaar dat gat ook wel gedicht hebben.

Nog een jaar of 5, en dan wordt Java het nieuwe Cobol ...
Ik ben zelf ook al een paar jaar bezig met Scala en heb het ook al voor een serieus project op het werk gebruikt, onder andere voor een parser. Pattern matching was daarbij inderdaad ontzettend handig.
En als je kijkt wat er in de nabije toekomst voor Java gepland staat, dan is dat toch eigenlijk wel mager.
Java is geen taal waarin veel nieuwe, experimentele, innovatieve features worden toegevoegd. Oracle is met opzet conservatief wat dit betreft; de bedoeling is dat Java een makkelijk te gebruiken taal blijft voor de grote meerderheid van de programmeurs. Daaraan dankt het ook grotendeels zijn succes. Als je nieuwe, innovatieve features wilt dan kun je beter kijken naar bijvoorbeeld Scala.
...ik ben er mee begonnen in 1996.

Mijn eerste site bouwde ik in 1993 - en het was een verademing dat je opeens (drie jaar later...) interactie op je pagina kon krijgen...

Muziek, simpele animaties, alles leek opeens mogelijk via een applet (in Kameleon, en later Netscape Navigator).

Wat me toen ook al opviel, was de traagheid, complexiteit en gevoeligheid voor mis-abuse van de applets; tegelijk gingen jongens om mij heen embedded software schrijven in Java (koelkasten, wasmachines, etc...) en daar werkte alles wel snel / veilig voor - aanvankelijk deden ze dat in Cobol en Phyton - maar Java was plots heel hip.

Feitelijk is er in die tijd niet veel veranderd; op het web zie je het liever niet terug, maar in het dagelijks leven gebruik je het zonder te weten!

[Reactie gewijzigd door deathgrunt op 22 mei 2015 19:30]

Onder andere ViolaWWW had al 'javascript' vanaf begin jaren '90. Het heette toen weliswaar geen Javascript, maar het principe was hetzelfde. :) De interactie met je website kon dus technisch gezien al veel eerder.

Ik vraag me dan ook af of Java wel daadwerkelijk de eerste was welke 'dynamic content' aanbood; als het op dat moment al mogelijk was AJAX-achtige calls te doen naar de webserver, dan waren deze browsers Java in principe al voor wat dat betreft :)
aanvankelijk deden ze dat in Cobol en Phyton - maar Java was plots heel hip.
Python? In die tijd? Voor embedded? Tot die tijd gebruikte je C, Pascal of Fortran of Perl als script.
Ik blijf het raar vinden dat Google Sun (en dus Java) niet gekocht heeft daar het zo'n belangrijk onderdeel is van hun mobiele strategie. Het had relatief weinig gekost en nu zitten ze permanent met rechtszaken omtrent het gebruik er van. Veel mensen zijn vergeten dat Oracle heeft gewonnen op het punt dat de API's van Java waarschijnlijk auteursrechtelijk beschermd zijn. Dat kan een enorme chaos veroorzaken in de ICT wereld. Het beroep loopt nog maar ik maak me er zorgen om.
Volgens mij had Oracle juist verloren wat betreft de api's. Daarom zijn ze in hoger beroep gegaan.
Wel hadden ze gewonnen over een paar regels die een 1-op-1 kopie waren. Maar die zijn al herschreven.
Dat deze rechtszaak er nog is, laat zien dat Oracle nog een grote geldwolf is. Met een goede samenwerking met Google hadden ze de taal nog meer populair kunnen maken. Nu is Google bezig om dat te vervangen en alternatieven te bieden.
Je hebt het niet goed gevolgd dan. Google is vrijgesproken van copyright infringement van broncode maar niet van bepaalde API files (die noodzakelijkerwijs identiek zijn aan die van Oracle). Oracle speelt het er nu op dat API' ook copyrightable zijn en heeft daarmee een slag gewonnen ook al was er juridisch precedent dat API's niet onder copyright vallen.
Update: Ik had weer eens gelijk.
Jammer dat dit bericht zo laat op de dag komt. Als het tijdens kantooruren was geweest hadden mijn mede Java ontwikkelaars en ik eerder aan de borrel kunnen gaan.
Ja, zag het ook pas later op de middag staan op The Register. Dat is ook een leuke tech-site om in de gaten te houden, staan vaak ook leuke artikelen om te lezen. Gelijk na het lezen van het artikel daar had ik een submit gedaan op Tweakers maar dat duurde dus even voor dat het naar voren kwam.

PS: Woot, ook gelijk mijn eerste submit op Tweakers :P
Je kan nu in ieder geval je agenda updaten voor de komende jubilea, mits je dan nog in Java ontwikkelt.
Tot een paar maanden terug moest men via een Java applet inloggen op internetbankieren van alle Noorse banken. Ik denk dat in Noorwegen relatief de meeste mensen weten wat Java is, en ik denk dat het daar ook het meest gehaat is. Dat applet gaf zoveel problemen.... En maar updaten. En dan kreeg je weer die rot bloatware virusscanner erbij. Sun/Oracle (weet niet wanneer het mis ging) hebben een aardig idee in elk geval goed om zeep weten te helpen.
Applets zijn inderdaad nooit Java's sterkte kant geweest, ook mede met dank aan het zwaar onpraktische update-systeem op Windows. Je kon soms met dank daaraan tientallen versies van Java in je software-lijst hebben.

Dat het toch ook best redelijk op de desktop kan werken en geaccepteerd wordt zie je in de populairiteit van bijvoorbeeld Minecraft. En voor server-applicaties is het helemaal vrij populair. Voor mijn werk werk ik veel met UIMA en SOLR / Lucene, beide zeer krachtige Java-applicaties. Blij word ik daarbij nog steeds niet van Java, maar het heeft zijn toepassingen.
http://archive.oreilly.co.../languageposter_0504.html

Veel plezier met het ophangen van deze poster, helaas t/m 2004. Maar het meeste staat er wel zo'n beetje op. Kan je zien welke talen aan de oorsprong lagen tot een andere taal.
Pacman, Patience en Java op een dag. Kom maar met die stukken taart! :Y) :9
Mooie taal, en prima runtime. Al werk ik nu voornamelijk met Node.js. Soms mis ik het krachtige typesystem wat in de IDE weer een perfecte autocomplete geeft. Met javascript is het veel lastiger om je project netjes en overzichtelijk te houden, al scheelt een goede editor zoals WebStorm een hoop.
Javascript is natuurlijk compleet wat anders maar je hebt gelijk als je zegt dat het meer flexibel is en ja daar moet je mee om kunnen gaan. Het scheelt wel als je in C/C++ hebt geprogrammeerd, met pointers hebt gewerkt, dan kun je gedachten beter begrijpen wat er gebeurd. Verder is het gebruiken van prefix sterk aan te bevelen.

Maar... als ik zou mogen kiezen tussen Javascript of Java, dan kies ik Javascript. :)

[Reactie gewijzigd door Erwines op 22 mei 2015 21:30]

?

Node.js is een runtime environment geschreven in Javascript... dat is totaal anders dan Java...
Zeg ik dat Java hetzelfde is als Javascript ? Ik zeg dat ik nu in plaats van Java/JRE Javascript/Node.js gebruik. Voor de backend is het een prima vervanging gebleken.
Iemand met de kennis van Node.js moet wel het verschil weten tussen Java en Javascript lijkt mij?

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