Diese Diskussion wurde archiviert.
Es können keine neuen Kommentare abgegeben werden.
|
|
|
|
|
Von Anonymer Feigling am Wednesday 08. November 2006, 13:13 MEW (#1)
|
|
|
|
|
Da hat Sun wohl plötzlich kalte Füsse gekriegt. dot.Net ist wohl doch ein ernszunehmender Konkurrent geworden auch wenn es nur Mono und die Referenzimplementation von Microsoft gibt.
Ich denke der Schritt wird Java nochmal einen kleinen Schub geben, aber ohne Java grundsätzlich auf den neuesten Stand der Technik zu bringen (was bedeuten würde die VM wirklich zu verändern um Generics nicht nur halbbacken zu nutzen) müssten sie schon etwas mehr bringen.
GPL ist nett, und viele Projekte werden sich freuen, eine VM in Zukunft gleich mitliefern zu können. Und einige wenige werden sich freuen weil sie selbst an der VM basteln können...
Aber im Prinzip wird sich nicht viel ändern (leider).
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Wednesday 08. November 2006, 13:20 MEW (#2)
|
|
|
|
|
dann könnte ich guten Gewissens auch mal wieder etwas Java coden.
Ich hege auch die Hoffnung, dass da bald native Javacompiler folgen (Turbo-java oder so) und mit diesem unsäglichen Fehlkonzept mit der VM endlich abgeschlossen werden kann.
Es kann nur besser werden.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Du meinst Java zu Assembler Compiler? Schau Dir mal den gcj an. Der kompiliert Java in nativen Code. Jedoch mit einigen Einschränkungen. Swing und andere Grafik-Komponenten werden leider nicht unterstützt. Wenigstens das letzte mal, als ich den gcj ausprobiert habe...
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Wednesday 08. November 2006, 13:55 MEW (#6)
|
|
|
|
|
Ja den Compiler kenne ich. Ich hoffe eben, dass gerade diese Einschränkungen dann endlich wegfallen.
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Wednesday 08. November 2006, 13:45 MEW (#4)
|
|
|
|
|
> dann könnte ich guten Gewissens auch mal wieder etwas Java coden
guten gewissens.. bist bisher beichten gegangen wenn du was in java gecodet hast?
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Wednesday 08. November 2006, 13:54 MEW (#5)
|
|
|
|
|
Nein, ich habe darauf verzichtet, Java einzusetzen. Einerseits weils mir zu proprietär war, andererseits weil ich weder Zeit noch Lust habe um überall eine Sun VM zu installieren nur um ein Programm auszuführen.
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Wednesday 08. November 2006, 14:34 MEW (#7)
|
|
|
|
|
Dann hast du hoffentlich auch auf C verzichtet und diese ganzen unsäglichen Bibliotheken weggelassen, die man dummerweise braucht, um nacktes C überhaupt nutzen zu können...
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Wednesday 08. November 2006, 18:22 MEW (#8)
|
|
|
|
|
Wenn man keine Ahnung hat, einfach mal die Fresse halten.
|
|
|
|
|
|
|
|
|
|
|
|
|
Naja, mit den C/C++ Bibliotheken verhält es sich ja ähnlich wie mit Suns VM, ebenso Perl/Python/Ruby/Tcl.
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Thursday 09. November 2006, 00:37 MEW (#10)
|
|
|
|
|
1. Nicht jedes Programm benötig Bibliotheken.
2. Die wichtigsten Bibliotheken kann mal als gegeben betrachten.
3. Statisch linken ist möglich, wenn man auf Binärsoße steht.
4. Man kann die notwendigen Bibliotheken beilegen.
5. Gute Software wird in die gängigen Packagement-System aufgenommen (pkgsrc, debian, gentoo, younameit), so dass sich weder der Entwickler noch der Anwender großartig einen Kopf um Abhängigkeiten machen muss.
6. Wenn ich meiner Software die JVM beilege, habe ich ganz schnell Sun am Hals. Zudem ergibt sich dadurch ein DLL-Hell-ähnliches Problem: Mein Programm braucht eventuell eine neuere JVM als der User installiert hat, die neuere funktioniert aber eventuell nicht mit anderen Java-Anwendungen. Selbst wenn sich das sauber auflösen lassen mag (so sauber wie mit versionierten shared objects wohl kaum), dann ergibt sich ein ziemlicher Overhead durch die vielen JVMs.
|
|
|
|
|
|
|
|
|
|
|
|
|
Zu 1: Ohne Bibliotheken kann ein C-Programm nicht mal mit dem Benutzer oder anderen Programmen kommunizieren, und auch nicht mit Dateien arbeiten.
Zu 3: Statisches Linken ist eine Lösung, die schlimmer ist, als das Problem. Es macht nur in ganz wenigen Ausnahmefällen Sinn.
Zu 2, 4 und 5: Ja, aber das gilt auch für Java.
Zu 6: Eine JRE hat praktisch jeder, und mehrere Versionen der JRE lassen sich problemlos nebeneinander installieren. Nötig ist es meist nicht, denn die Inkompatibilitäten sind nicht (mehr) so schlimm, wie oft behauptet. Die Umstellung von libc5 auf glibc2 war da weit problematischer.
PS: Nein, ich mag Java nicht. Aber das liegt an ganz anderen Gründen.
--
GPL ist der Versuch, den Ring gegen Sauron einzusetzen.
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Thursday 09. November 2006, 18:47 MEW (#12)
|
|
|
|
|
Sorry. aber Punkt 1 ist absoluter Schwachsinn. Falls Du die Standard-C-Bibliothek meinst, auch libc genannt: Die darf man nun wirklich als gegeben voraussetzen, da sie obligatorischer Bestandteil eines "hosted environment" ist, vor allem wenn wir hier mit Java vergleichen. Dass man bei einem Microcontroller keine libc oder nicht einmal ein OS ist wohl klar, aber da läuft dann auch seltenst Java und wenn überhaupt nur eine verkrüppelte Variante. So viel zum Thema Portabilität von Java.
Statisches Linken ist völlig normal, vor allem wenn es sich um eigene Bibliotheken handelt. Sicherlich ist statisches Linken bei externen Bibliotheken, die wahrscheinlich sowieso installiert sind, nicht schön, aber wenn man Binärsoße will und Installation per Source keine Option ist, was sowohl bei Windows als auch den meisten verkrüppelten Linux-Distributionen der Fall ist, dann ist das die einfachste Option.
Eine JRE hat jeder? Vielleicht im "Profi" bzw. Serverbereich, aber der durschnittliche Endnutzer sicher nicht oder wenn wie gesagt eine veraltete Version.
|
|
|
|
|
|
|
|
|
|
|
|
|
Eine JRE hat jeder? Vielleicht im "Profi" bzw. Serverbereich, aber der durschnittliche Endnutzer sicher nicht oder wenn wie gesagt eine veraltete Version.
Hallo? So gut wie jeder Webbrowser besorgt sich doch mindestens ein Java-Plugin. Wenn wir von Windows reden (immer noch ein recht verbreitetes OS...) ist so gut wie immer eine JRE irgendwo drin und neuerdings aktualisiert sich die sogar selbständig (ist mir diese Woche passiert; hat aber brav vorher gefragt, ob sie darf)!
Grüsse vom Knochen --
Ein christlich Regiment wird durch nichts mehr verhunzt als durch zu viel sogenannte Justiz. J. Gotthelf
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Friday 10. November 2006, 02:00 MEW (#14)
|
|
|
|
|
Die Update-Funktion ist jawohl bei C automatisch eingebaut. Nennt sich strcpy() und ist im MSIE implementiert. Vor allem braucht man den Nutzer dabei nicht mit dummen Fragen belästigen.
|
|
|
|
|
|
|
|
|
|
|
|
|
Ja, ich meine unter anderem die libc. Ja, sie ist so ziemlich auf allen Systemen vorhanden. Aber nicht unbedingt in der gewünschten Version. Ich hatte bisher weit mehr Probleme mit inkompatiblen libcs, als mit inkompatiblen JREs.
Was statisches Linken angeht, verweise ich auf das bekannte Drepper Manifest.
Und ja, eine JRE hat eigentlich jeder. Bei Windows und MacOSX kommt sowieso eine mit dem Betriebsystem, aber auch bei BSD und Linux wird in der Regel eine installiert. Spätestens mit der Installation von Mozilla, Seamonkey, Firefox, Galeon oder Opera.
--
GPL ist der Versuch, den Ring gegen Sauron einzusetzen.
|
|
|
|
|
|
|
|
|
|
|
|
|
Aeh... strcpy() macht ein Online-Update? Und wozu braucht C einen MSIE? Oder wovon redest Du jetzt? Vergleichst Du Äpfel mit Pampelmusen?
Was das "belästigen" mit Fragen betrifft: Ich will wissen, wenn mir etwas auf die Kiste heruntergeladen und installiert wird - und zwar immer und bei allem.
Grüsse vom Knochen --
Ein christlich Regiment wird durch nichts mehr verhunzt als durch zu viel sogenannte Justiz. J. Gotthelf
|
|
|
|
|
|
|
|
|
Von Anonymer Feigling am Saturday 11. November 2006, 19:04 MEW (#17)
|
|
|
|
|
Die "inkompatible libc" ist ein reines Linux- bzw. glibc-Problem. Erst einmal bekommen die Distros es nicht hin, ihre glibc in verschiedenen Versionen gleichzeitig zu installieren. Warum ist mir ein Rätsel. Ich habe ein ganzes Dutzend, wobei ich letztens die meisten weggeschmissen habe, da nachweisbar nichts mehr gegen die alten Versionen gelinkt war. Wenn ich schon libc5.so und libc6.so sehe, dann weiß ich, dass die Leute nicht wissen, wie man shared objects versioniert. Ich hatte noch nie Probleme mit einer libc, aber ich installiere auch nichts binär. Bei der JRE weißt Du auch gar nicht, ob sie inkompatibel ist, bevor Deine Programme hängen oder abschmieren. Es mag ja auch sein, dass die Java-Software, die Du nutzt, eben sehr gut getestet ist.
Zweitens gibt es soetwas wie eine inkompatible libc nicht, da vor dem kompilieren alle Features geprüft wird und dann kompilierte Code dann exakt auf das System zugeschnitten ist. Wer das prinzipiell nicht hinbekommt, der sollte besser keine Software anbieten.
Das BSDs in der Regel eine JVM haben, hast Du vielleicht geträumt. Welches BSD soll das sein? Mit Ach und Krach bekommt die Linux-JVM zum Laufen, das wars aber auch schon. Ja ich glaube FreeBSD hat oder wollte sich eine JVM von Sun lizensieren lassen. Soviel zum Thema frei und portabel... FreeBSD ist aber nicht "BSD". NetBSD und OpenBSD, sowie kleinere Abkömmlinge gibt es auch noch.
Ich hatte jahrelang Mozilla installiert, bis es mir zu verbuggt wurde. Da war niemals eine JVM dabei und ich habe auch nie eine benötigt. Da die Mozilla-Entwickler dämlich genug sind C++ als Plugin-Interface zu nutzen, dessen ABI sich alle naselang ändert und von Compiler zu Compiler inkompatibel ist, im Gegensatz zu C, lässt sich das Java-Plugin auch nur mit Mühe auf anderen Systemen als Windows und vielleicht Mac OS sowie Linux/x86 nutzen.
|
|
|
|
|
|
|
|
|
|
|
|
|
Die "inkompatible libc" ist ein reines Linux- bzw. glibc-Problem.
Das mag sein, aber das Problem existiert, und ist genau so ein Problem, wie dasjenige der inkompatiblen JREs. Und ich hatte schon zwei mal Ärger mit den libcs, aber nur einmal mit den JREs.
Zweitens gibt es soetwas wie eine inkompatible libc nicht, da vor dem kompilieren alle Features geprüft wird und dann kompilierte Code dann exakt auf das System zugeschnitten ist.
Was dir herzlich wenig nützt, wenn du auf binäre Packete angewiesen bist.
Mit Ach und Krach bekommt die Linux-JVM zum Laufen, das wars aber auch schon.
Nun, bei mir ist das ein simples Kommando an den Package Manager. Muss bei dir wohl eine Distrispezifisches Problem sein.
Ja ich glaube FreeBSD hat oder wollte sich eine JVM von Sun lizensieren lassen. Soviel zum Thema frei und portabel...
FreeBSD und NetBSD. OpenBSD nicht, aber auch für die gibts nen Port. Die BSD-Leuts haben halt eine leicht andere Definition von "frei".
Ich hatte jahrelang Mozilla installiert, bis es mir zu verbuggt wurde. Da war niemals eine JVM dabei und ich habe auch nie eine benötigt.
Nun, bei mir ist das Plugin automatisch dabei. Muss wohl wirklich ein Distrispezifisches Problem sein.
--
GPL ist der Versuch, den Ring gegen Sauron einzusetzen.
|
|
|
|
|
|