|
Marc_BlackJack_Rintsch
Ehemalige
Anmeldungsdatum: 16. Juni 2006
Beiträge: 4735
|
@vlc: D bricht da auch mit einem Fehler beim Übersetzen ab: $ cat test.d
import std.stdio;
int main() {
int i[3];
i[0] = 0;
i[1] = 1;
i[3] = 2;
writef("%d\n", i[0]);
writef("%d\n", i[1]);
writef("%d\n", i[2]);
return 0;
}
$ gdc test.d
test.d:8: Error: array index 3 is out of bounds i[0 .. 3]Aber ich denke das kann man nicht der Sprache C an sich anlasten, sondern dem GCC. Der könnte durchaus eine Warnung ausgeben.
|
|
Hello_World
(Themenstarter)
Anmeldungsdatum: 13. Juni 2006
Beiträge: 3620
|
Der gcc produziert per default fast keine Warnungen, nicht einmal für extrem unsaubere Konstruktionen wie den Aufruf nicht deklarierter Funktionen u. ä.. Deswegen kompiliert auch jeder mit -Wall.
|
|
schlonz
Anmeldungsdatum: 30. November 2005
Beiträge: 294
|
DasIch schrieb: Darauf wird auch bei Python großen wert gelegt. Trotzdem ist alles ein Objekt, es gibt Properties, Operator Überladung usw. genauso wie in anderen Sprachen. Irgendwie scheint es doch Menschen zu geben die damit sehr gut leben können.
In Fragen der Eleganz und Lesbarkeit kann Java wohl nicht mit Python konkurrieren. Aber es ging ja auch eigentlich um Java vs C++. Python entschärft ja ebenfalls viele Gefahrenstellen, nur stellt es eben im Gegensatz zu Java für eine Streichung auch meist eine (sichere) Ersatzbefriedigung zur Verfügung. Java kennt halt nur den Rotstift.
|
|
Utzinator
Anmeldungsdatum: 6. August 2006
Beiträge: 415
|
Vergleicht mal ruhig weiter Java mit Python, sehr seriös 😉
Vor allem weil die Einsatzgebiete ja auch so ähnlich sind und die Sprachen auch kaum andere Ansätze verfolgen(Interpreter/Virual mashine/(C++) binärcode). Subjektiv:
Zumal ich Pythoncode hässlich finde. Man kann gewisse Dinge zwar relativ schnell lösen, andere Dinge sind aber auch nicht viel kürzer als anderswo (kommt auf den Fall an ☺) und sieht nicht "hübsch" aus - ich lese lieber java oder gar c++ code
|
|
DasIch
Anmeldungsdatum: 2. November 2005
Beiträge: 1130
|
schlonz schrieb: Aber es ging ja auch eigentlich um Java vs C++.
Es ging darum das Java crap ist, völlig egal im Vergleich zu welcher Sprache. Utzinator Vor allem weil die Einsatzgebiete ja auch so ähnlich sind und die Sprachen auch kaum andere Ansätze verfolgen(Interpreter/Virual mashine/(C++) binärcode).
Der einzige Unterschied zwischen Java und Python ist dass Python i.d.R. nicht vor der Ausführung kompiliert wird. Der Rest sind doch nur Details die letztendlich irrelevant sind. Mich würde aber schonmal interessieren was man mit Java machen kann aber nicht mit Python außer Applets die mit Plugin im Browser ausgeführt werden können.
|
|
Hello_World
(Themenstarter)
Anmeldungsdatum: 13. Juni 2006
Beiträge: 3620
|
DasIch schrieb: Mich würde aber schonmal interessieren was man mit Java machen kann aber nicht mit Python außer Applets die mit Plugin im Browser ausgeführt werden können.
Auch wenn die Python-Fans das hier nicht hören wollen: Python ist, verglichen mit kompilierten Sprachen wie Java oder gar C++, langsam.
|
|
stfischr
Anmeldungsdatum: 1. März 2007
Beiträge: 19197
|
Wir sollten den Thread in: "Nachteile von verschiedenen Programmiersprachen" umbenennen. 😀
|
|
Ferio
Anmeldungsdatum: 24. April 2007
Beiträge: 383
|
Utzinator schrieb: Vergleicht mal ruhig weiter Java mit Python, sehr seriös 😉
Bis zu deinem Post ging es nur um Lesbarkeit vs. fehlende Java-Spracheigenschaften und das kann man ohne Probleme vergleichen. Vor allem weil [...] die Sprachen auch kaum andere Ansätze verfolgen(Interpreter/Virual mashine/(C++) binärcode).
Python benutzt übrigens genauso wie Java eine Virtuelle Maschine, das einzige was fehlt ist der JIT.
|
|
DasIch
Anmeldungsdatum: 2. November 2005
Beiträge: 1130
|
Hello World schrieb: Auch wenn die Python-Fans das hier nicht hören wollen: Python ist, verglichen mit kompilierten Sprachen wie Java oder gar C++, langsam.
Klar ist CPython langsamer als die JRE oder C++ aber dass wollte ich nicht wissen 😉 Wo wird Java den wirklich genutzt weil man die Geschwindigkeit braucht? Im Embedded Bereich ist Java nicht zu gebrauchen und Treiber in Java sind wohl auch recht schwierig hinzubekommen.
|
|
Hello_World
(Themenstarter)
Anmeldungsdatum: 13. Juni 2006
Beiträge: 3620
|
DasIch schrieb: Hello World schrieb: Auch wenn die Python-Fans das hier nicht hören wollen: Python ist, verglichen mit kompilierten Sprachen wie Java oder gar C++, langsam.
Klar ist CPython langsamer als die JRE oder C++ aber dass wollte ich nicht wissen 😉 Wo wird Java den wirklich genutzt weil man die Geschwindigkeit braucht?
Im ursprünglichen Thread wurde das Beispiel mobile.de genannt. Nach einer Umstellung von Perl auf Java lief das wohl wesentlich schneller.
|
|
Gon
Anmeldungsdatum: 2. September 2007
Beiträge: 161
|
Zum Thema Webapp-Programmierung mit Java im Vergleich mit anderen Sprachen (hier Python und Ruby) gibt es auch ein sehr interessantes Video von der NASA: http://oodt.jpl.nasa.gov/better-web-app.mov (~300mb) Das Fazit geht dabei ziemlich zugunsten einer Richtung aus.
Ich fand es recht objektiv und sehenswert. Edit: Hier ist noch ein kleines kurzes Video über einen Java, Python Vergleich: http://www.archive.org/download/SeanKellyRecoveryfromAddiction/Recovery_from_Addiction.mov Ich finde, in beiden fallen ein paar ganz gute Argumente...
|
|
Marc_BlackJack_Rintsch
Ehemalige
Anmeldungsdatum: 16. Juni 2006
Beiträge: 4735
|
Der Ansatz zwischen Python und Java bei der Ausführung ist nicht sooo unterschiedlich. CPython übersetzt den Quelltext auch in Bytecode für eine virtuelle Maschine. Jython übersetzt in JVM-Bytecode, also für die gleiche virtuelle Maschine wie der Java-Compiler. Und auch für CPython gibt es einen JIT-Compiler (Psyco). Ausserdem ist es in Python nicht so verbreitet, dass man alles in Python implementieren muss. Klar würde eine Matrix-Klasse in reinem Python gegen eine in Java verlieren, aber wenn man Rechnungen mit Matrizen und mehrdimensionalen Feldern in Python braucht, verwendet man NumPy. Das Paket greift für rechenintensive Teile auf optimierten C- und Fortran-Code zurück. Mit Cython gibt es eine Sprache die eine Art statisch compilierbare Untermenge von Python darstellt und erlaubt C-Datentypen einfliessen zu lassen und mit dem ctypes-Modul aus der Standardbibliothek kann man recht unkompliziert auf beliebige DLLs/Shared Libraries zugreifen.
|
|
PrairieDog
Anmeldungsdatum: 16. Februar 2006
Beiträge: 870
|
Was genau ist das Ziel dieses Threads?
|
|
Hello_World
(Themenstarter)
Anmeldungsdatum: 13. Juni 2006
Beiträge: 3620
|
PrairieDog schrieb: Was genau ist das Ziel dieses Threads?
Mal wieder ein ordentlicher Flamewar. Kann man das nicht am Titel erkennen?
|
|
DasIch
Anmeldungsdatum: 2. November 2005
Beiträge: 1130
|
PrairieDog schrieb: Was genau ist das Ziel dieses Threads?
Du willst damit doch nicht etwa kritisch den Sinn dieses Threads hinterfragen? 😉
|