PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apple und Java


Shink
2010-10-22, 10:02:12
Hab es hier noch nicht gefunden (mit Ausnahme des Apple-Bashing-Threads in Offtopic):

In den Release-Notes für das soeben freigegebene Java-Update für Mac OS X 10.6 und 10.5 nennt das Unternehmen die bislang mitgelieferte eigene Implementierung "deprecated" – "hinfällig". Sie werde nicht mehr gepflegt und könne in zukünftigen Versionen des Betriebssystems ganz entfallen.
http://www.heise.de/newsticker/meldung/Apple-aktualisiert-Java-und-nimmt-leise-Abschied-1123014.html
http://developer.apple.com/library/mac/#releasenotes/Java/JavaSnowLeopardUpdate3LeopardUpdate8RN/NewandNoteworthy/NewandNoteworthy.html#//apple_ref/doc/uid/TP40010380-CH4-SW1

Find ich lustig.
100% der mir bekannten Apple-Anhänger sind Java-Programmierer.:freak:
Wenn Eclipse und co nur mehr mit X11 läuft wär das wohl schon etwas doof für die.:freak:
Damit lauft dann wohl auch irgendwann so "uninteressantes" Zeug wie die Lotus-Suite nicht mehr auf einem Mac.

Wie geht das wohl weiter?

ed1k
2010-10-22, 10:32:53
Java und Flash sind Seuchen des 21. Jahrhunderts.

Exxtreme
2010-10-22, 10:39:28
Also ich vermute, dass Oracle eine VM für die Macs liefern wird. Apple behandelte Java sowieso recht stiefmütterlich. Da hinkten deren Implementierungen Monate den offiziellen Releases hinterher.

Zudem sind Ellison und Jobs nette Kumpels.

SavageX
2010-10-22, 11:33:21
Java und Flash sind Seuchen des 21. Jahrhunderts.

Als Java-Entwickler sage ich: Nö, Java funktioniert ziemlich gut, hat hervorragende Tools, eine Flut guter Bibliotheken (wichtig!) und ist (ziemlich) einfach beherrschbar.

Aber hey, Hauptsache Seuche.

Shink
2010-10-22, 11:37:05
Java und Flash sind Seuchen des 21. Jahrhunderts.
Mh... was macht Java denn um so viel schlechter als z.B. .NET oder Apples kleine Objective C-Welt?

Also ich vermute, dass Oracle eine VM für die Macs liefern wird.
Das kann aber nicht von heute auf morgen gehen dass man da AWT portiert etc.
Und "deprecated" heißt ja wohl dass keine Updates oder Security-Patches mehr kommen, oder?

Exxtreme
2010-10-22, 11:47:57
Das kann aber nicht von heute auf morgen gehen dass man da AWT portiert etc.
Und "deprecated" heißt ja wohl dass keine Updates oder Security-Patches mehr kommen, oder?
Da Steve und Larry so tolle Kumpels sind glaube ich, dass Oracle die Portierung von Apple bekommen könnte. Dann müssten sie nur noch weiter machen.


"Deprecated" bedeutet in erster Linie, dass man das nicht mehr benutzen sollte wenn man was Neues anfängt da es nicht mehr weiter entwickelt werden wird bzw. komplett rausfliegt. Da Apple aber seine Java-Implementierung ins OS gepflanzt hat glaube ich durchaus, dass es weiterhin Sicherheitspatches geben wird.

SavageX
2010-10-22, 11:49:29
Mh... was macht Java denn um so viel schlechter als z.B. .NET oder Apples kleine Objective C-Welt?


Wieder mal ich als Java-Entwickler:

* Die "Haussprache" C# scheint sich etwas dynamischer als Java zu entwickeln, weil man sich im Java Community Process wohl lange Zeit festgefahren hat und man sehr bedächtig mit der Sprachdefinition von Java umgeht. Deshalb kommen im JDK 7 wohl erstmal nur kleine Krümel als Spracherweiterungen.

* Sun hat den Desktop-Markt nicht verstanden. Ich persönlich mag Swing als API (auch wenn es teilweise sehr sehr Interface-verwickelt ist) und heutzutage ist die Geschwindigkeit auch kein Thema mehr, aber das Default Look and Feel ist ja nach-wie-vor eine Katastrophe, auch wenn man sich von Sun-Pink nach Baby-Blau über die Zeit verlagert hat. Wer will, dass seine Applikation sich partout nicht visuell in die Umgebung einpassen soll (oder wirklich will, dass alles pixelgenau gleich aussieht, über viele Plattformen hinweg), der bleibt beim default, der Rest (c'est moi) wählt explizit das Plattform-L&F, was aber erst relativ spät halbwegs gut geworden ist.

* Von Objective-C höre ich Leute, die es mögen (ist immerhin wohl hübscher als C++) oder hassen (es ist weder Java, C# noch C++). Von der Technologie ist das natürlich nicht wie .net oder Java, weil man nicht gegen eine plattformunabhängige VM programmiert und die API 100% Apple ist. Plattformunabhängigkeit ist natürlich kein Ding von Apple, die kerkern ein, was geht.

Shink
2010-10-22, 12:17:07
Wen sollte das stören dass man konservativer und rückwärtskompatibler als C# ist und im Server- und Embedded-Bereich mehr reißt als im Desktop-Bereich? Das sind ohne Zweifel Eigenschaften von Java aber welche davon machen es zur Seuche?

SavageX
2010-10-22, 12:35:33
Wen sollte das stören dass man konservativer und rückwärtskompatibler als C# ist und im Server- und Embedded-Bereich mehr reißt als im Desktop-Bereich? Das sind ohne Zweifel Eigenschaften von Java aber welche davon machen es zur Seuche?

Ich denke Leute, die Java als Seuche bezeichnen haben Applets im Sinn oder schlecht gemachte Java GUIs.

Das Java Plugin von Sun war/ist notorisch unzuverlässig (funktioniert prächtig auf vielen Maschinen, funktioniert fast gar nicht woanders), zumal der Startvorgang ja häufig den Browser blockiert (Plugins wurden lange Zeit im Browserprozess ausgeführt). Insgesamt ist die Benutzererfahrung mit Java-Applets deshalb oftmals ziemlich mau.

Schlechte Java-GUIs gibt es auch zuhauf, da das Sun Look and Feel praktisch immer häßlich ist und es wirklich gute GUI-Builder für Swing ja eigentlich nur für Netbeans gibt (Matisse ist großartig).

(Ja, ich bin der festen Meinung, dass ein *guter* GUI-Builder zu besseren GUIs führt, als wenn man alles händisch erledigt, weil man viel mehr Zeit fürs Polieren aufwenden kann und sofort visuelles Feedback hat.)

Exxtreme
2010-10-22, 12:47:34
Wen sollte das stören dass man konservativer und rückwärtskompatibler als C# ist und im Server- und Embedded-Bereich mehr reißt als im Desktop-Bereich? Das sind ohne Zweifel Eigenschaften von Java aber welche davon machen es zur Seuche?
Im Desktop-Bereich reisst derzeit keine Bytecode-VM was. Was man öfter sieht sind irgendwelche kleinen Tools ala Tauschbörsen oder Musikplayer. Gibt noch div. fimeninterne Anwendungen aber da kommt sehr oft Java zum Einsatz.

nggalai
2010-10-22, 12:59:47
Und "deprecated" heißt ja wohl dass keine Updates oder Security-Patches mehr kommen, oder?
Steht im Link, den Du hier reingesetzt hast:

The Java runtime shipping in Mac OS X 10.6 Snow Leopard, and Mac OS X 10.5 Leopard, will continue to be supported and maintained through the standard support cycles of those products.

Standard-Support-Cycle heißt bei Apple: Eine OS-Version rückwirkend. i.e. bis 10.7 kommt werden 10.6 und 10.5 unterstützt. Kommt Lion, fällt der Support für Leopard flach.

Für Snow Leopard wird es also noch mindestens zwei Jahre Patches geben. Einfach keine aktualisierten Versionen mehr.

SavageX
2010-10-22, 14:11:18
Im Desktop-Bereich reisst derzeit keine Bytecode-VM was.

Hmmm... müsste es nicht schon haufenweise .net Applikationen geben, die als managed code in der .net VM laufen? Klar ist, dass so Schwergewichte wie Photoshop und Microsoft Office noch gaaaaanz lange Zeit bei C++ bleiben (so eine Software wird über Dekaden gepflegt), aber z.B. das Catalyst Control Center soll doch auf .net aufbauen? Oder ist das nicht managed code?

Exxtreme
2010-10-22, 14:21:23
Hmmm... müsste es nicht schon haufenweise .net Applikationen geben, die als managed code in der .net VM laufen? Klar ist, dass so Schwergewichte wie Photoshop und Microsoft Office noch gaaaaanz lange Zeit bei C++ bleiben (so eine Software wird über Dekaden gepflegt), aber z.B. das Catalyst Control Center soll doch auf .net aufbauen? Oder ist das nicht managed code?
Das CCC ist schon Managed-Code aber wie schon geschrieben, es sind meistens kleinere Sachen, die sowas nutzen. Und das CCC sehe ich jetzt nicht als was Größeres an. ;)

SavageX
2010-10-22, 15:19:13
Das CCC ist schon Managed-Code aber wie schon geschrieben, es sind meistens kleinere Sachen, die sowas nutzen. Und das CCC sehe ich jetzt nicht als was Größeres an. ;)

Nun, große Software zu migrieren ist ja auch meistens ökonomisch nicht drin, aber bei neuem Zeug (welches dann natürlich seine Zeit braucht, um im Markt aufzuschlagen) wird man vielleicht .net oder Java in Betracht ziehen. Paint.net wäre ein halbwegs bekanntes Beispiel http://www.getpaint.net/

Ansonsten sind natürlich IDEs wie MonoDevelop, Eclipse oder Netbeans ziemliche "Desktop" Schwergewichte (nur halt auf dem Entwickler-Desktop, nicht beim Endbenutzer, ganz klar) - die Mächtigkeit von .net und Java, komplexe GUI-Applikationen zu befeuern, steht also außer Frage.

Coda
2010-10-22, 17:02:40
Ich gehe stark davon aus, dass Apple Oracle den Code für die Cocoa-Java-Implementierung gibt und sie sich in Zukunft selber um die Wartung kümmern.

Alles andere kann ich mir nicht vorstellen.

Mh... was macht Java denn um so viel schlechter als z.B. .NET oder Apples kleine Objective C-Welt?
Don't feed the troll.

* Die "Haussprache" C# scheint sich etwas dynamischer als Java zu entwickeln, weil man sich im Java Community Process wohl lange Zeit festgefahren hat und man sehr bedächtig mit der Sprachdefinition von Java umgeht. Deshalb kommen im JDK 7 wohl erstmal nur kleine Krümel als Spracherweiterungen.
Scala (http://www.scala-lang.org/).

Shink
2010-10-22, 20:03:47
Ansonsten sind natürlich IDEs wie MonoDevelop, Eclipse oder Netbeans ziemliche "Desktop" Schwergewichte (nur halt auf dem Entwickler-Desktop, nicht beim Endbenutzer, ganz klar) - die Mächtigkeit von .net und Java, komplexe GUI-Applikationen zu befeuern, steht also außer Frage.
Außerdem die von mir bereits genannte Lotus-Suite. Fällt ohne Zweifel unter "Desktop-Schwergewicht".

Exxtreme
2010-10-22, 20:29:23
Nun, große Software zu migrieren ist ja auch meistens ökonomisch nicht drin, aber bei neuem Zeug (welches dann natürlich seine Zeit braucht, um im Markt aufzuschlagen) wird man vielleicht .net oder Java in Betracht ziehen. Paint.net wäre ein halbwegs bekanntes Beispiel http://www.getpaint.net/
Java eher nicht, .NET evtl schon da ich davon ausgehe, dass MS irgendwannmal den Entwicklern keine Wahl mehr lässt. Zumindest wenn sie Visual Studio nutzen.
Ansonsten sind natürlich IDEs wie MonoDevelop, Eclipse oder Netbeans ziemliche "Desktop" Schwergewichte (nur halt auf dem Entwickler-Desktop, nicht beim Endbenutzer, ganz klar) - die Mächtigkeit von .net und Java, komplexe GUI-Applikationen zu befeuern, steht also außer Frage.
Das bezweifelt auch niemand. ;)
Außerdem die von mir bereits genannte Lotus-Suite. Fällt ohne Zweifel unter "Desktop-Schwergewicht".
Lotus schafft es sehr oft auf die Spitze bei www.dreckstool.de ;)

Ganon
2010-10-22, 21:09:57
Also ich begrüße, dass Apple die Java-Entwicklung an Oracle abgibt. Apple war mit Java6 im Developer Bereich zwar immer Top-Aktuell, aber leider gab es Java-Major-Updates nur mit dem Kauf eines neuen OS X, was einfach nur scheiße ist, für Java-Entwickler und Nutzer solcher Anwendungen.

Somit wäre es möglich, dass es Java 7 und später Java 8 für weit mehr OS X Versionen gibt.

Also im Prinzip kann es mit dem Schritt nur besser werden. Das da einige rauslesen, dass es gar kein Java mehr für OS X geben wird... nunja ;) Man könnte auch mal die Dokus im Developer-Bereich lesen, da steht das schon seit einigen Monaten drinnen ;)

ESAD
2010-10-23, 01:39:50
Im Desktop-Bereich reisst derzeit keine Bytecode-VM was. Was man öfter sieht sind irgendwelche kleinen Tools ala Tauschbörsen oder Musikplayer. Gibt noch div. fimeninterne Anwendungen aber da kommt sehr oft Java zum Einsatz.


wir haben hier eine mehrere millionene zeilen schwere applikation in .net (und einige die nicht ganz so groß sind)... unter anderem im sicherheitskritischen, redundanten, ausfallssicheren und stark verteilen bereich im einsatz beim kunden. arbeiten zusammen im datenaustausch mit c++ und java anwendungen die auch schonmal auf linux laufen.

Tiamat
2010-10-23, 16:12:20
Das Apple die Entwicklung an Oracle abgibt, find ich auch gut.
Es gab da schon ganz dumme Situationen in der Vergangenheit, die einfach unnötig waren, hätte Sun das SDK angeboten.

Was Java im App-Store zur Seuche macht sind zweierlei Dinge.
a) Für iOS verbrauchen die natürlichen mehr Ram als native Programme und lasten das Gerät dementsprechend aus.
b) Das man es einmal schreibt und überall benutzen kann. Das ist genau das, was Apple nicht will.
Die wollen plattformexclusive Titel haben, die sich nur mit nem Mordsaufwand auf andere Plattformen portieren lassen ;)

SavageX
2010-10-23, 16:40:59
Das Apple die Entwicklung an Oracle abgibt, find ich auch gut.


Gibt es denn dazu eine halbwegs offizielle Bestätigung?

Tiamat
2010-10-23, 20:48:56
Nein die gibt es meines Wissens nicht.
Aber ein Schritt führt zum nächsten. Oracle möchte Java für sämtliche Desktop-Plattformen anbieten, also müssen die was tun, wenn Apple das auslaufen lässt.
Verbieten können sie´s außer im App-Store nicht, also muss Oracle das übernehmen. Apple mag Delegates :D

Ganon
2010-11-13, 15:10:07
Jetzt ist es übrigens auch offiziell.

Das Java für OS X wird unter dem OpenJDK-Projekt weitergeführt. Apple steuert, soweit sie können, den eigenen Quellcode bei und machen ihn OpenSource.

Im OpenJDK wird erst mal mit dem jetzt gearbeitet, was schon da ist (Soylatte) und nach und nach der entsprechende Code eingebaut.

http://lists.apple.com/archives/Java-dev/2010/Nov/msg00104.html

D.h. endlich wird es Java wohl dann für alle OS X-Versionen geben und nicht nur für eine. ;)

davidzo
2010-11-16, 21:15:24
Java und Flash sind Seuchen des 21. Jahrhunderts.
rofl, alleine schon java und flash in einem satz zu nennen bedeutet gehirn so auf erbsengröße...


Standard-Support-Cycle heißt bei Apple: Eine OS-Version rückwirkend. i.e. bis 10.7 kommt werden 10.6 und 10.5 unterstützt.

Genau, mit dem Support ist das bei Apple ja schon immer so eine sache gewesen. Habe vor drei jahren ein damals ja noch passabel aktuelles G4 powerbook abgeben müssen weil es dafür keine java updates gab ohne die processing und arduino sowie der 3dbrowser vis/space nicht liefen.

Apple ist da ziemlich brutal. Nach zwei jahren gibts einfach keinen support mehr, wer weiter machen möchte muss neu kaufen.



Das Java für OS X wird unter dem OpenJDK-Projekt weitergeführt. Apple steuert, soweit sie können, den eigenen Quellcode bei und machen ihn OpenSource.

War klar, apple ist derzeit einer der größten verfechter von bytecode VMs, JIT-kompiler etc. - all das gibt ihnen den Vorsprung den sie derzeit haben bei iOS und ausgeeiftheit trotz kurzen produktzyklen. C wäre da viel zu statisch und unbequem. Der Trend ist eindeutig, google ist ja auf denselben zug aufgesprungen, offensichtlich braucht man das um Konkurrenzfähig zu bleiben.
Apple wird bestimmt nicht darauf kommen ihr eigenes Engagement in diesem bereich herunter zu fahren, im Gegenteil, mit dem Schritt auf das OpenJDK Projekt zu sehe ich eher einen Ausbau der Plattform kommen.

Coda
2010-11-16, 22:05:08
War klar, apple ist derzeit einer der größten verfechter von bytecode VMs, JIT-kompiler etc. - all das gibt ihnen den Vorsprung den sie derzeit haben bei iOS und ausgeeiftheit trotz kurzen produktzyklen. C wäre da viel zu statisch und unbequem. Der Trend ist eindeutig, google ist ja auf denselben zug aufgesprungen, offensichtlich braucht man das um Konkurrenzfähig zu bleiben.
Was brabbelst du da eigentlich für einen völlig zusammenhangslosen Unsinn? Was haben VMs und JITCs mit der Sprache zu tun und wo verwendet "der Rest" C? Auf iOS läuft übrigens überhaupt keine VM. Das ist alles native Code - was sogar verpflichtend ist laut Appstore-Regeln.

Android ist Java (mit NDK kannst du auch C/C++ oder Obj-C verwenden) und Windows Phone 7 ist .NET.

Ganon
2010-11-16, 22:05:12
@davidzo

Also ich glaube kaum, dass Apple jemals Java nutzen wird. Und auf dem iPhone schon gar nicht. Sie werden bei Objective-C bleiben. Sie haben es ja gerade ordentlich modernisiert. Bytecode kriegen sie mit LLVM.

iFanatiker
2010-11-16, 22:12:00
War klar, apple ist derzeit einer der größten verfechter von bytecode VMs, JIT-kompiler etc. - all das gibt ihnen den Vorsprung den sie derzeit haben bei iOS und ausgeeiftheit trotz kurzen produktzyklen. C wäre da viel zu statisch und unbequem.

Ist dies jetzt Ironie oder?

Die einzige von Apple erlaubte "Low-Level" Entwicklungssprache unter iOS ist Objective-C. Objective-C ist immer noch nur eine Variante von C (bzw. lässt sich Objective-C auf C runterbrehcen) und wird natürlich direkt in Maschinencode übersetzt bei Apple durch LLVM (auch wenn hier andere Szenarien möglich gewesen wären und auch C kann man eben in VM ausführen, in Bytecode übersetzen usw). Genau dies ist ja der Vorteil von Apple mit der einheitlichen Hardware-Plattform - sie brauchen keine Konstruktion wie bei Android mit der inhomogenen Hardware-Plattform.

Apple war eben ein Verfechter von Java eine zeitllang. Da muß man aber die ganze Geschichte mit next, Sun, Apple und Java kennen.

Coda
2010-11-16, 22:15:37
Die einzige von Apple erlaubte "Low-Level" Entwicklungssprache unter iOS ist Objective-C.
Nö. C/C++ ist auch erlaubt. Und soweit ich weiß auch sowieso alles was am Ende native code produziert.

Ganon
2010-11-16, 22:17:10
Apple erlaubt, soweit ich das jetzt mitbekommen habe, mittlerweile auch mehr Sprachen als nur C/C++ und Objective-C. Es darf nur nichts zur Laufzeit compiliert werden. Somit dürfen z.B. auch auf Mono basierte Sachen genutzt werden, da man Mono nativ kompilieren kann.

Exxtreme
2010-11-16, 22:18:22
Ist dies jetzt Ironie oder?

Die einzige von Apple erlaubte "Low-Level" Entwicklungssprache unter iOS ist Objective-C.
Sie erlauben eigentlich alles was nativen Code produziert. Normales C/C++ ist auch erlaubt. Es gab mal eine Zeit lang Hickhack aber ich glaube, es ging nur darum Flash rauszuschmeissen.

iFanatiker
2010-11-16, 22:25:05
Mea culpa. Habe ich nicht mitbekommen, daß sie diesen Pasus in ihren AGB geändert haben (früher stand es aber wortwörtlich drin, bin mir recht sicher).

Ganon
2010-11-16, 22:27:07
Hauptsächlich geht's wohl darum, keine Anwendungen am AppStore "vorbeischmuggeln" zu können. Mit Flash wäre das ja möglich, Java ebenso.

@iFanatiker

Es gab mal einen Passus, der nur C/C++/ObjC erlaubt. "Nur" ObjC war nie drin.

Exxtreme
2010-11-16, 22:27:28
Mea culpa. Habe ich nicht mitbekommen, daß sie diesen Pasus in ihren AGB geändert haben (früher stand es aber wortwörtlich drin, bin mir recht sicher).
Früher stand drinne, dass ObjC, C/C++ und HTML5 erlaubt seien. Das gab aber so einen Terz, dass sie das wieder zurückgenommen haben.

SavageX
2010-11-17, 08:04:39
Somit dürfen z.B. auch auf Mono basierte Sachen genutzt werden, da man Mono nativ kompilieren kann.

<ekligerKlugscheißer>Das kann man mit Java natürlich genauso machen.</ekligerKlugscheißer>

Alles was man fürs iPhone dann bräuchte wären Java bindings für deren Frameworks ;-)

Ganon
2010-11-17, 10:01:17
<ekligerKlugscheißer>Das kann man mit Java natürlich genauso machen.</ekligerKlugscheißer>
Alles was man fürs iPhone dann bräuchte wären Java bindings für deren Frameworks ;-)

Könnte man, ja. Aber mir ist aktuell kein Java-Framework für das iPhone bekannt, während es für Mono MonoTouch gibt. Und da man Mono "offiziell" kompilieren kann und Java nicht, stellen sich da weitere Hürden auf.

Apple hat zwar in Java unter OS X zwar Multitouch schon eingebaut, aber das kann man ja so dafür nicht nutzen.

Exxtreme
2011-01-12, 13:49:27
http://www.heise.de/developer/meldung/OpenJDK-Auftakt-fuer-Mac-OS-X-ist-gemacht-1167807.html

Erster OpenJDK-Code für MacOS X ist fertig.