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 , , 325 reacties
Submitter: thies

Apple zal met ingang van de aankomende editie van Mac OS X, geen Java-runtime meer meeleveren. Een hernieuwde versie van de ontwikkelaarsdocumentatie stelt dat de release voor versie 10.6 Update 3 de laatste zal zijn die Apple ondersteunt.

Apple stelt in de documentatie dat ontwikkelaars er niet vanuit moeten gaan dat het bedrijf in versies later dan 10.6 Update 3, nog een Java-runtime mee zal leveren met zijn besturingssysteem. De versie die meegeleverd wordt met 10.5 en 10.6 zal nog wel op ondersteuning kunnen rekenen. Dat betekent dat de onlangs aangekondigde Lion-editie van het besturingssysteem, de eerste zal zijn zonder officiële Java-ondersteuning.

Het lijkt erop dat Apple in navolging van zijn iOS-platform, ook op de Mac zoveel mogelijk applicaties wil zien die in native code geschreven zijn. Op zijn mobiele platform stelt Apple strenge eisen aan software die toegelaten wordt in de App Store, en het bedrijf lijkt diezelfde lijn nu door te willen trekken. Uit een gelekte versie van de voorwaarden voor de onlangs aangekondigde OS X-variant van de App Store, blijkt dat applicaties die geschreven zijn in een deprecated programmeertaal, zoals Java, niet toegelaten zullen worden.

Naast Java, zal ook Adobes Flash Player niet meer standaard aanwezig zijn in het besturingssysteem: de deze week gepresenteerde Macbook Air-modellen hebben standaard al geen Flash Player meer geïnstalleerd. Deze maatregelen van Apple betekenen niet dat het voor Mac-gebruikers in de toekomst onmogelijk zal worden om Java- en Flashapplicaties te draaien. Adobe maakt immers de Flash Player voor Mac, die gebruikers dan wel zelf zullen moeten installeren. Bij Java is het ingewikkelder, aangezien eigenaar Oracle tot nu toe alle verantwoordelijkheid voor de Mac-runtime bij Apple legde. Het is nog niet bekend of Oracle nu zelf een OS X-versie van Java gaat uitbrengen.

Moderatie-faq Wijzig weergave

Reacties (325)

Heerlijk sensatieartikel weer. Nu staat OSX enkel gelijk met Windows. Maar het wordt gebracht alsof Apple de boeman is.

Normaal maakte Apple altijd haar eigen Java runtime, maar nu ze daar mee stoppen kan Sun dit gewoon overnemen zoals ze nu ook al doen voor Windows en Linux.

Onder Windows wordt immers ook geen eigen Java runtime meegeleverd, maar moet je zelf ook die gaan downloaden netzoals in de toekomst in OSX dit het geval zal zijn.

Ook staat onder Windows flash niet standaard geinstalleerd en straks onder OSX ook niet meer, dus daar staan ze straks gewoon op gelijk niveau qua onderateuning
voor Flash / Java. Wil je dat hebben zul je het zelf moeten installeren.

De argumenten tegen flash standaard neeleveren is dat je dan zelf flash op moet halen en dus altijd de nieuwste versie hebt, ipv misschien een verouderde die op je OS-install-disc stond.

Voor Java eigenlijk hetzelfde, Apple kon pas een nieuwe versie maken als die van Windows al klaar was, hierdoor liepen ze altijd wat achter, nu zeggen ze tegen Sun, je maakt die van Windows en Linux, maak die voor OSX ook maar.

Iedereen die zegt 'weer een reden om geen Apple te kopen' ik neem aan dat je ook geen Windows draait, die levert beiden ook standaard niet mee. Anders zou het nogal hypocriet zijn.

De redacteuren @ tweakers.net mogen imho er wel bijzetten dat ze nu 'gelijk' staan aan Windows, dat zou heel wat onzin reacties schelen...

[Reactie gewijzigd door ZpAz op 23 oktober 2010 10:05]

ZpAz, je kan je afvragen wat het motief hiervan is. Uiteindelijk haal je voor een deel de gebruikerservaring onderuit, iets waar Apple toch zo trots op is. Daarnaast is het nog maar de vraag hoe snel Oracle er in kan slagen om een degelijke en stabiele versie naar OS X te brengen.
Welke applicaties gaan de gebruikers dan missen? Cyberduck? Ik denk het niet, dus "gebruikerservaring onderuit halen" is wel een heel sterke verwoording.
Ik denk dat je ervan versteld zou staan hoeveel applicaties er gebouwd worden met Java.
Waarom staan hier buiten Cyberduck en enkele optionele wizards uit OpenOffice zo weinig voorbeelden dan?
Plus, je zal nog steeds de huidige Java Runtime kunnen blijven downloaden en Oracle zal naar alle waarschijnlijkheid zelf runtimes uitbrengen voor OS X. Net zoals dat ook voor Windows gebeurd.

[Reactie gewijzigd door AndrewF op 23 oktober 2010 13:56]

Er zijn bakken en bakken met bedrijfs software in Java. Bijna alles wat tegen SAP of Siebel/Oracle is aangeprogrammeerd is bv in Java.

Zonder Java heeft OS X weinig kans in het bedrijfsleven.

[Reactie gewijzigd door Dreamvoid op 23 oktober 2010 19:18]

Ze hebben tot Zomer 2011, en het is niet alsof de huidige Java runtime ineens 'stuk' is, die doet het ook gewoon. Dus dat lijkt me niet een probleem.

Daarnaast draaien veel Java developers onder OSX, die zal Oracle, als Java hun een beetje aan 'het hart gaat' niet in de koude laten staan. Voor Windows en Linux ontwikkelen ze toch ook, dan lijkt het me sterk dat ze OSX laten staan.
Maar het is nog helemaal niet duidelijk of ze gelijk staan aan Windows? Voor Windows bestaat een JVM die je zelf kan installeren, maar voor OSX straks dus *misschien* niet. Zover ik begrepen hebt vindt Oracle Java ook niet erg belangrijk (behalve misschien de bijbehorende patenten), dus je kan je best afvragen of zij dan straks een OSX JVM gaan maken als Apple er mee gestopt is.
Er zijn op tweakers een paar mensen die continu roepen dat Oracle Java niet belangrijk vindt. In werkelijkheid is Oracle sterk afhankelijk van Java en was het risico dat Oracle liep door deze afhankelijkheid een belangrijke reden voor de overname van Sun
Windows staat nu voor op Apple op Java gebied omdat Oracle (nog?) geen MacS versie heeft. Ze liepen qua Java versies trouwens zowiezo al ver voor op MacOS.
Op zich is dit wel jammer eigenlijk, in het verleden was het zelfs zo dat je met Java als omgeving zonder veel problemen gewoon een native OS X-toepassing kon maken. Omdat de Java VM standaard in het besturingssysteem aanwezig was had je ook verder geen problemen m.b.t. de aanwezigheid van de JVM,

Voor Oracle betekent dit nu wel extra werk, maar ze kunnen een Mac OS X versie van Java niet laten schieten, delen van bijvoorbeeld OpenOffice.org leunen op Java en als ze deze ook voor de Mac willen ondersteunen, dan zullen ze dus wel een Mac OS X versie van de JVM moeten maken.

Verder is de situatie bij Apple nu niet anders dan bij MS-Windows, waar je ook niet standaard een JVM meegeleverd krijgt en ook onder Linux-based operating systems is (volgens mij) Java niet direct standaard aanwezig.

Als ik persoonlijk echter kijk naar de hoeveelheid toepassingen die ik gebruik op Mac OS X die in Java geschreven zijn, dan is dat erg laag - OpenOffice.org maakt gebruik van Java, dat zou nummer 1 zijn en eventueel een Java IDE als NetBeans of Eclipse, maar dan kom je hooguit op 3 toepassingen...

... naar mijn mening is de toekomst van Java (maar ook andere VM-omgevingen als dotnet) vooral op de server en minder/niet op de client.
Dit probleem kun je als ontwikkelaar toch makkelijk omzeilen door JVM met je applicatie mee te leveren. Dit doet/deed openoffice ook voor windows.
Dit probleem kun je als ontwikkelaar toch makkelijk omzeilen door JVM met je applicatie mee te leveren. Dit doet/deed openoffice ook voor windows.
Of te precompilen met bijvoorbeeld GCJ of Excelsior JET.
Inderdaad ontzettend vervelend voor bedrijven die juist hun applicaties in Java schrijven voor interoperabiliteit, zoals de (open source/non profit) software die in mijn bedrijf wordt geschreven. Ook is bv. SPSS/IBM een paar versies geleden juist naar Java overgestapt zodat ze 1 applicatie kunnen schrijven en alleen opnieuw hoeven te compileren voor de verschillende OS'en.

Ik vermoed dat Oracle wel vaart achter de OSX runtimes zal zetten als zij Java groot willen houden.
Alleen geeft Oracle geen zak om Java, zoals ze zelf al hebben laten merken. Na de overname van Sun laten ze Java momenteel doodbloeden.
Heb je daar ook links naar autoritieve berichten van? Oracle gaat juist extra vaart achter de Java-ontwikkeling zetten, volgend jaar zal Java 7 uitgebracht worden (in afgeslankte vorm) en een jaar later zal Java 8 uitgebracht worden die de features zal gaan bevatten die de versie van volgend jaar niet zal gaan halen, maar eigenlijk er al wel in zouden moeten komen.

Oracle heeft de schijn tegen, oa vanwege OpenSolaris, maar in werkelijkheid ondersteunt men vooralsnog het overgrote portfolio van de Sun-projecten. Dat neemt niet weg dat 't voor Oracle op middellange termijn wel geld op moet gaan leveren, projecten die deze potentie niet hebben zullen wel gaan sneuvelen vrees ik - Java is echter een hoeksteen voor het Oracle beleid en deze gaat deze slag wel degelijk overleven...
Alleen geeft Oracle geen zak om Java, zoals ze zelf al hebben laten merken.
Huh? Waar dan? Half Oracle draait op Java, waarom gaan ze ineens hun eigen technologie om zeep helpen. Wat is hun alternatief dan?
Inderdaad, Oracle is altijd al 1 van de grotere spelers in de JCP geweest en enorm veel van hun middleware en tooling draait -volledig- op Java.

In wat denk je dat b.v. Oracle Coherence is geschreven?

Waar denk je b.v. dat de application servers van Oracle op draaien?
.NET gebruikt geen VM maar wel een runtime in een iets andere vorm, bovendien roept .NET de native API's van het platform aan, waardoor controls niet geŽmuleerd worden zoals in Java of het native Qt, maar daadwerkelijk controls zijn die door de library's van het operating system geregeld worden.

[Reactie gewijzigd door Sebazzz op 23 oktober 2010 09:55]

waardoor controls niet geŽmuleerd worden zoals in Java of het native Qt, maar daadwerkelijk controls zijn die door de library's van het operating system geregeld worden.
Als je heavyweight components wilt (components die gemanaged worden door de OS) heb je daar in Java SWT voor. Onder andere de Eclipse RCP (inclusief de Lotus Notes client), Azureus Bittorrent client, etc. gebruiken SWT.

Wat je beschrijf met "waardoor controls niet geŽmuleerd worden zoals in Java" klinkt als Java Swing (met een lichte insinuatie dat heavyweight altijd beter zou zijn). Java Swing doet al haar drawing, event handling, etc inderdaad zelf. Er zijn Swing look and feels die lijken op de interface van Windows, GTK, etc. Echter zijn er ook zat met hun eigen identiteit. Bijvoorbeeld Synthetica: http://www.javasoft.de/synthetica/themes/
Hij heeft gewoon gelijk hoor. .NET applicaties refereren aan de .NET libraries waar de native APIs in verwerkt zijn. Hierdoor zijn .NET applicaties gewoon native.

Java applicaties draaien altijd in een sandbox. Zonder enige moglijkheid om direct met het onderliggende systeem te communiceren. (Behalve door de kleine poortjes in de sandbox) In .NET kan je vrij eenvoudig zťlf APIs aanroepen dmv P/Invokes.

[Reactie gewijzigd door sanderev66 op 23 oktober 2010 10:20]

Dotnet maakt wel degelijk gebruik van een VM, met de optie om native funcionaliteit aan te roepen. Die optie maakt dotnet weer wel gelijk een meer fabriekseigen Microsoft omgeving, die niet per definitie crossplatform is - met mono wordt wel gepoogd om dotnet op andere platforms beschikbaar te maken, maar dat is geen first class citizen in dotnet-land.

De Java-omgevingen voor MS-Windows, Solaris en Linux-based systems zijn wel first class Java-omgevingen...
Dotnet maakt gebruik van de CLR.
Deze lijkt mss op een VM maar is er geen,
VM staat voor Virtual Machine

De .NET Common Language Runtime is de Virtual Machine van .NET.
Niet precies. Er is veel onenigheid over de CLR al dan niet een VM is. de JVM daarentegen is wel zeker een VM. Maarja, details details.
Kom op jongens, dit zijn computing ABCs. De CLR is wel degelijk een VM.
Haproli, leg jij dan eens uit waarom de CLR geen VM is, in plaats van vaag te blijven?

De CLR is wel een VM, die werkt met precies hetzelfde principe als de Java VM: een interpreter / compiler voor bytecode.
Anders lees je even het wikipedia artikel over .NET

.NET code draait in een VM dat just-in-time (JIT) gecompileerd wordt en waarvan de security door de runtime geregeld wordt (sandbox). Native API's worden met P/Invoke aangeroepen. Voor Java geldt precies hetzelfde, wordt ook JIT gecompileerd via de JVM met sandbox features en kan native api's aanroepen via JNI. (Java Native Interface)

Er is precies 0 verschil tussen beide omgevingen, .NET is gewoon Java voor windows, botweg gezegd.

[Reactie gewijzigd door Antipater op 23 oktober 2010 11:52]

Er is precies 0 verschil tussen beide omgevingen, .NET is gewoon Java voor windows van Microsoft, botweg gezegd.

[Reactie gewijzigd door Dreamvoid op 23 oktober 2010 14:02]

Java appllicaties draaien in een VM, niet in een sandbox. Applets draaien in een sandbox.

De JVM is grotendeels "gewoon" native code (C++).

(Managed) .Net code draait net zo goed in een VM, op basis van de CLI (Microsoft's implementatie heet CLR).

[Reactie gewijzigd door Herko_ter_Horst op 23 oktober 2010 16:21]

Apple maakt een einde aan de luxe-positie die Java-gebruikers op de Mac jarenlang gehad hebben: een door Apple zelf aangepaste JRE/JDK die standaard op Macs voorgeinstalleerd stond. Al eerder deden ze met Flash hetzelfde.

De reden lijkt te zijn, dat ze enkel 'native' applicaties in hun aangekondigde Mac App Store willen hebben: door hun Java implementatie voor de Mac deprecated verklaren, hebben ze een voorwaarden-technisch eenvoudige manier om die technologie - en andere technologie, zoals Flash en Apple's eigen Rosetta - buiten de deur van de Mac App Store te houden.

Wat zijn de gevolgen van deze beslissing?

Het aantal Java desktopapplicaties voor consumenten is vrij laag. De meeste consumenten zullen daarom waarschijnlijk weinig tot niets merken van het al dan niet aanwezig zijn van Java. Mogelijk is er nog een verdwaalde applet te vinden op Internet, maar dan houdt het wel op.

Voor zakelijke toepassingen (met name op de server) en met name ook voor developers ligt de situatie anders: het gebrek aan Java zou daar kunnen leiden tot het afstoten van Macs and XServes als platform. Hoe waarschijnlijk is het dat het echt zover komt? Ik verwacht dat het wel los zal lopen.

Op korte termijn zijn er uberhaupt geen gevolgen: Java voor de Mac is net geŁpdatet naar de meest recente 1.6 release (1.6.0_22) en is dus gewoon beschikbaar voor huidige en nieuwe gebruikers van (Snow) Leopard.

Op middellange en lange termijn ligt het voor de hand dat Apple vanaf OS X Lion (zomer 2011) niet langer een JRE/JDK mee zal leveren. Support voor oudere versies van OS X vervalt hoe dan ook. Mijn inschatting is, dat Oracle en/of IBM (of een andere partij) voldoende tijd hebben om met een Mac-versie van de JRE/JDK te komen. Support voor Java zal dan op dezelfde manier gaan als voor andere platformen: gebruikers moeten Java zelf installeren, of applicaties leveren een gebundelde JRE mee.

Al met al denk ik dat de soep niet zo heet gegeten wordt als sommigen nu denken dat hij is opgediend. Voor developers kan de situatie uiteindelijk wel eens beter uitpakken: als Oracle de Mac-versie gewoon gelijktrekt met de Windows en Linux versies, hoeven we als Java developers op de Mac eindelijk niet meer te wachten tot het Apple behaagt om weer een update te brouwen.

En anders installeer je toch gewoon Java onder Windows op je Bootcamp partitie ;)

[Reactie gewijzigd door Herko_ter_Horst op 23 oktober 2010 14:03]

Zou C dan niet nog meer "deprecated" zijn?

Ik heb sterk het idee dat Apple het de ontwikkelaar gewoon moeilijk wil maken programma's te maken die makkelijk te porten zijn naar andere platformen.
Deprecated? Het verhaal van T.net is enorm misleidend hierin! Apple heeft nooit gezegd dat Java een deprecated programmeer taal zal zijn. Steve Jobs zei dat het release schema van Sun/Oracle niet gelijk met elkaar liep waardoor Apple altijd zwaar achter liep met hun eigen JVM, Jobs zegt:

Sun (now Oracle) supplies Java for all other platforms. They have their own release schedules, which are almost always different than ours, so the Java we ship is always a version behind. This may not be the best way to do it.

Bron: http://www.macrumors.com/...les-java-discontinuation/


PS. Het is ook nu niet zo dat Java per direct niet meer werkt, ze houden het alleen niet mee bij. Men komt pas serieus in de problemen als er een nieuwe release van Java komt. Ik zet er op in dat er gewoon een Oracle JVM voor OSX gaat komen.
Ford Prefect heeft een heel goed punt. Zoals al geciteerd wordt, Apple wil de ontwikkeling ervan uit handen geven. Hetzelfde geldt voor Flash, en inderdaad zoals hier ergens boven al gezegd, bij Windows wordt Flash ook niet voorgeÔnstalleerd. Dit was in OS X wel het geval, maar bij updates kwam het dus ook eens voor dat de Flash Player werd gedowngrade. Dan heb je dus ongemerkt allerlei bugs of beveiligingslekken erin zitten. Ik vind het heel goed, want het duurde lang voordat Apple met een update voor Java kwam, een versie waar een groot beveiligingslek in zat. Het komt niet geheel als een verassing, in Xcode is het ook al sinds een paar versies zo dat er geen standaard template meer voor Java ingebouwd is.

Het kan altijd een manier blijven om dat soort dingen te boycotten, maar ik vind dat het artikel wel het officiŽle statement van Apple erbij moet vermelden.

[Reactie gewijzigd door eThomas op 23 oktober 2010 11:09]

En ik vind dat mensen die hier reageren eerst hun feiten op een rijtje moeten hebben, voordat ze redacteuren voor gekleurd uitmaken :)

Ten eerste: redacteuren zijn uiteraard mensen met menselijke voorkeuren, emoties en ervaringen. Toch doen we ons uiterste best om die niet te laten doorklinken in de berichtgeving. Dat geldt niet alleen voor Apple - omdat het bij sommige mensen kennelijk gevoelig ligt - maar voor alle berichtgeving. In dit concrete geval: ik ken Wout Funnekotter als iemand die met grote kennis en zorgvuldigheid schrijft en niet bijzonder voor of tegen Apple is.

Ten tweede: Apple heeft Java inderdaad deprecated verklaard. Dat zegt Jobs kennelijk niet op MacRumours, maar als je op het linkje klikt in het artikel (voor de luie mensch, hier hetzelfde linkje, naar een pagina op de site van Apple) dan staat daar in de eerste zin.
As of the release of Java for Mac OS X 10.6 Update 3, the Java runtime ported by Apple and that ships with Mac OS X is deprecated. Developers should not rely on the Apple-supplied Java runtime being present in future versions of Mac OS X.
De regels voor de Mac App Store zijn eveneens duidelijk. Hoewel ik die niet op de site van Apple zelf kan vinden, heeft Apple Insider ze wel integraal gepubliceerd. Daarin staat:
Apps that use deprecated or optionally installed technologies (e.g., Java, [PowerPC code requiring] Rosetta) will be rejected
Dit zijn de feiten waarop het artikel is gebaseerd en die bieden geen basis voor twijfel of andere interpretatie.

Ik snap de menselijke emotie van Apple-liefhebbers om in elk bericht een negatieve grondhouding tov Apple te zien. Ik hoop echter dat tweakers met dergelijke emoties ze kunnen onderdrukken en alvorens met een beschuldigende vinger naar de redactie te wijzen, eerst de feiten te onderzoeken - te beginnen met het controleren van de bronlink in het artikel zelf :)
Kleine detail Apple heeft niet Java deprecated verklaard maar de Apple OSX JVM, klein verschil. Oracle is nog steeds de enige de Java deprecated kan verklaren :-)
Maak daar gerust 'groot verschil van' Ford Prefect

Java deprecated noemen als taal versus het deprecated noemen van een stuk software dat Apple onderhoud (the Java runtime ported by Apple and that ships with Mac OS X) is nogal een verschil.
Apple kan iets prima deprecated verklaren in het geval van gebruik met hun eigen systeem.
As of the release of Java for Mac OS X 10.6 Update 3, the Java runtime ported by Apple and that ships with Mac OS X is deprecated. Developers should not rely on the Apple-supplied Java runtime being present in future versions of Mac OS X.
Ze vinden hun huidige JVM dus deprecated, omdat ze altijd 'een release' achter liggen. Er staat niet dat ze Java deprecated vinden.
quote: Steve Jobs
Sun (now Oracle) supplies Java for all other platforms. They have their own release schedules, which are almost always different than ours, so the Java we ship is always a version behind. This may not be the best way to do it.
Apps that use deprecated or optionally installed technologies (e.g., Java, [PowerPC code requiring] Rosetta) will be rejected
Als je het origineel er bij pakt ( http://pastie.org/1236378 ) zie je dat in jou geval deprecated en optionally installed omgedraaid zijn.
Apps that use deprecated or optionally installed technologies (e.g., Java, Rosetta) will be rejected
2.25
Waar Java dus een 'optionaly' installed systeem is, en Rosetta deprecated, het wordt sinds SL niet meer standaard geinstalleerd en was een techniek om PowerPC applicaties op een intel mac te kunnen draaien, welke dus ondertussen wel deprecated is verklaard.

[Reactie gewijzigd door ZpAz op 23 oktober 2010 16:55]

Nu geef je zelf al aan dat apple java helemaal niet deprecated heeft verklaard, maar de VM die apple gebruikt heeft.
Tja, maar zo klinkt het lekkerder ;) (het valt me al langer op dat de presentatie van de artikelen hier soms in meer of mindere mate sterk gekleurd is)
In die gelekte voorwaarden van de OS X appstore staat toch zeker deprecated:

Apps that use deprecated or optionally installed technologies (e.g., Java, Rosetta) will be rejected
deprecated or optionally installed
Met OS X Lion valt Java onder het kopje optionally installed. Rosetta is inderdaad deprecated.
Welk gedeelte van 'deprecated or optionally installed' was je vergeten te lezen toen je dat zinnetje c/p-de? ;)
Ik geloof dat voor Java dan meer het 'or optionally installed' gedeelte geld. Om Java depricated te noemen is onzin. Als er uberhaupt al talen zijn die depricated zijn, dan denk ik aan dingen als Basic of Smalltalk die maar in heel erg beperkte gevallen nuttig zijn.

Daarbij als Java deprecated zou zijn, dan zou ook een taal als Scale deprecated zijn (die op de JRE draait), en aangezien dat een van de meest moderne talen is, lijkt me dat erg onwaarschijnlijk.

Overigens jammer dat in die App store niet gewoon een soort package management wordt ingebouwd. Zodra je een App download die 'optionele technieken' gebruikt zou die 'App Store' gewoon dat ook moeten installeren, precies zoals het in Linux gaat. Gemiste kans. Wat ik vooral opmerkelijk vind is dat Apple wil dat we allemaal C, C++ of ObjectiveC gaan gebruiken, terwijl er behoorlijk wat situaties zijn waarbij dat verre van handige talen zijn. Daarbij hoeft een programma in Python of Java echt niet onder te doen aan performance, want dat heeft meer met programmeertechnieken te maken dan in welke taal je programmeert.

Maar goed, je kan gelukkig ook nog losse programma's installeren, al hoewel ik niet heel erg veel vertrouwen heb in de vervolgstappen die Apple in de toekomst gaat nemen...
Het 'deprecated' verhaal slaat op de ondersteuning van Apple's versie van Java in Mac OS X. Het is geen oordeel over Java als taal of platform in het algemeen.
Ik ben net heel hard Java aan het leren. Ben inderdaad benieuwd wat er deprecated aan zou zijn. In de link (gelekte versie voorwaarden) is niet helemaal duidelijk of Apple bedoelt dat de programmeertaal Java op zich deprecated zou zijn of Java-draaiend-op-Apple. De Apple JRE die de compiled bytecode runt dus.

Ik snap wel dat Apple niet zo blij is met applicaties die je zo makkelijk kan porten tussen de OS platforms. Marketing zal wel een mooie reden verzinnen om dit tegen te gaan.

edit : heb net die macrumors link gelezen over die discontinuation en ben het met Ford Prefect hierboven eens

[Reactie gewijzigd door arikkert op 23 oktober 2010 11:33]

In de link staat dat Java 'optionaly installable is' en Rosetta deprecated, wat het ook is.
Rosetta is de PowerPC emulator die in alle cross platform versies zat van OSX. Rosetta stelde OSX in staat om PowerPC binaries te runnen op een intel processor. Ik kan me voorstellen dat ze bij Apple dat niet meer willen ondersteunen.
Rosetta heb ik eigenlijk alleen nog gebruikt voor het Belastingdienst aangifteprogramma :+ Blijkbaar was het nog altijd teveel moeite voor ze om een universal binary te bakken.
Of gewoon OpenJDK.
Deze versie nadert steeds meer de 100% compatibiliteit met Sun JDK. Het bevat zelfs 99% code van de Sun JDK.

OpenJDK 7, compatible met Sun JDK 7, draait dacht ik al op OSX (volgens wiki).
Ik heb sterk het idee dat Apple het de ontwikkelaar gewoon moeilijk wil maken programma's te maken die makkelijk te porten zijn naar andere platformen.
Waar heb ik dat eerder gehoord? Microsoft Internet Explorer features die niet werkten op andere browsers. Microsoft's Java implementatie die afweek van de specificaties op bepaalde punten waardoor het niet (goed) werkte op andere platformen. Direct X dat het moeilijk maakt games te porten naar Mac/Linux (vgl. OpenGL). Het gratis meeleveren van software bij het OS, om het concurrent ontwikkelaars moeilijk te maken (wie kan er concurreren tegen gratis).

[Reactie gewijzigd door bobwarley op 23 oktober 2010 09:44]

Het probleem van MSIE was dat versie 6 ver voor lag op de concurrentie. Toen na 5 jaar er eindelijk beweging in de markt kwam besloten die concurrenten niet 100% compatible te willen zijn met IE maar modernere technieken te gebruiken. Dat kun je die ontwikkelaars niet kwalijk nemen maar tegelijkertijd is dat ook het probleem niet van Microsoft. De Microsoft Java implementatie week inderdaad af en is dus ook door Sun de grond ingeboord en al snel na introductie weer verdwenen. En DirectX is gewoon een concurrerende (en in praktijk betere en completere) techniek als OpenGL.

Afgezien van het (zeer kortstondige) Microsoft Java avontuur zijn de genoemde voorbeelden dus gewoon voorbeelden waarbij Microsoft een beter product in de markt heeft gezet en daarmee marktaandeel gewonnen heeft. Dat was ook het idee van Microsoft Java trouwens, het aanbieden van een betere java dan wat er tot dan toe was, net zoals je verschillende smaakjes cobol of C++ hebt. Sun maakte er een probleem van omdat Java bedoeld is voor write once/ run anywhere en de Microsoft (en later de Apache en recent Android) implementaties dat onmogelijk maakte.

BobWarley is dus gezellig aan het Microsoft bashen. Altijd leuk zo op de zondag ;)
IE6 was in het begin echt niet beter dan Netscape (hoewel 'beter' natuurlijk subjectief is), pas toen Netscape het een strak plan ging vinden om hun browser vol te proppen met allerlei adware had IE hier echt een voordeel op. Uit mijn hoofd (maar dat weet ik behoorlijk niet zeker), had Netscape zelfs al tabbed browsing toen.
Grootste probleem was/is dat IE standaard werd/word meegeleverd, en dat dat zeker in die tijd waarin veel mensen nog maar net beginnen met de PC nog niet zo ver gevorderd waren dat ze alternatieven gingen onderzoeken.
IE werd al heel lang standaard meegeleverd (sinds IE2), maar omdat Netscape 2 en 3 veel beter waren gebruikte iedereen Netscape. Pas toen Netscape met 4.0 een logge buggy hoop ellende werd gingen mensen massaal IE4 gebruiken. Ik was destijds systeembeheerder op de TU Delft, en ik zag het 'live' gebeuren. Iedereen gebruikte Netscape 2 en 3, maar na de grootschalige uitrol van Netscape 4 op alle TU computers zat binnen een jaar elke student op IE4. En dat was niet omdat IE4 zo briljant was.

Natuurlijk is het heel slecht geweest voor de browser ontwikkeling dat IE jarenlang geen concurrentie had. MS deed inderdaad alles wat wel en niet mocht om de concurrentie dwars te zitten, maar eigenlijk hadden dat ze niet eens nodig. Jongere internetters zullen zich het zich moeilijk kunnen voorstellen nu, maar jarenlang (1997-2003) was er geen beter alternatief voor IE4/5. Opera was een half-werkende browser (niet gratis ook), Safari bestond nog niet, en Firefox/Mozilla was een verongelijkt groepje ex-Netscape devs die vanuit de puinhopen van Netscape 4 met wat alpha code bezig waren. Pas toen Firefox (in 2004 pas!) uit beta kwam en Opera met 7.0 volwassen werd (2003), was er een beter alternatief.

[Reactie gewijzigd door Dreamvoid op 23 oktober 2010 13:40]

Jongere internetters zullen zich het zich moeilijk kunnen voorstellen nu, maar jarenlang (1997-2003) was er geen beter alternatief voor IE4/5
Dan doe je netscape/mozilla toch echt te kort, IE 4 en 5 waren gewoon een ramp, eigenlijk was alles wat op die markt werd uitgebracht niet echt veel soeps maar zelfs de vroege versies van mozilla waren al beter dan IE 4 en 5.

Er zijn altijd alternatieven geweest die gelijk/beter waren dan IE en dat is maar goed ook omdat IE niet multiplatform is. (en nee, ik tel die draak van een IE 5 niet mee die naar osx werd geport

Maar ja, tegenwoordig is er inderdaad nog meer concurrentie en dan zie je meteen dat IE ook weer wat kan verbeteren (pas na 3 versies tov 6 maar ja, microsoft is natuurlijk maar een klein bedrijf zonder al teveel resources, dus die kunnen niet zomaar zoiets als khtml/webkit of gecko neerzetten)
maar zelfs de vroege versies van mozilla waren al beter dan IE 4 en 5.
Je kan het 'het grote publiek' moeilijk kwalijk nemen dat ze geen alpha versies installeren. Na de 1.0 in 2004 is het (terecht) heel hard gegaan met Firefox. Ik heb altijd Opera gedraaid naast IE4 en 5, en dat was sneller, en handiger (mouse gestures, tabs), maar erg stabiel was het niet en ik moet de hele tijd terug naar IE - ik kan volledig begrijpen dat het bij het grote publiek niet aansloeg. Je doet IE4 en 5 ook tekort, het waren prima werkbare, simpele, lichte browsers voor hun tijd (Internet 1.0 met statische HTML), pas toen iedereen met CSS2, XHTML en JS ging werken kwamen de gebreken aan het licht.

[Reactie gewijzigd door Dreamvoid op 23 oktober 2010 14:22]

(en nee, ik tel die draak van een IE 5 niet mee die naar osx werd geport
Fout, IE op de Mac was geen port en had een eigen engine.
is het al zondag? *wrijft in ogen*
BobWarley is dus gezellig aan het Microsoft bashen. Altijd leuk zo op de zondag ;)
Ik hoop niet dat je gisteren thuisgebleven bent, want het is pas zaterdag! :o
Het probleem van MSIE was dat versie 6 ver voor lag op de concurrentie. Toen na 5 jaar er eindelijk beweging in de markt kwam besloten die concurrenten niet 100% compatible te willen zijn met IE maar modernere technieken te gebruiken.
Modernere technieken zoals wat? Standaard HasLayout aan zetten? Geen pixelbugs? :?

Volgens mij heb je geen echte serieuze ervaring met front-enden als ik het zo hoor.

IE6 doet in HTML4 STRICT bijna alles precies zoals FireFox of Chrome daar waar het ondersteuning biedt voor de zelfde standaarden, maar wel op een inconsistente en buggy manier. Als jij de IE6 implementatie van floats een implementatie van een standaard vindt zou ik graag horen wat precies de motivatie achter deze standaard was, want het is niet logische manier van denken X in plaats van logica Y :z
-MSIE: had je een punt vroeger. Nu valt dat reuze mee, en elke browser heeft speciale features die de andere niet hebben.

-MSJava: gold alleen voor de standaard meegeleverde runtime, maar dat is ook al jaren geleden. Tegenwoordig wordt gewoon de runtime van java.com gebruikt.

-DirectX: MS verbied niet dat games gemaakt worden in OpenGL, OpenGL games draaien ook prima op Windows en op de PS3. De reden dat er vooral DirectX games worden gemaakt is omdat OpenGL steeds minder op de hielen zit van DirectX qua features, doordat het een te grote overleg groep heeft terwijl bij DirectX MS+nVidia+AMD er vrij snel uit kunnen zijn.
ActiveX was idd een grote fout, maar voor de rest is er nooit echt een probleem geweest. Voor Java zijn ze zelfs veroordeeld geweest. DirectX is een keuze van ontwikkelaars, het is niet alsof het onmogelijk is om opengl te gebruiken onder windows.
Wel toen MS melde dat ze alle OpenGL calls via DirectX wilde doen 'ter ondersteuning van audo applicaties'.

Ja, er was en tijd dat MS aankondigde OpenGL uit windows te halen. Dit was natuurlijk onzin omdat alle techische software die ook maar iest met 3D doet via OpenGL de wergave doet, en niet met DirectX.
Ik moet de eerste java applicatie nog tegenkomen die aandoet als een OSX applicatie (nog los van de performance); maw de niet-uniformiteit wil Apple vanaf.

dat dat flash verhaal als nieuws word gebracht, geeft weer jammergenoeg een gekleurd beeld aan dit bericht; geloof niet dat windows standaard met een flash player word geleverd ? maar goed, het is een non-issue, installeer het zelf, ben je altijd up to date.
Tsja... en ik moet de eerste iTunes voor windows nog tegenkomen die voldoet aan de Windows GUI stijl.

Apple wil gewoon af van (moreel) verplicht onderhoud op software waar ze niet zelf de specs voor bepalen.. en dat is hun goed recht.

Deze beslissing van Apple heeft naar mijn inschatting helemaal niets te maken met niet-uniformiteit van de applicaties. Ook in de Apple-approved talen kun je GUIs maken die absoluut niet voldoen aan de Apple user-interface guidelines.
Ik zie geen reden waarom de uiterlijk van iTunes moet worden gewijzigd voor de Windows gebruikers. iTunes 10 ziet er al super uit.
ROTFLMFAO
typisch een fanboy reactie, uiterlijk is een kwestie van persoonlijke voorkeur en dus subjectief!!!!!!!

[Reactie gewijzigd door digifan op 24 oktober 2010 03:30]

Dit gaat niet over 'mooi' of 'niet mooi', maar over consistentie / human interface guidelines van Apple en Microsoft. Zie: http://en.wikipedia.org/wiki/Human_interface_guidelines

@digifan: Er van uitgaande dat Wiejeben niet weet wat HIG's zijn, is zijn opmerking terecht en on-topic IMHO. Het niet hebben van bepaalde kennis is geen reden voor een ROTFLMFAO.

[Reactie gewijzigd door thegve op 24 oktober 2010 14:47]

Ach, iTunes op de Mac houdt zich al niet aan de Apple user-interface guidelines...
Ik moet de eerste java applicatie nog tegenkomen die aandoet als een OSX applicatie (nog los van de performance); maw de niet-uniformiteit wil Apple vanaf.
Wellicht omdat je hem niet herkende als Java app ?

Als developer kan je hier prima Macwidgets voor gebruiken: http://code.google.com/p/macwidgets/ . 100% pure Java 2D drawn mac widgets, dus cross platform.

Ik vind applicaties die hier mee gemaakt zijn zoals deze (Collapp): http://dlemmermann.files....0/01/screen-capture-5.png moeilijk te onderscheiden van 'the real deal'.
Mac widgets die cross platform zijn? Worden ze dan op Linux/Windows getekend als Linux/Mac widgets?
Als iets er uitziet als 'mac', is het al niet cross platform. Hoewel je het verschikkelijk 'ziet', zijn de standaard Swing controls wel 'echt' cross platform, je kunt ze laten renderen als native controls (naar keuze).
1 is bij mij bekend: Cyberduck. Java+cacao-framework (met draaieffecten quicklook en al de rest)
Die app zit er inderdaad aardig uit, maar is niet cross-platform meer lijkt me door die platform-afhankelijke extensies. Wat toch de reclamekreet van Java was :P
Objective C != "gewoon" C

C is nog steeds de basis voor zo'n beetje alle programmeertalen.

[Reactie gewijzigd door Bosmonster op 23 oktober 2010 09:46]

Objective C != "gewoon" C
Eerder:

Objective C >= "gewoon" C

want Objective C is een superset van C, je kunt "gewoon" C gebruiken in een Objective C programma.
Tja... Visual Basic zegt van niet :p
Visual Basic is een programmeertaal ;) Zelfs VBA, VB1-6 en ook natuurlijk VB.Net

http://en.wikipedia.org/wiki/Visual_Basic
Visual Basic (VB) is the third-generation event-driven programming language and integrated development environment (IDE) from Microsoft for its COM programming model. VB is also considered a relatively easy to learn and use programming language, because of its graphical development features and BASIC heritage.
Als je de basis van programmeren wilt leren, dan doe je dit het beste in VB. Ook ik ben in VB begonnen voordat ik op C#/C++/Java overstapte. (Die inderdaad allemaal C als basis hebben)

[Reactie gewijzigd door sanderev66 op 23 oktober 2010 10:29]

Ik ben ook in VB ( 5 en niet .NET) begonnen als tiener, maar ben nu wel blij dat ik deftig c++ geleerd heb op school en niet moest beginnen vanuit java of c# zoals nu vele nieuwe informatici.
De overstap van c++ naar .NET is gemakkelijk
omgekeerd is dit helemaal niet meer.
ls je de basis van programmeren wilt leren, dan doe je dit het beste in VB. Ook ik ben in VB begonnen voordat ik op C#/C++/Java overstapte.
Als er toch 1 taal is waarmee je de basis van programmeren niet moet gaan leren dan is het wel Visual Basic. Dan kan je nog beter gelijk bij C# of Java beginnen. Visual Basic is een gedrocht, een overblijfsel van compleet verkeerde ontwerpkeuzes van 20 jaar terug. Je kunt er alles mee, maar het is eigenlijk nergens het beste voor, en het staat helemaal nergens model voor behalve 'hoe flans ik in zo min mogelijk tijd iets in elkaar dat enigzins werkt'. Prima voor praktisch gebruik dus als dat je doelstelling is, maar als taal om te leren programmeren een ramp. Net als C++ trouwens, maar dat heeft weer hele andere redenen.

De beste programmeertaal om mee te leren bestaat niet, en de beste programmeertalen om specifieke aspecten van programmeren te leren zijn meestal sterk versimpelde talen die minder praktisch nut hebben. Voor de absolute basis bijvoorbeeld Pascal, voor functioneel programmeren Haskell, voor object-georienteerd programmeren Java of C#, en Objective-C is wat dat betreft een goede en eenvoudige hybride taal om te leren. Visual Basic komt echt in geen enkel rijtje terug als 'model taal' om te leren programmeren. Bestel het boek 'Aspecten van Programmeertalen' en lees dat van voor naar achter door, en dan leer je 10x meer over programmeren dan door wat VB code in te kloppen (wat overigens ook best leuk en leerzaam kan zijn, maar dan vooral in praktische zin).
Waarom, omdat ze syntax lenen? Kom nou toch, dat zegt geen zak over die talen an sich.
C compiled naar native assembler, dus dat gaan ze niet deprecaten.
C compileert niet naar Assembly (Assembly is een programmeertaal, een assembler is de tool waar je object code mee genereert)

C compileert naar object bestanden met binaire machine instructies erin dus.

Ff ter verduidelijking

[Reactie gewijzigd door Haproli op 23 oktober 2010 11:11]

Woepsie, je hebt gelijk Haproli. Ik bedoelde natuurlijk dat C rechtsreeks naar native machine code compileert (x86 in dit geval)
Hoewel ik me best kan voorstellen dat dit de stabiliteit van Lion ten goede zal komen, kan ik me toch niet aan de indruk onttrekken dat dit met name ingegeven is door commerciele redenen. Apple verdient volgens mij bakken met geld via de apps store en wil dat nu ook met zijn (lang niet zo winstgevende) Macs gaan doen. Het zou voor mij een reden om geen Mac te nemen, maar miljoenen anderen geven hier waarschijnlijk minder om... Of zou HTML 5 tegen die tijd al ver genoeg ontwikkeld zijn om als alternatief te werken.
"HTML 5" is geen full featured programmeertaal, Java wel. Tuurlijk zijn er dingen die ook in Java niet echt kunnen, waar je echt native voor moet programmeren (bijv in C of C++), maar dan kan je iig nog een native library inladen binnen Java.

Het gaat echter wel heel ver om "HTML 5" als concurrent voor Java te zien, terwijl het zich eerst nog moet bewijzen als concurrent voor Flash.
Overigens zet ik HTML 5 tussen quotes, want HTML is een opmaaktaal, meer niet. Met Javascript (officieel Ecmascript geheten) en krachtige browsertechniek zou je er een (desktop)applicatie van kunnen maken. Maar dat is zeker niet het primaire doel van HTML of wat in de wandelgangen nu HTML 5 genoemd wordt.
Uiteraard zal de verschuiving van applicaties naar "de cloud" wel zo zijn gevolgen hebben voor de adoptie van "HTML 5" als programmeeromgeving. Maar dat is niet een situatie waar Apple nou zo bijzonder veel voordeel van heeft (tenzij Apple die cloud beheert natuurlijk).
Met Javascript (officieel Ecmascript geheten) en krachtige browsertechniek zou je er een (desktop)applicatie van kunnen maken.
Javascript is een implementatie van ECMAScript, maar wel iets uitgebreider hoor.
Dat is net zoiets als zeggen dat Actionscript3 officieel ECMAScript heet en dat klopt natuurlijk ook niet!
Extend and Embrace!
Javascript is niet conform de standaard!

Ik wacht totdat Steve meld dat Apple Javascript ondersteuning uit OS/X en iOS haalt en iedereen dwingt ECMAScript te gebruiken ;)
Dan mogen ze ook alle iTunes-only dingetjes uit MP4 gaan halen (non-standaard tags, nonstandaard streaming protocols), Embrace-and-Extend is Apple niet vreemd. Sterker nog, heel OS X zelf is een embrace-and-extend van Darwin.
Hoezo stabiliteit van lion ten goede zal komen.

De jvm is een heel stabiel stuk software, alle grote enterprise applicaties zijn java tot embedded ziekenhuis en labo apperatuur ....verder heeft het niets met het os te maken, dus de stabiliteit beinvloeden lijkt mij sterk.

Er is een aanzienlijk deel java developers dat op os X werkt (bvb op devoxx, ťťn van de grootste java conferences ter wereld binnenkort, zie je hopen developers met macbookpro's rondlopen), ik kan me dus niet voorstellen dat oracle een gat zal laten in de ondersteuning hiervan, jammer dat het een extra stap is dat je zelf de JVM moet binnentrekken.

OS X bevat trouwens standaard een hele hoop "developer" java based software, ant, maven, moet je allemaal niet zelf installeren voor je aan de slag kon, dat vond ik schitterend en dat zal nu ook allemaal verwijderd worden.
Vraag ik me meteen af af Apples geslotenheid de reden is waarom veel ontwikkelaars een MacBook hebben, het is zonder Apple hardware immers onmogelijk om te testen op OS X.

Ik heb ook een programma geschreven wat theoretisch zou moeten draaien op OS X.. kan het alleen niet testen en het draait blijkbaar niet, maar goed doordat ik niks kan testen zal het er ook wel nooit op gaan draaien (ben niet van plan zelf Apple Hardware aan te schaffen). Beetje gemiste kans van Apple imo om het niet toe te staan op gevirtualiseerde hardware.
Het is wel toegestaan.. staat in de EULA en ook bij diverse Virtualisatiepakketten aangegeven.
Nee, hier staat dat je de Server versie geritualiseerd mag gebruiken, laat die versie nou eens vies veel duurder zijn ;)
Jij baseert je argument over dat Macs niet zoveel winst opleveren op wat?

Verder vind ik die artikel een beetje misleidend nadat ik de post van Ford Prefect heb gelezen.
Helaas voor jou: Apple verdient veel meer aan de hardware dan aan de App Store. Misschien heb je de cijfers van het recente "Back to the Mac" event gemist: als de "Mac"-tak van Apple een los bedrijf was, zou het op de 101ste plaats in de Fortune 500 staan.

Lang niet zo winstgevende Macs, laat me niet lachen.

[Reactie gewijzigd door Herko_ter_Horst op 23 oktober 2010 13:55]

Dit artikel geeft echt wel een verkeerd beeld, al dan niet doordacht.

Dat Apple hiermee stopt is een goede zaak voor de eindgebruiker. Oracle gaat echt wel zorgen dat er een up to date download komt, en de voorgeinstalleerde java runtime was alles behalve up to date.


Trouwens, binnenkort is de Mac Store er en zal dit waarschijnlijk in een categorie Essentials terecht komen, dus zo moeilijk zal het ook niet zijn om up to date te blijven. Vreemd dat die link niet gelegd wordt in het artikel...
Bedoel je dat je verwacht dat Java in de Mac App Store zal komen? Lijkt me niet. Frameworks zijn in de iDevices App Store niet toegestaan en Apple geeft in de voorwaarden voor de Mac App Store aan, dat geen gebruik mag worden gemaakt van deprecated frameworks (zoals Java, Flash e.d.).

Het lijkt me dus zeer onwaarschijnlijk dat Java juist via de Mac App Store terugkeert op de Mac.

Overigens was de voorgeinstalleerde runtime vrij up-to-date de laatste tijd (anders dan bij de overgang van Tiger naar Leopard toen de updates een tijd hebben stilgelegen): tot deze week was de versie 1.6.0_20, die is nu geŁpdatet naar de meest recente versie 1.6.0_22.

[Reactie gewijzigd door Herko_ter_Horst op 23 oktober 2010 13:53]

Ze noemen Java en Flash niet 'deprecated'. Als je de voorwaarden leest zie je er '... or optionally installed technologies (e.g., Java, Rosetta)...' staan.
Ze noemen "the Java runtime ported by Apple and that ships with Mac OS X" wel degelijk deprecated. Java is op (Snow) Leopard niet "optionally installed", je krijgt het er altijd bij. Rosetta is wel "optionally installed".
Fijn voor bedrijven met oudere applicaties...
Ik denk dat ze zichzelf in de voeten schieten hiermee. Dit zou voor mij een reden zijn om geen Apple te kopen, en voor bedrijven waarschijnlijlk nog meer.
Browser en Java zijn nog steeds gekoppeld, echt niet handig...
Je kan het ook wel gewoon installeren, al moet je dit dus wel handmatig doen. Zoals al gezegd is, de titel is misleidend.
zolang Oracle geen JVM maakt voor OSX, vraag ik mij af wat jij "gewoon" gaat installeren
Sun/Oracle maakt geen JVM voor OSX ivm met een contract met Apple. Apple zou de releases voor Java doen, en Sun/Oracle juist niet. De Java releases van Apple waren eigenlijk niks anders dan de Sun/Oracle Java release maar dan door Apple uitgebracht.

Ik vraag me af of het contract nu dus eindelijk gebroken wordt en Sun/Oracle eindelijk "fatsoenlijke" Java releases kan gaan door voor OSX. Was Apple was rond uit slecht met Java releases. Zo heeft Java 6 jaren op zich later wachten, en zitten er nog verschillende kritische bugs in de laatste Java release van Apple.
Ja dat klopt maar met 1 opmerking, Apple zijn JVM liep altijd ver achter bij de Oracle versie. Dus als het resultaat hiervan is dat Oracle nu met een JVM komt dan ben ik blij.
De Java releases van Apple waren eigenlijk niks anders dan de Sun/Oracle Java release maar dan door Apple uitgebracht.
Fout fout fout...

Apple heeft miljoenen geÔnvesteerd om de OS specifieke gedeeltes van de JVM/Java te implementeren. Dit zijn met name graphics, maar ook enkele system event gerelateerde dingen.

Dit zal een ENORM werk zijn om helemaal vanaf scratch te gaan maken als Apple dit werk niet aan Oracle wil verkopen of open source wil vrijgeven.
En waar ga je de software vandaan halen? Apple bied het niet aan en Oracle heeft het niet.
Oracle heeft nog even de tijd om een Java runtime voor OSX te maken hoor, in de Zomer van 2011 komt 10.7 pas uit... tot die tijd kan je het vast wel even uithouden met de huidige Java runtime.
Zomer 2011 is nog maar negen maanden weg - een complexe omgeving als een JVM schrijven doe je echt niet in zulke korte tijd. 't Zou al knap zijn als ze tegen die tijd een eerste compilebare alpha hebben.
Wij zijn recent bij twee bedrijven gestopt met Java. Dit verloopt vrijwel probleemloos. Ik zou zeggen, haal het eens een week van je systeem af en kijk of je het uberhaupt mist.

Lijkt me een prima zaak dat dit er standaard niet meer op staat.
Alles hangt af of je software hebt die het gebruikt. Maak je bijvoorbeelde gebruik van Base uit het OO.o/LO project dan heb je het nodig. Maak je wel eens gebruik van Limewire dan heb je het nodig. En ik geloof dat ook bijvoorbeeld de frontend van onze Belgische eID applicatie gebruik maakt van Java.
Een aspect van deze ontwikkeling dat in het artikel onderbelicht blijft is wat dit betekent voor Java ontwikkelaars. (Ben er zelf geen). Deze schijnen zich nu nogal zorgen te maken, ik las een schatting van iemand dat 50% van de Java devs hun werk op een Mac doen. Mocht er inderdaad geen toekomst zijn voor Java op de Mac dan zullen deze devs moeten overstappen naar Windows of Linux.

Het is niet triviaal voor Oracle om een Java port naar de Mac de maken, zeker niet als dat goede apps moet opleveren vanwege de Mac specifieke functionaliteit. Het is nog maar de vraag of zo'n investering voor Oracle iets oplevert, zonder hulp van Apple lijkt me dat twijfelachtig.

In het geval dat dit er niet van komt of een onacceptabele Java implementatie oplevert, verliezen ontwikkelaars hun favo tools (Eclipse, Netbeans) om onder andere Java in te schrijven. Misschien niet geheel toevallig zullen daar veel Android ontwikkelaars tussen zitten.

In deze blog worden een aantal scenario's gegeven:
http://www.devdaily.com/m...a-deprecated-os-x-sdk-jvm
Mijns inziens doe je een aantal aannames die niet kloppen.

Java porten naar de Mac is weliswaar niet triviaal, maar ook weer niet zo'n enorme klus dat een bedrijf als Oracle (of IBM) dat niet in een paar maanden voor elkaar kan krijgen. OS X heeft weliswaar een paar UI zaken die afwijken van de norm (voornamelijk de system-wide menubalk), maar die zijn niet dermate afwijkend dat er helemaal niets te beginnen is met applicaties die daar geen aandacht aan schenken. Ik heb diverse Java applicaties op de Mac gezien die een "gewoon" in-applicatie menu hadden, zoals op Windows en Linux. In de system-wide menubar stond dan alleen de naam van het programma.

Het is dus goed te doen om Java naar de Mac te porten. Zeker als je daarbij hulp van Apple krijgt. Dat is namelijk een tweede aanname die je doet, waarvan ik denk dat die niet klopt. Er zal zowel Oracle als Apple best iets aan gelegen zijn om die 50% Java developers (of die 50% nou waar is of niet, het zijn er zeker een hele hoop) die op een Mac werken, tevreden te houden.

Diverse artikelen (dit artikel incluis) scheppen een sfeer alsof Apple ineens Java haat en er niks meer mee te maken wil hebben. Dat maak ik nergens uit op. Het is best mogelijk Apple de code die nu gebruikt wordt om de JRE aan te passen, doneert aan een instantie die Java voor de Mac gaat maken (Oracle zelf, IBM of het OpenJDK project, bijvoorbeeld).
Oke, ik zal ze beter onderbouwen:

Het gaat erom dat de Java Runtime incluis het hele framework geport moet worden in termen van de native apis die Apple aanbiedt. Het voorbeeld dat je geeft is juist mogelijk omdat het java framework al jaren wordt aangepast door Apple om zo goed mogelijk aan te sluiten op het OS. Al die aanpassingen maken porten van Java apps naar Mac OSX triviaal, maar zijn dat zelf zeker niet. Zal Apple de hele Java implementatie gewoon overdragen aan Oracle? Zal Oracle de investering in Java op Mac OSX zien als iets wat ze geld zal opleveren? Ik weet het nog zo net niet.

De stelling dat Apple Java niet op de Mac wil hebben om het zo maar te zeggen is geen aanname van mij, maar een zorg van ontwikkelaars. Het is echter wel een gefundeerde zorg imho:

1. Het feit dat Apple geen Java in de App Store wil hebben is op zichzelf al negatief, zeker voor Java devs.
2. Ook al gaat Apple Java niet actief tegenwerken, het mogelijks niet ondersteunen van Java door Apple brengt op zichzelf al Java op Mac OSX in gevaar. Het is echt maar afwachten wat Oracle gaat doen en de OSS community voor elkaar kan krijgen. Het is ook maar de vraag hoe denderend die wellicht niet door Apple ondersteunde Java applicaties zullen zijn.
3. Gezien punt 1 en 2, de belangen en de slechte reputatie van Apple op ondersteuning van andere / oudere technologieen vind ik het helemaal geen raar idee dat Apple een strategie heeft waar Java geen rol meer in speelt.

Het is waar dat je 3 nog niet kan concluderen, maar het is een gerechtvaardigd vermoeden en geen sensatie verhaaltje.
Oke, ik zal ze beter onderbouwen:

Het gaat erom dat de Java Runtime incluis het hele framework geport moet worden in termen van de native apis die Apple aanbiedt. Het voorbeeld dat je geeft is juist mogelijk omdat het java framework al jaren wordt aangepast door Apple om zo goed mogelijk aan te sluiten op het OS. Al die aanpassingen maken porten van Java apps naar Mac OSX triviaal, maar zijn dat zelf zeker niet. Zal Apple de hele Java implementatie gewoon overdragen aan Oracle? Zal Oracle de investering in Java op Mac OSX zien als iets wat ze geld zal opleveren? Ik weet het nog zo net niet.
Apple gebruikt(e) als basis voor de JRE/JDK op de Mac gewoon de C++ code van de JDK zoals die door Sun gemaakt wordt, hoor. Zo groot zijn de aanpassingen die ze moeten doen niet. Ik verwacht dat er minstens ťťn partij in het gat zal springen.
De stelling dat Apple Java niet op de Mac wil hebben om het zo maar te zeggen is geen aanname van mij, maar een zorg van ontwikkelaars. Het is echter wel een gefundeerde zorg imho:

1. Het feit dat Apple geen Java in de App Store wil hebben is op zichzelf al negatief, zeker voor Java devs.
2. Ook al gaat Apple Java niet actief tegenwerken, het mogelijks niet ondersteunen van Java door Apple brengt op zichzelf al Java op Mac OSX in gevaar. Het is echt maar afwachten wat Oracle gaat doen en de OSS community voor elkaar kan krijgen. Het is ook maar de vraag hoe denderend die wellicht niet door Apple ondersteunde Java applicaties zullen zijn.
3. Gezien punt 1 en 2, de belangen en de slechte reputatie van Apple op ondersteuning van andere / oudere technologieen vind ik het helemaal geen raar idee dat Apple een strategie heeft waar Java geen rol meer in speelt.
Zolang de App Store niet de enige weg is waarlangs applicaties geÔnstalleerd kunnen worden, blijft alleen je allereerste punt over: komt er een JRE voor de Mac?
Het is waar dat je 3 nog niet kan concluderen, maar het is een gerechtvaardigd vermoeden en geen sensatie verhaaltje.
Jouw vermoeden/posting is geen sensatieverhaaltje, dat probeer ik nergens te beweren. De sensatie wordt op dit moment veroorzaakt door diverse "shooting-from-the-hip" artikelen en blogs, waaronder in mijn optiek ook dit artikel op Tweakers. Er wordt heel weinig nuance gezocht c.q. onzorgvuldig geformuleerd, waardoor vermoedens in de negatieve richting gestuurd worden.

Ik probeer aan te geven waarom ik denk dat het allemaal zo'n vaart niet zal lopen.
Zoals anderen ook al zeiden Oracle kan het zich niet permiteren om geen OSX Java SDK te releasen want 80% van hun enterprise software (onderdelen) maakt gebruik van Java.
Er zijn overigens ook nog OpenJDK versies voor OSX dus je zult altijd kunnen kiezen uit twee JDK's voor OSX.

En als Apple geen Java apps in hun appstore willen hebben heeft simpelweg de reden dat Apple geen apps in hun store willen hebben die ook op andere platformen werken.
Niet dat ik Oracle een Java appstore zie maken maar zou wel humor zijn.
De aanname die jij (en anderen) maken is dat Oracle er belang bij heeft dat zijn software op OSX draait, maar is dat zo? De meeste enterprise software draait onder windows of linux. Zeker als je kijkt naar wat er op servers draait, wat het bulk van de Oracle software doet, dan speelt OSX geen enkele rol van betekenis.
Klopt, alleen dit gaat misschien als een verrassing voor je komen, maar developers ontwikkelen niet direct op een server.

Developers ontwikkelen op een desktop of workstation, en die draait behoorlijk vaak OS X.

Door geen Java voor OS X te ontwikkelen, riskeert Oracle dus dat deze developers misschien maar heel Java de rug toe keren en in iets anders gaan ontwikkelen.

Het is dus wel degelijk in het belang van Oracle om Java op zo veel mogelijk gangbare desktop operating systems te hebben draaien. In de praktijk zijn dat voornamelijk Windows, OS X en Linux.
Zo moeilijk is de overstap van osx naar Ubuntu of Windows toch niet?
Opzich niet, maar het zou wel heel jammer zijn want ik vind OS X zelf wel een heel fijn OS.
Hebben jullie overigens de reactie van Steve Jobs gelezen?
quote: Steve Jobs
Sun (now Oracle) supplies Java for all other platforms. They have their own release schedules, which are almost always different than ours, so the Java we ship is always a version behind. This may not be the best way to do it.
http://www.9to5mac.com/wp...010-10-22-at-11.51.19.jpg

[Reactie gewijzigd door wardjj op 23 oktober 2010 10:16]

Ik ben niet zo'n Jobs ophemelaar, maar als dit een echte Jobs reactie is, dan vind ik dit een begrijpbare reden. Want de beredenatie dat Java een deprecated platform is, is natuurlijk idioot. Simpelweg om het enorme aantal Java programma's dat vandaag de dag nog steeds in ontwikkeling is.

Het is natuurlijk heel goed voor te stellen dat Apple ook wel op Oracle's "we bouwen de VM zelf wel" service in wil stappen. Dat scheelt resources en dus geld.

[Reactie gewijzigd door New op 23 oktober 2010 12:37]

Ik denk dat Apple zelf bezig is met een eigen managed code omgeving, en daarom stopt met Java. Microsoft heeft .NET, Oracle levert Java voor alle platforms (ook Linux), maar Apple heeft nog geen volwaardige VM omgeving, en laat alle apps gewoon maar in native code rondbanjeren, met alle veiligheidsrisico's van dien. Gezien de enorme exploitbaarheid van iOS (wat is het, dertig iOS patches en nog steeds is het binnen een week gehacked?) moet Apple aan de VM, de rest heeft het ook al. Android heeft Dalvik, WP7 heeft XNA (.NET), Blackberry is Java. De wereld gaat naar managed code, en Apple moet mee.

[Reactie gewijzigd door Dreamvoid op 23 oktober 2010 14:12]

Precies. Objective-C/Xcode is langzaam naar een managed code omgeving aan het evolueren. Devs worden steeds meer naar de API's gepushed, en op een gegeven moment kan Apple de stekker uit alle non-API toegang tot de kernel en libs trekken, en presto: je hebt een .NET/Java look-a-like. Logisch dus dat Apple op een gegeven moment niet meer twee VM's wil ontwikkelen. Da's ook wenselijk eigenlijk, anders krijg je een klagende Oracle dat Apple bewust een crappy JVM maakt (= precies het probleem met de Microsoft JVM op Windows).

[Reactie gewijzigd door Dreamvoid op 23 oktober 2010 19:31]

Ik heb de reactie van Steve Jobs gezien, maar hij heeft het mis met zijn uitspraak:
Sun (now Oracle) supplies Java for all other platforms.
Java uitvinder James Gosling heeft hier ook op gereageerd:
It simply isn't true that “Sun (now Oracle) supplies Java for all other platforms”. IBM supplies Java for IBM's platforms, HP for HP's, even Azul systems does the JVM for their systems (admittedly, these all start with code from Snorcle - but then, so does Apple). In the beginning, Microsoft provided Java for Windows - but Sun took over when Microsoft violated their contract and made Java code written on Windows unable to run on other systems.
James Gosling denkt ook dat Apple geheime APIs in OS X heeft gebruikt in hun eigen Java versie, vooral voor graphics rendering. Dat kan een extra obstakel zijn voor Oracle als ze zelf een Java versie voor OS X zouden willen uitbrengen (Oracle heeft natuurlijk geen toegang tot die geheime APIs en het zal dus moeilijker zijn om een Java voor OS X te maken die net zo goed werkt als Apple's versie).

[Reactie gewijzigd door jj71 op 23 oktober 2010 23:26]

Dat verhaal over flash is niet geheel juist. Vanaf nu worden alle macs zonder flash geleverd, dus niet pas vanaf de lancering van Lion (wat in de zomer van 2011 pas uitkomt).
Tot nu toe enkel de MBA, niet 'elke' Mac. Maar dat zal in verloop van tijd wel zo zijn inderdaad. Maar ja, welk OS levert wel standaard flash mee?
Eigenlijk geen een. Ik geloof dat sommige linux-distro's standaard een open implementatie meeleveren. Windows helemaal niet, tenzij je een 'merk-PC' met voorgeinstalleerde software afneemt.

Ik vind er persoonlijk helemaal niks ergs aan. Allereerst zijn zowel JAVA als Flash twee voorbeelden van een platform op zijn retour. Flash bijvoorbeeld wordt tegenwoordig als pakket ingezet om software te bouwen, terwijl het ooit bedoeld was als een pakket waarmee je presentaties voor het web mee in elkaar kan knutselen. JAVA was qua idee erg goed, de prestaties waren niet altijd fantastisch, maar in een tijd van cloud, web-based applicaties en virtualisatie begint ook dit pakket obsolete te raken.

Ik zag ook een opmerking over .NET als concurrent voor JAVA. .NET heeft zoals gezegd een andere architectuur. Het is een framework welke als het ware over de Windows Native API heen gelegd wordt. Als je met behulp van .NET een web applicatie bouwt kan je deze in de regel zonder een enkel probleem laten draaien op welk platform dan ook, of je moet het bont maken zoals het gebruiken van WPF.
En waar denk je dat al die cloud en web-based applicaties in geschreven worden? Juist.

Achter al die applicaties en omgevingen die wij op het Net gebruiken zit een immense complexiteit van enterprise applicaties om te zorgen dat bijvoorbeeld het boek dat jij bij Amazon bestelt ook daadwerkelijk bij jouw thuis wordt afgeleverd.

Veel van deze enterprise software wordt geschreven in Java. En ja, dat is software die vaak op server omgevingen (Linux, AIX, Windows, etc.) draait, maar die software moet wel een keer gebouwd worden. En dat is nou precies waarom ik Java op mijn Mac niet kan missen. Ik heb gewoon een Java runtime nodig om mijn IDE (Eclipse) te kunnen draaien, om mijn software te kunnen testen op een test-server (JBoss AS, Tomcat, etc.) voordat ik het een OTAP straat in knikker.

Voor de huis-, tuin- en keuken computergebruiker is dit misschien niet zo'n probleem, maar voor mensen die zakelijke/enterprise software schrijven (dat ook op iets anders dan Windows moet kunnen draaien, inclusief 24/7 vendor support) is dit behoorlijk vervelend.

Nu maar hopen dat Oracle dit gat kan en gaat opvullen. Anders wordt het toch maar ontwikkelen in Fedora in een VirtualBox omgeving.
Begrijp me niet verkeerd. Ik gebruik al jaren Mac, en het kan me niets schelen of ze nu wel of geen Flash installeren. Ik haal namelijk liever zelf gewoon de nieuwste versies van het net als ik ze nodig heb.

En inderdaad, andere ossen hebben ook niet standaard Flash.

En deze bron zegt dat alleen de huidige supply lijn nog Flash heeft.

[Reactie gewijzigd door casparz op 23 oktober 2010 10:37]

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