Ich mag Java. Kann es somit nur weiterempfehlen
Eine GUI ist dort auch nicht allzu schwer zu erstellen. Mit z.B. Swing und dem entsprechenden Layoutmanager geht das wirklich einfach.
Was sind eigentlich die Vorteile von Python? Und wie machst du die Webinterfaces?
Als ich das letzte mal py2exe benutzen wollte, musste man erstmal ne Menge zusätzlicher Sachen installieren, dann Python downgraden (2.5) und dann hatte man einen 20MB Rattenschwanz mit dabei. Funktioniert hat es allerdings nach 3 Abenden.
Die Vorteile von Python sind die die große Standardbibliothek und die hohe Abstraktionsfähigkeit der Sprache: Man kommt also mit bloßen Python-Kenntnissen schnell ans Ziel weil man nur wenige Schritte benötigt um die mächtigen Funktionen der Standardbibliothek dazu zu bringen das zu tun, was man will.
Py2exe gefällt mir auch nicht besonders. Ich hatte mit PyInstaller bessere Erfahrungen gemacht. Das funktioniert aber auch nicht mit Python 3.x sondern nur bis 2.7.
Aber wenn man abhängigkeitslose Exe-Dateien für Windows ausliefern will, ist Python nicht unbedingt ideal. Aber das ist es bei Java und mittlerweile bei dem Zeug, was Visual Studio auswirft auch nicht mehr.
Man findet schnell Tutorials, die die Hand voll Codezeilen erklären, die man benötigt um einen minimalen Webserver zu starten. Wenn man das nicht im Detail bauen möchte, gibt es auch fertige Frameworks, die aber natürlich auch dick überladen sind: Zope, Django, Web2py, Cherrypy, Grok...oder eine Ebene höher mit Pyjamas usw.
Also ich kann Java empfehlen, mit Swing lassen sich GUIs ziemlich leicht erstellen. Vorallem wohl wegen der Standartbib
Wegen der Gescwindigkeit: Ich hab irgendwo mal gelesen gehabt das Java inzwischen nur noch ca. 10% langsamer ist als C++(War früher um einiges langsamer), es sich also sogar für Echtzeitanwendung eignet.
Bei Serveranwendungen kann man davon ausgehen, dass Java wegen der Laufzeitoptimierungen schneller ist als ein C-Programm.
Java nervt bei Desktopanwendungen nicht wegen der Ausführungsgeschwindigkeit sondern wegen der langen Ladezeiten beim Programmstart.
Außerdem ist die JRE unter Windows mittlerweile das chronisch dickste Sicherheitsloch.
Wenn man keine GUIs aus Widgets bauen möchte, sondern eher ein 2D-Spiel oder sonstigen grafischen Kram machen möchte, kann man mal einen Blick auf Pygame werfen. Das ist sehr simpel und führt sehr schnell zum Ziel.
Nicht zu vergessen, dass es auch Prozessoren gibt, die den Bytecode direkt verarbeiten können. Ok das sind dann keine normalen CPUs....
Aber das Java schon so gut an C++ rankommt, freut mich echt. Ich mein, ich lern C++ nur wegen der universitären Projekte, aber eigentlich mag ich Java lieber
Aye. Das mit der Abstraktionsfähigkeit gehört dreimal unterstrichen. Ich habe einen kleinen Parser und Compiler (also nicht das einfachste Ding der Welt) als Nebenprojekt laufen. Die z.B. AST-Klassen sind bisher alle zwischen 5 und 25 Zeilen lang, da alles, was sich in gewisser Weise wiederholt, mit Metaprogrammierung auf zwei Zeilen reduziert wurde. Die Operatoren sind bisher sogar nur drei Zeilen. Die Tricks, die das ermöglichen, ist keine 150 Zeilen lang. Der Parser selbst sind dank der Bibliothek LEPL keine 100 Zeilen (und braucht keinen seperaten Präprozessor wie z.B. Lex oder Yacc).
Oder cx_Freeze, funktioniert auch für 3.x.Py2exe gefällt mir auch nicht besonders. Ich hatte mit PyInstaller bessere Erfahrungen gemacht. Das funktioniert aber auch nicht mit Python 3.x sondern nur bis 2.7.
Aber wenn man abhängigkeitslose Exe-Dateien für Windows ausliefern will, ist Python nicht unbedingt ideal. Aber das ist es bei Java und mittlerweile bei dem Zeug, was Visual Studio auswirft auch nicht mehr.
Die werden aber nie auch nur annährend in der gleichen Liga spielen wie gängige Desktop-CPUs. Nativ != schnell.
Kommt auf den Code an. Für reine Rechenaufgaben kann der JIT sicher ähnlichen Code wie ein C oder C++--Compiler ausspucken. Für virtuelle Methoden-Aufrufe kann der mit inline caching sogar deutlich besseren Code produzieren. Die Objekte als solche sind natürlich trotzdem etwas... schwerfälliger und bis der JIT anfängt zu arbeiten könnte deine Anwendung schon vorbei sein.Aber das Java schon so gut an C++ rankommt, freut mich echt.
Aber JIT-Compiler sind trotzdem was sehr feines. Wenn man es extra drauf anlegt, kann sogar Python schneller als C sein. In der Praxis natürlich nicht der Fall, ist dennoch sehr beeindrucken, was PyPy so schafft.
Was man aus einer Sprache an Performance raus holen kann, zeigt Java Script doch ganz deutlich.
JavaScript ist überhaupt eine coole Sprache. Vor allem das Prototypen-System ist manchmal sehr sexy.
Mittlerweile gibt es auch Ökosysteme dafür, die JS auch außerhalb des Browsers attraktiv machen. Node.js auf Serverseite zum Beispiel.
Etwas andere Frage noch, vom allgemeinen ins spezielle gehend:
Also welche IDEs außerhalb von Netbeans, Eclipse, Visual Studio, Codeblocks, Emacs+Ant sind denn so beliebt bei euch? Vor allem under Win, nicht nur unter Linux? Besonders für Python und Windows (oder halt auch Linux)? Und insbesondere, wenn ich Python debuggen möchte, also schön mit Breakpoints und Auslesen der derzeitigen Variableninhalte und Stacktrace und Weitergehen im Code etc.? Also wie debugged man Python denn überhaupt?
http://stackoverflow.com/questions/8...use-for-python
Ich würde Eclipse nehmen, aber nur aus Gewohnheit. Ansonsten würde ich eher zu Unittests tendieren und nur dann Debuggen, wenn ich den Fehler wirklich nicht anders finde.
Papoy!
Alternativ reicht oft auch ein oder zwei gut platzierte Assertions oder Ausgaben. Damit fahre ich bei den meisten Problemen ganz gut, jedenfalls gut genug, dass mir die Motivations fehlt, mir einen Debugger anzueignen
In der stdlib gibt's PDB, was wohl die meisten IDEs unter der Haube benutzen, und hier eine Liste weiterer Tools, wobei da nicht dabeisteht, wie aktuell und gut die sind.