Kann mich nicht entscheiden: Java oder C++ ?
-
nein, er will kein flameware, aber ihr macht trotzdem einen
schön, dass die dependency hell auch windows erreicht. eigtl. schade das abwärtkompatibilität nicht gewährleistet wird. egal jetzt ob .net oder java.
das gute an diesen frameworks ist ja eigentlich, dass man es nur einmal installieren braucht, und verschiedene anwendungen die gleiche runtime nutzen. theoretisch..
ich hab auf meiner kiste glaub 4 verschiede jre's installiert (sun jdk 5 und 6, open-jre und noch irgendeine 1.4 fürn uralt programm). ich hab ja platz aber toll ist das nicht.
in die gleichen probleme rennst du mit C++ aber auch, wenn du .dlls ausserhalb des standards benutzt (seis mfc, direct x oder was auch immer), die von mehreren programmen genutzt werden. iwie bleibt sich das gleich in allen sprachen.schlimmer wirds noch dadurch, dass einige programme C# wollen, andere Java und wieder eins libxyz.dll, so hat man schlussendlich x bibliotheken und y virtuelle maschinen, die eigentlich alle das selbe machen: fenster, buttons, filehandles, socks und dergleichen zur verfügung stellen.
schön wäre doch, eine einheitliche schnittstelle zwischen verschiedenen sprachen und verschiedenen plattformen. quasi eine superruntime
-
audacia schrieb:
Das letzte JRE, das ich installiert hatte, war beispielsweise inkompatibel mit einer Anwendung, die ich benutzte, so daß ich es wieder deinstalliert habe.
Vereinzelt kommt sowas vor und ist natürlich unschön. Aber es ist grundsätzlich problemlos möglich, mehrere JRE Versionen auf einem Rechner installiert zu haben. Natürlich muss man dann ggf. etwas anpassen, um Anwendungen gezielt mit einer speziellen JRE zu starten und nicht immer die aktuell im Classpath registrierte Version zu nehmen.
-
byto schrieb:
Vereinzelt kommt sowas vor und ist natürlich unschön. Aber es ist grundsätzlich problemlos möglich, mehrere JRE Versionen auf einem Rechner installiert zu haben. Natürlich muss man dann ggf. etwas anpassen, um Anwendungen gezielt mit einer speziellen JRE zu starten und nicht immer die aktuell im Classpath registrierte Version zu nehmen.
Und genau das macht der Windows-Normalanwender doch gerne
Dabei finde ich das beim JRE noch halbwegs umgänglich. Das integriert sich auch nicht so tief ins System, daß ich zu größeren Kalibern greifen müßte, um es da wieder herauszubekommen. Bei meinem System mußte ich sogar .NET 1.1 deinstallieren (was bei Server 2003 nicht ganz leicht ist), da es bei der forcierten Entfernung von .NET >=2.0 durch die entsprechenden Tools dummerweise bleibende Schäden erlitt.
idea schrieb:
schön wäre doch, eine einheitliche schnittstelle zwischen verschiedenen sprachen und verschiedenen plattformen. quasi eine superruntime
Den Anspruch einer "Super-Runtime" erheben sowohl Java als auch .NET. Wie du siehst, hilft es nichts: Konkurrenz gibt es trotzdem
-
Kennt ihr eigentlich gute Videotutorials, die über die Java Grundlagen hinaus gehen?
Ich habe jetzt "Jetzt lerne ich Java 6" von Video2Brain durch und habe mir die Video2Brain DVD "Java 6" geholt, nur leider ist der Sprecher teilweise ziemlich schnell und kopiert ganze Codeblöcke einfach nur ins Programm oder das meiste ist schon fertig. (Ich kann mit Videotutorials einfach besser lernen als mit Büchern)
-
Hmm, ich könnte mir das gar nicht vorstellen, anhand eines Videotutorials programmieren zu lernen. Außerdem müsste sowas doch einen enormen Umfang haben, um wirklich sinnvoll zu sein. Nee, dann lieber ein Buch...
-
Und welches Buch hast du benutzt? (Was hälst du von Java ist auch eine Insel?)
-
Ich programmiere kein Java. Ich hab zwar damals mal angefangen, ein Buch zu lesen (ist aber schon ewig her), der Name will mir aber grad nicht einfallen.
-
das sollte für den anfang reichen: http://java.sun.com/docs/books/tutorial/
-
Ich habe mit dem lernen und verstehen schon genug zu tun, da will ich das nicht auch noch übersetzen müssen
-
~fricky schrieb:
das sollte für den anfang reichen: http://java.sun.com/docs/books/tutorial/
gepaart mit: http://openbook.galileocomputing.de/javainsel7/
-
50% des Textes ist doch auch in den deutschen Ausgaben auf Englisch, wo liegt da das Problem? Und eine Sprache + Bibliothek zu lernen ist ja jetzt keine höhere Wissenschaft. Sieh es als guter Einstieg um dich an englische Literatur zu gewöhnen, lieber bei einem Einstiegsbuch als später dann bei den harten Brocken.
-
audacia schrieb:
Das integriert sich auch nicht so tief ins System, daß ich zu größeren Kalibern greifen müßte, um es da wieder herauszubekommen.
Das sollte aber eher die Ausnahme, und nicht die Regel sein. Davon abgesehen das sowohl die meisten Java als auch .Net Programme die mit einer Version nicht laufen häufig recht unsauber programmiert sind (Es geht jetzt nicht um den Unterschied wie beispielsweite .Net 1.1 und 2.0 [Die ja paralell laufen] sondern eher um die Updatestände einer Version).
Ich hatte persönlich eher schlechte Erfahrungen mit Java bislang machen müssen, Macken hat jedes Framework, jeder Installer... In der Regel sollte sowohl Java als auch .Net keine Probleme bereiten.
idea schrieb:
schön wäre doch, eine einheitliche schnittstelle zwischen verschiedenen sprachen und verschiedenen plattformen. quasi eine superruntime
Den Anspruch einer "Super-Runtime" erheben sowohl Java als auch .NET. Wie du siehst, hilft es nichts: Konkurrenz gibt es trotzdem ;)[/quote]
Nein, eher nicht. .Net geht eher ersteren (verschiedene Sprachen), Java eher zweiten Weg (verschiedene Plattformen). Vielleicht treffen sich ja irgendwann mal beide (was zu bezweifeln ist)...
Davon ganz abgesehen wird selbst ein solcher Zusammenschluß keine Super-Runtime sein, weil man doch von Zeit zu Zeit alten Balast abwerfen muss (Sprich: Auch dann wird es mehrere Versionsstände geben).
cu André
-
asc schrieb:
Nein, eher nicht. .Net geht eher ersteren (verschiedene Sprachen), Java eher zweiten Weg (verschiedene Plattformen). Vielleicht treffen sich ja irgendwann mal beide (was zu bezweifeln ist)...
Technisch ist es kein Problem .NET auf andere Plattformen laufen zu lassen als Windows. Es ist aber politisch nicht gewollt. Micrsoft hatte selbst ne Referenzimplementation ältere .NET-Versionen für FreeBsd/Macos.
http://www.microsoft.com/downloads/details.aspx?FamilyID=3a1c93fa-7462-47d0-8e56-8dd34c6292f0&displaylang=en
-
Zeus schrieb:
Technisch ist es kein Problem .NET auf andere Plattformen laufen zu lassen als Windows. Es ist aber politisch nicht gewollt.
Ach und deshalb, weil es nicht gewollt ist, haben Microsoft und Suse eine Kooperation (was u.a. mit Mono und Moonlight zusammenhängt).
Aber ohne Frage: Erstes Ziel von MS bleibt ihre Windowsplattform.
-
... alle 3 Tage wieder...
-
asc schrieb:
Zeus schrieb:
Technisch ist es kein Problem .NET auf andere Plattformen laufen zu lassen als Windows. Es ist aber politisch nicht gewollt.
Ach und deshalb, weil es nicht gewollt ist, haben Microsoft und Suse eine Kooperation (was u.a. mit Mono und Moonlight zusammenhängt).
Aber ohne Frage: Erstes Ziel von MS bleibt ihre Windowsplattform.
Mono ist sicherlich eine gute Ergänzung für die .NET Welt, aber wirklich plattformunabhängiger macht das .NET in meinen Augen auch nicht. Dazu sind die Differenzen zwischen der Referenzimplementierung von Mono immernoch zu groß.
Mono hängt von der Version immernoch hinterher. Mono implementiert gewisse Teile von .NET gar nicht (z.B. WPF). Andere Teile von Mono gibts hingegen in der Referenzimplementierung gar nicht (GTK#).
Damit ist das eigentliche Prinzip (eine Spezifikation, viele plattformabhängige Implementierungen) schon ad absurdum geführt.Gibt es eigentlich schon kommerzielle Produkte oder Individualsoftware auf Basis von Mono?
-
Bei www.mono-project.com unter Success Stories findet sich einige Firmen/Produkte.
-
byto schrieb:
Mono implementiert gewisse Teile von .NET gar nicht (z.B. WPF).
Gerade WPF stelle ich mir grundsätzlich problematisch vor (Könnte vielleicht mittels OpenGL abgebildet werden), da es auch unter Windows schon nichts mehr mit GDI & Co zu tun hat (DirectX).
Aber dazu steht auch etwas auf der Mono-Seite: http://www.mono-project.com/WPF
byto schrieb:
Damit ist das eigentliche Prinzip (eine Spezifikation, viele plattformabhängige Implementierungen) schon ad absurdum geführt.
Plattformunabhängigkeit kann man nur erreichen wenn entweder:
a) einigermaßen gleichwertige Bibliotheken vorliegen (Für die Grafikdarstellung mag DirectX und OpenGL noch etwa vom Funktionsumfang ähnlich sein), und zudem möglichst auch keine völlige Wahlfreiheit für Bibliotheken existieren (Ich erinnere mich u.a. an teilweise unterschiedlich arbeitende Soundbibliotheken unter Linux).
b) Die Bibliothek von Haus aus nicht darauf ausgelegt ist, alles in einem OS möglich ist, zu unterstützen (Java geht eher diesen Weg, .Net - da für Windows konzipiert, versucht natürlich auch alles vom System ausnutzen zu können).
cu André