Als Entwickler (u. a. auch Java) würde ich heute sehr vorsichtig sein was das Lernen von Java angeht. Zumindest wenn die eigenen Zeitressourcen knapp sind.
Was Oracle aus OpenSolaris,MySQL bisher gemacht und womöglich auch mit den anderen Produkten anstellen wird, kann auch mit JDK passieren.
SUN würde nie gegen Google wegen Java Patenten vorgehen usw.. bei MS war es damals notwendig. Hier jedoch nicht.
Bei vernünftigen Sprachen gibt es solche Unsicherheiten nicht. Siehe C/C++
Wenn C++ Müll ist benutzt dudoch wohl kein einziges C++ Programm, denke ich. So konsequent musst du schon sein.
Kein OpenOffice, kein Firefox, keine MSFT SW, kein KDE usw...usw...
Da du C nicht business bullshit bingo compatible findest, benutzt du auch kein einziges gängiges Betriebssystem nehm ich mal an. Auch keine Sprachen wie Python,PHP oder Perl, deren Interpreter in C geschrieben sind.
Tja... bleibt nichts mehr übrig den Computer sinnvoll zu benutzen. Am besten du schaltest ihn jetzt aus. Dann kannst du auch keinen Schwachfug mehr posten.
Von Unerkannt am Fr, 10. September 2010 um 10:13 #
Jetzt werde mal nicht kindisch. Die verwendete Programmiersprache ist für einen Anwender der Software gleichgültig. Für den Entwickler aber nicht.
C++ ist auch für mich keine schöne Sprache. C hingegen ist eine schönen Sprache, aber für typische Anwendungen aus dem Geschäftsfeld ist sie untauglich im Hinblick auf andere Sprachen.
C ist in dem Sinne auch keine schöne Sprache; im Vgl. zu C++ ist sie jedoch leichter beherrschbar. Aber auch in C will man eigentlich nichts machen; außer eben es geht um Hardware nahe Programmierung o.ä.
Die Hochsprachen von einst sind es eben heutzutage vom Abstraktionsniveau nicht mehr; leider sehen das Freaks wie der Ada-Frank nicht ein. Nuja, Fanatiker gibt es wohl immer...
Zum Thema Python: Der "Referenz"-Interpreter ist in C, ja. Aber auch da gibt es mit PyPy oder Jython Alternativen.
Java ist irgend wo ein Mittelding zwischen moderner Hochsprache und C mit Klassen. Die Fortentwicklung ist zwar eher langsam, jedoch gibt es eben zu jedem Thema Libs und vor allem auch gute Werkzeuge. Boilerplate ist danke einer guten IDE kein so großes Problem wie zu Beginn der Java-Ära und Scaffolding aller Art wird auch von Werkzeugen übernommen. Insofern bietet Java da einiges mehr als reines C++.
Allerdings hat C++ das mächtige Framework Qt auf seiner Seite. Das relativiert viele Nachteile von C++ gegenüber Java. Zusammen mit Boost ist es vom Sprachniveau schon sehr ähnlich.
Schade dass C# von M$ dominiert wird; ansonsten wäre das eine durchaus tolle statische typisierte Sprache.
> Die Hochsprachen von einst sind es eben heutzutage vom Abstraktionsniveau > nicht mehr; [...] Ada
Du kannst in Ada wunderbar abstrahieren. Allein das Ökosystem an Bibliotheken und Frameworks ist mager im Vergleich zu Java. Das hat allerdings nichts mit der Sprache selbst zu tun.
Der Unterschied von Microsoft's Bastard-Java und Google's Bastard-Java ist mir nicht klar.
Was Java angeht, so würde das locker ohne Oracle überleben. IBM und andere stecken da viel zu tief drin. Was man als Entwickler lernt, sollte davon abhängen, was man machen will.
Was so typischerweise in Java gemacht wird, war bisher für mich uninteressant.
ich sehe diesen Unterschied: Mircosoft hat ein inkompatibles Java geschaffen und das auf Desktop-PC mit ausgeliefert. Dadurch liefen nicht alle Programme einwandfrei.
Ich meine das Dalvik Class Dateien nimmt und diese noch mal für die Ausführung auf Mobiltelefonen optimiert.
Dalvik ist eine vollkommen neue VM, die nichts mit Java zu tun hat, bis dass man den Code in der Java Syntax schreibt. Auch implementiert Google ein paar Java JDK Klassen, wie java.lang.String, java.lang.Object, usw.
Du kannst aber keine .class Dateien nehmen (aus dem javac Compiler) und auf der Dalvik VM laufen lassen. Meistens kannst du auch nicht deinen Code 1:1 übernehmen und es für die Dalvik VM übersetzen lassen, weil etliches aus der Java JDK fehlt.
Oracle verklagt Google wegen Patente, die VM spezifisch sind, speziell auf Java ME anwendbar. Wenn Google Python oder Ruby verwendet hätte (mit einer VM), wären sie auch in Gefahr, weil Sun eben der Vorreiter in VMs auf mobilen Telefonen war. Nur hätte dann Google nicht die ganzen Java Tools haben können, wie z.B. Eclipse.
Oracle sieht halt zu, wie Google Java ME gerade obsolet macht und will aber doch noch Kapital aus Java ME schlagen, was sie teuer mit Sun gekauft haben. Ist zwar blöd für jeden und kann auch für Oracle schlecht enden, aber das Unternehmen länger als 5 Jahre planen ist eher selten.
Mal ehrlich: Ich beneide den Garbage Collector ganz sicher nicht um seine Aufgabe. Bei all den Threads, Aspects, Listen, Maps, (Views) und sonstigen Objectverschachtelungen verliert man schnell die Übersicht beim Aufräumen des Speichers. Besser das wird von einem Programm automatisch und möglichst sauber erledigt, als sehr sehr fehlerhaft von Hand.
Am Rande sei erwähnt: Es soll ja C++ Programmierer geben, welche den Programmabbruch als Garbage Collection verwenden...
Garbage-Collection fetzt. Vor allem wenn man mal über die Wartungskosten seiner SW guckt. Aber was ist das schon im Vergleich zum Gefühl ein Harter zu sein weil man bis zum letzten Bit alles selbst macht.
Danke. Du hast es gut auf den Punkt gebracht. Endlich jemand mit praktischer Vernunft und kein "früher war mit den Sprachen alles toller" Romantiker.
Allerdings sollte man nicht zu Java-esk an die Sache rangehen. Die JVM ist imho eines der Kernaspekte, ermöglicht sie eben auch andere Sprachen an das Java-Umfeld anzudocken, ich nenne da mal Scala (weil Hype), Clojure und Jython.
Viele Ada-Veteranen sollten sich der Realität stellen und einfach anerkennen, dass die typische Business-Aufgabe heutzutage nicht mehr optimal mit Ada und Konsorten umgesetzt werden kann. Und durch NASA, ESA und Co. brauchen die sich ja dennoch nicht um Arbeitslosigkeit scheren
Von blablabla am Fr, 10. September 2010 um 16:43 #
ADA ist sehr gut für einige Verwendungzwecke, wer sowas wie finger weg sagt denkt dass ein hammer genau so gut ist wie ein Schraubenzieher und man mit Hammer der Schraubenzieher ersetzen könne. Sprachen sind Werkzeuge und sollten genauso behandelt und genutzt werden.
Jaja, die gute alte NASA. Die benutzt auch sicher noch andere Programmiersprachen.
Natürlich. Aber Ada besitzt nun einmal validierte Compiler. Das ist für extrem sicherheitskritische Systeme optimal. Aber ein Steuerprogramm für ein Space-Shuttle ist eben auch keine Textverarbeitung oder ein Businessmonster.
With Sprachen sind ja nett aber nicht fuer viel zu gebrauchen. Es kostet einfach unmengen an Geld die vorhanden Libraries neu zu schreiben. Und wenn man Wrapper nimmt kann man auch gleich in einer anderen schreiben.
Als Entwickler (u. a. auch Java) würde ich heute sehr vorsichtig sein was das Lernen von Java angeht. Zumindest wenn die eigenen Zeitressourcen knapp sind.
Was Oracle aus OpenSolaris,MySQL bisher gemacht und womöglich auch mit den anderen Produkten anstellen wird, kann auch mit JDK passieren.
SUN würde nie gegen Google wegen Java Patenten vorgehen usw.. bei MS war es damals notwendig. Hier jedoch nicht.
Bei vernünftigen Sprachen gibt es solche Unsicherheiten nicht. Siehe C/C++
C++ ist Müll und C ist aufwändig und nicht Business-kompatibel.
Wenn C++ Müll ist benutzt dudoch wohl kein einziges C++ Programm, denke ich. So konsequent musst du schon sein.
Kein OpenOffice, kein Firefox, keine MSFT SW,
kein KDE usw...usw...
Da du C nicht business bullshit bingo compatible
findest, benutzt du auch kein einziges gängiges
Betriebssystem nehm ich mal an. Auch keine
Sprachen wie Python,PHP oder Perl, deren
Interpreter in C geschrieben sind.
Tja... bleibt nichts mehr übrig den Computer
sinnvoll zu benutzen. Am besten du schaltest
ihn jetzt aus. Dann kannst du auch keinen
Schwachfug mehr posten.
Der Omega13.
Jetzt werde mal nicht kindisch. Die verwendete Programmiersprache ist für einen Anwender der Software gleichgültig. Für den Entwickler aber nicht.
C++ ist auch für mich keine schöne Sprache. C hingegen ist eine schönen Sprache, aber für typische Anwendungen aus dem Geschäftsfeld ist sie untauglich im Hinblick auf andere Sprachen.
C ist in dem Sinne auch keine schöne Sprache; im Vgl. zu C++ ist sie jedoch leichter beherrschbar. Aber auch in C will man eigentlich nichts machen; außer eben es geht um Hardware nahe Programmierung o.ä.
Die Hochsprachen von einst sind es eben heutzutage vom Abstraktionsniveau nicht mehr; leider sehen das Freaks wie der Ada-Frank nicht ein. Nuja, Fanatiker gibt es wohl immer...
Zum Thema Python: Der "Referenz"-Interpreter ist in C, ja. Aber auch da gibt es mit PyPy oder Jython Alternativen.
Java ist irgend wo ein Mittelding zwischen moderner Hochsprache und C mit Klassen. Die Fortentwicklung ist zwar eher langsam, jedoch gibt es eben zu jedem Thema Libs und vor allem auch gute Werkzeuge. Boilerplate ist danke einer guten IDE kein so großes Problem wie zu Beginn der Java-Ära und Scaffolding aller Art wird auch von Werkzeugen übernommen. Insofern bietet Java da einiges mehr als reines C++.
Allerdings hat C++ das mächtige Framework Qt auf seiner Seite. Das relativiert viele Nachteile von C++ gegenüber Java. Zusammen mit Boost ist es vom Sprachniveau schon sehr ähnlich.
Schade dass C# von M$ dominiert wird; ansonsten wäre das eine durchaus tolle statische typisierte Sprache.
Gibt ja Vala, das heilt Krebs und Aids
vala ist super!
> Die Hochsprachen von einst sind es eben heutzutage vom Abstraktionsniveau
> nicht mehr; [...] Ada
Du kannst in Ada wunderbar abstrahieren. Allein das Ökosystem an Bibliotheken und Frameworks ist mager im Vergleich zu Java. Das hat allerdings nichts mit der Sprache selbst zu tun.
Der Unterschied von Microsoft's Bastard-Java und Google's Bastard-Java ist mir nicht klar.
Was Java angeht, so würde das locker ohne Oracle überleben. IBM und andere stecken da viel zu tief drin. Was man als Entwickler lernt, sollte davon abhängen, was man machen will.
Was so typischerweise in Java gemacht wird, war bisher für mich uninteressant.
Gruss,
Kay
Hallo Kay,
ich sehe diesen Unterschied: Mircosoft hat ein inkompatibles Java geschaffen und das auf Desktop-PC mit ausgeliefert. Dadurch liefen nicht alle Programme einwandfrei.
Ich meine das Dalvik Class Dateien nimmt und diese noch mal für die Ausführung auf Mobiltelefonen optimiert.
Außerdem ist Microsoft böse und Google gut!
Grüße!
m|o
Dalvik ist eine vollkommen neue VM, die nichts mit Java zu tun hat, bis dass man den Code in der Java Syntax schreibt. Auch implementiert Google ein paar Java JDK Klassen, wie java.lang.String, java.lang.Object, usw.
Du kannst aber keine .class Dateien nehmen (aus dem javac Compiler) und auf der Dalvik VM laufen lassen. Meistens kannst du auch nicht deinen Code 1:1 übernehmen und es für die Dalvik VM übersetzen lassen, weil etliches aus der Java JDK fehlt.
Oracle verklagt Google wegen Patente, die VM spezifisch sind, speziell auf Java ME anwendbar. Wenn Google Python oder Ruby verwendet hätte (mit einer VM), wären sie auch in Gefahr, weil Sun eben der Vorreiter in VMs auf mobilen Telefonen war. Nur hätte dann Google nicht die ganzen Java Tools haben können, wie z.B. Eclipse.
Oracle sieht halt zu, wie Google Java ME gerade obsolet macht und will aber doch noch Kapital aus Java ME schlagen, was sie teuer mit Sun gekauft haben. Ist zwar blöd für jeden und kann auch für Oracle schlecht enden, aber das Unternehmen länger als 5 Jahre planen ist eher selten.
Mit C bzw. C++ lassen sich Aufgabenstellungen wie sie im Geschäftsleben häufiger vorkommen einfach nicht sinnvoll lösen:
*) Performante und problemlose Anbindung zu verschiedensten Datenbanken (optional Connection Pooling, 2 Phase Commits)
*) Object-Relational Mapper
*) div. Werkzeuge (statische Codeanalyse, Build System, etc...)
*) Reports (PDF, XSL-FO, ...)
*) Garbage Collection
Es gibt wenige Sprachen in denen sich diese Probleme vernünftig lösen lassen.
Wenn man dann noch die Vorteile von Applikation Servern, Spring, JSF + AJAX, JUnit, Maven, Continuous Integration, etc. kennt, stellt sich die Frage:
Welche Programmiersprachen außer Java gleichwertige Möglichkeiten anbieten?
PS: Plattformunabhängigkeit, etc. wäre auch noch wichtig.
"Garbage Collection"
Ist das nicht das was die Programmierer wollen die zu blöd sind sich selber um den Speicher zu kümmern?
Das sind die Programmierer, die bezahlt werden um ein Problem zu lösen und nicht um das Rad immer wieder neu zu erfinden.
Wie viele "Smart Pointer" gibt es in C++ inzwischen und wie viele String-Klassen?
Ja und auch noch zu faul dafür.
Mal ehrlich: Ich beneide den Garbage Collector ganz sicher nicht um seine Aufgabe. Bei all den Threads, Aspects, Listen, Maps, (Views) und sonstigen Objectverschachtelungen verliert man schnell die Übersicht beim Aufräumen des Speichers. Besser das wird von einem Programm automatisch und möglichst sauber erledigt, als sehr sehr fehlerhaft von Hand.
Am Rande sei erwähnt: Es soll ja C++ Programmierer geben, welche den Programmabbruch als Garbage Collection verwenden...
Garbage-Collection fetzt. Vor allem wenn man mal über die Wartungskosten seiner SW guckt. Aber was ist das schon im Vergleich zum Gefühl ein Harter zu sein weil man bis zum letzten Bit alles selbst macht.
Danke. Du hast es gut auf den Punkt gebracht. Endlich jemand mit praktischer Vernunft und kein "früher war mit den Sprachen alles toller" Romantiker.
Allerdings sollte man nicht zu Java-esk an die Sache rangehen. Die JVM ist imho eines der Kernaspekte, ermöglicht sie eben auch andere Sprachen an das Java-Umfeld anzudocken, ich nenne da mal Scala (weil Hype), Clojure und Jython.
Viele Ada-Veteranen sollten sich der Realität stellen und einfach anerkennen, dass die typische Business-Aufgabe heutzutage nicht mehr optimal mit Ada und Konsorten umgesetzt werden kann. Und durch NASA, ESA und Co. brauchen die sich ja dennoch nicht um Arbeitslosigkeit scheren
Jaja, die gute alte NASA. Die benutzt auch sicher noch andere Programmiersprachen.
Finger weg von ADA, alleine deswegen wegen den Namensursprung.
>> alleine deswegen wegen den Namensursprung
Was hast du denn gegen Ada Lovelace?
ADA ist sehr gut für einige Verwendungzwecke, wer sowas wie finger weg sagt denkt dass ein hammer genau so gut ist wie ein Schraubenzieher und man mit Hammer der Schraubenzieher ersetzen könne.
Sprachen sind Werkzeuge und sollten genauso behandelt und genutzt werden.
Ada ist doch ein nichts im vergleich zu Oberon
With Sprachen sind ja nett aber nicht fuer viel zu gebrauchen. Es kostet einfach unmengen an Geld die vorhanden Libraries neu zu schreiben. Und wenn man Wrapper nimmt kann man auch gleich in einer anderen schreiben.