|
Kinch
Anmeldungsdatum: 6. Oktober 2007
Beiträge: 1261
|
Quivadis schrieb: Ich will/muss große Projekte machen, diese sollten dann bei Auslieferung in einer einzigsten ausführbaren Datei sein, und nicht in tausenden *.py - Dateien.
Für solche Fälle gibt es Archive, und auch Jar-Dateien sind nichts anders. Finde das Argument ein bisschen komisch...
Und keinen Streit beginnen, bei mir zählen alle Sprachen welche nicht Compilieren zur Scriptsprachen.
Dir ist aber schon klar, dass man prinzipiell jede Sprache kompilieren kann? Für Python gibt es sicherlich auch einen Compiler der vielleicht sogar nativen Maschinencode produziert. Sehe auch keinen Grund nicht in Java zu entwickeln; ist gehops wie gesprung. Aber habe ich schon erwähnt.
|
|
Ferio
Anmeldungsdatum: 24. April 2007
Beiträge: 383
|
Quivadis schrieb: Und keinen Streit beginnen, bei mir zählen alle Sprachen welche nicht Compilieren zur Scriptsprachen.
Python wird genauso zu Bytecode kompiliert wie Java. Ist Java deswegen eine Scriptsprache? Übrigens kann man Java Bytecode sehr gut disassemblieren. Jede Sprache die zu Scripting-Zwecken eingesetzt werden kann oder wird ist eine Scriptsprache. Das muss aber nichts schlechtes sein.
|
|
Quivadis
Anmeldungsdatum: 13. Februar 2008
Beiträge: 142
|
Ich keine nur kein einziges kommerzielles Programm, welches in Phyton entwicklen wurden. In Java kenne ich einige. Wenn das alles in Phyton zutrifft was ihr schreibt, dann ist ja gut. Kenne Phyton nur vom Hören sagen, enwickle Programme in Java und C#. Wollte Phyton auf gar kein Fall schlecht machen. Das *.Jar dateien disam. kann, weiss ich auch, nur ist immer noch schwierige zu lesen als Quellcode, und das macht auch kein normaler Anwender.
|
|
Ferio
Anmeldungsdatum: 24. April 2007
Beiträge: 383
|
Quivadis schrieb: Das *.Jar dateien disam. kann, weiss ich auch, nur ist immer noch schwierige zu lesen als Quellcode, und das macht auch kein normaler Anwender.
Es ging nicht um die .jar-Dateien(die nichts weiter als zip-Archive sind), sondern um die .class Dateien und du würdest dich wundern was für schönen Quelltext man daraus produzieren kann.
|
|
Marc_BlackJack_Rintsch
Ehemalige
Anmeldungsdatum: 16. Juni 2006
Beiträge: 4735
|
@Quivadis: Stimmt, Swing sieht auf allen Systemen gleich doof aus. 😈 Für Python gibt es mehrere plattformübergreifende GUI-Toolkits. Was das einfache Installieren unter Windows angeht: Es gibt Programme, die alles notwendige, inklusive der python.exe in ein Archiv oder eine EXE verpacken. Noch einen Installer mit InnoSetup oder etwas vergleichbarem erstellen und schon hat der Windowsbenutzer eine Setup.exe zum doppelklicken. Deine Definition von Skriptsprache ist falsch, auch wenn Du davon anscheinend nicht abgehen willst, obwohl Du weisst, dass sie mindestens kontrovers ist. Das ist keine technische Eigenschaft einer Sprache, sondern eine Beschreibung wofür sie verwendet wird. Und Python ist durchaus als Sprache zum Programmieren von Anwendungen gedacht und nicht nur um andere Anwendungen zu skripten. Bei CPython kann man auch nur den Bytecode an Kunden ausliefern, und sowohl Python-Bytecode, als auch Java-Bytecode lassen sich dekompilieren. Python kann Module auch aus ZIP-Archiven importieren, dass heisst man müsste auch nicht hunderte von Dateien herumliegen haben. Wobei ich das Argument nicht ganz verstehe. Ob einem ein Installer nun ein Archiv irgendwo hinkopiert, oder 100 Dateien, ist doch nicht wirklich wichtig!? Die Urheberrechte sind übrigens auch auf den Quelltextdateien drauf – die verschwinden auch nicht auf magische Weise, wenn man die mit an die Kunden ausliefert. @Ferio: D trifft für mich ziemlich genau den "sweet spot" zwischen C++ und Java. Und es "fühlt" sich komplett anders an als C++. Damit komme ich überhaupt nicht zurecht, weil sich die Idiome dort nicht mit meinem Verständnis von Objektorientierung decken.
|
|
Quivadis
Anmeldungsdatum: 13. Februar 2008
Beiträge: 142
|
Weiß ich ich doch, aber das ist doch gesetzlich von unserer Bundesregierung verboten wurden. Naja, eigentlich spielt das doch auch keine Rolle, da man als Programmierer doch eh nicht die entsprechende P.-Sprache wählen darf. Da Phyton noch nicht in der Manageretage angekommen ist, wird man damit eh nicht entwickeln dürfen. Privat habe ich mich auf Java eingeschossen, und werde das auch erstmal nicht so schnell bleiben lassen. Beruflich habe ich keine Wahl und Muß unter Windows Xp C# entwickeln. Alle Sprachen haben Vor.- und Nachteile, man muss sie halt nur kennen. Man kann jedes Programm Disasamblen, man kann aber diesen Vorgang erschweren, wenn man Obfuskatoren über den quelltxt laufen lässt.
|
|
Ferio
Anmeldungsdatum: 24. April 2007
Beiträge: 383
|
Quivadis schrieb: Weiß ich ich doch, aber das ist doch gesetzlich von unserer Bundesregierung verboten wurden.
Wenn du auf den Hackerparagraphen anspielst: Nein.
|
|
Hello_World
(Themenstarter)
Anmeldungsdatum: 13. Juni 2006
Beiträge: 3620
|
@Quivadis: Zunächst mal heißt es Python, nicht Phyton.
Quivadis schrieb: Ich muss zugeben kenne mich mit Phyton nicht wirklich aus, kann aber Java. UNd ich finde Java gar nicht mal so schlecht. Man kann von einem kleinem bis zu einem wirklich großen Projekt alles damit erledigen.
Und mit welcher anderen modernen Sprache kann man das nicht? Das Phyton auch auf, anderen Platformen läuft ist mir bekannt, da er aber nicht den Quellcode verschleiert, kommt er nicht in Frage.
Ob eine Quellcode-Verschleierung nötig ist, sei einmal dahingestellt - schließlich hat man mit oder ohne Verschleierung das Copyright am Programm. Jedenfalls bietet auch Python die Möglichkeit, Bytecode aus den Quelltextdateien zu erzeugen. Die einfachste Möglichkeit ist, einfach eine Datei irgendwas.py zu speichern und dann im interaktiven Python-Interpreter "import irgendwas" auszuführen. Dann hat man hinterher eine irgendwas.pyc im Verzeichnis liegen. Und keinen Streit beginnen, bei mir zählen alle Sprachen welche nicht Compilieren zur Scriptsprachen.
Dann gibt es aber kaum Scriptsprachen. Intern wird praktisch jede Sprache zu Bytecode kompiliert.
|
|
phst
Anmeldungsdatum: 24. Juni 2007
Beiträge: 527
|
Python ist durchaus eine schöne Sprache, die bei kleinen Projekten auch eleganter aussieht als Java. Es hat aber schon seinen Grund, dass sie eher als "Glue language" verwendet wird und wenige Programme mit vielen Millionen Zeilen darin entwickelt werden. Bei Java stehen einem da dann doch ganz andere Tools zur Verfügung. Python ist sehr nett für kleinere Dinge und flexible Entwicklung, es fehlen aber einfach viele Möglichkeiten, die Java entweder mit der Standardbibliothek oder über gut getestete und über Jahre fortentwickelte externe Bibliotheken, die häufig Industriestandards darstellen, zur Verfügung stellt. Bei Python bekommt man mit der Standardbibliothek noch nicht einmal richtigen Unicode-Support. Für kleine Projekte reicht das aus und man kommt mit Python schneller ans Ziel, aber wenn man mal an eine Grenze stößt, wird's schwierig. Vielleicht ist der Erfolg von Java durchaus zu einem gewissen Teil auf Marketing zurückzuführen, aber wäre es so schlecht, wie hier dargestellt wird, könnte es die Konkurrenz nicht so weit distanzieren, wie es das tut. Ein Management, das nur auf Buzzwords hört und keine Abwägung zwischen Kosten und Nutzen vornimmt, dürfte sich nur selten lange halten. In allen Statistiken führt Java seit einigen Jahren recht deutlich vor den drei Hauptkonkurrenten C++, Visual Basic und C#. Python spielt außerhalb der Linux-Welt nur eine Nischenrolle. So einen Zustand kann man nicht so einfach ändern, wenn man das will: Die weite Verbreitung von Java und der flächendeckende Einsatz in Firmen und Universitäten sorgt sowohl für Angebot als auch Nachfrage an Entwicklern und Bibliotheken. Ja, Java ist unsexy und unelegant. Die Qualität einer Entwicklungsplattform wird jedoch gemeinhin nicht an der Eleganz ihrer Hauptprogrammiersprache, sondern an Kriterien wie Zuverlässigkeit oder TCO gemessen. Und da spielen Fragen wie die nach der Existenz von syntaktischem Zucker wie Eigenschaften nur eine Nebenrolle.
|
|
Hello_World
(Themenstarter)
Anmeldungsdatum: 13. Juni 2006
Beiträge: 3620
|
Mit Jython kann man von Python aus aber auch Java-Klassen verwenden. So hat man das beste beider Welten.
|
|
Lunar
Anmeldungsdatum: 17. März 2006
Beiträge: 5792
|
Quivadis schrieb: Weiß ich ich doch, aber das ist doch gesetzlich von unserer Bundesregierung verboten wurden.
Nein. Disassemblieren ist zwar nicht erlaubt, ist aber keine Straftat, sondern lediglich eine Urheberrechtsverletzung, die ausschließlich von zivilrechtlicher Relevanz ist. Wenn also jemand dein Programm ohne Erlaubnis dekompiliert, musst du selbst entsprechend dagegen vorgehen, von sich aus sieht der Staat dazu keinen Anlass. Im Übrigen ist Dekompilieren zum Zwecke der Interoperabilität unabhängig von der konkreten Lizenzbedingungen erlaubt.
|
|
Hello_World
(Themenstarter)
Anmeldungsdatum: 13. Juni 2006
Beiträge: 3620
|
Marc 'BlackJack' Rintsch schrieb: @Ferio: D trifft für mich ziemlich genau den "sweet spot" zwischen C++ und Java. Und es "fühlt" sich komplett anders an als C++. Damit komme ich überhaupt nicht zurecht, weil sich die Idiome dort nicht mit meinem Verständnis von Objektorientierung decken.
Viele C++-Idiome haben mit OOP auch nichts zu tun. Die OOP ist nur eines vieler Paradigmen, die von C++ unterstützt werden 😉. //edit: mal ein Zitat von Stepanov, dem Erfinder der STL: I think that object orientedness is almost as much of a hoax as Artificial Intelligence. I have yet to see an interesting piece of code that comes from these OO people. [...] I find OOP technically unsound. [...] I find OOP philosophically unsound. It claims that everything is an object. Even if it is true it is not very interesting - saying that everything is an object is saying nothing at all. I find OOP methodologically wrong.
Interessant übrigens auch, wie Stepanov Java basht (um mal wieder auf das Thread-Thema zurückzukommen): I spent several months programming in Java. Contrary to its authors prediction, it did not grow on me. I did not find any new insights - for the first time in my life programming in a new language did not bring me new insights. It keeps all the stuff that I never use in C++ - inheritance, virtuals - OO gook - and removes the stuff that I find useful.
Quelle: http://www.stlport.org/resources/StepanovUSA.html
|
|
ryiden
Anmeldungsdatum: 2. Juni 2006
Beiträge: 826
|
DasIch schrieb: Mehrfachvererbung bereitet keine Probleme, Leute die Mehrfachvererbung unüberlegt einsetzen tun es. Das sind halt unterschiedliche Ansätze "Der Programmierer ist doof und muss geschützt werden" vs. "Der Programmierer weiß was er tut", ich bevorzuge letzteren.
Richtig, und der Handwerker braucht auch keine Kreissäge, bei der die Sägeblätter von einem Schutzblech umgeben sind. Schließlich ist er ja nicht so doof, sich selbst die Finger abzusägen. 😉 Sorry, aber der musste sein.
|
|
Hello_World
(Themenstarter)
Anmeldungsdatum: 13. Juni 2006
Beiträge: 3620
|
ryiden schrieb: Richtig, und der Handwerker braucht auch keine Kreissäge, bei der die Sägeblätter von einem Schutzblech umgeben sind. Schließlich ist er ja nicht so dumm, sich selbst die Finger abzusägen. 😉
Das ist ein haarsträubender Vergleich. Die Entscheidung, Mehrfachvererbung zu nutzen, muss vom Entwickler explizit getroffen und umgesetzt werden. Ein Handwerker wird dagegen kaum bewusst die Entscheidung treffen, sich jetzt mal ein einen Finger abzusägen. Und wenn er das doch tut, dann kann man wohl wirklich sagen, dass er selbst schuld ist.
|
|
DasIch
Anmeldungsdatum: 2. November 2005
Beiträge: 1130
|
ryiden schrieb: Richtig, und der Handwerker braucht auch keine Kreissäge, bei der die Sägeblätter von einem Schutzblech umgeben sind. Schließlich ist er ja nicht so doof, sich selbst die Finger abzusägen. 😉
Den Programmierer der sich vertippt und deswegen plötzlich Mehrfachvererbung verwendet, wodurch ein Fehler entsteht möchte ich sehen.
|