Hallo. Ich stehe vor der Frage, welche Programmiersprache ich wählen und erlernen soll. Ich möchte vor Allem die Vielzahl der verwendeten Systeme und Umgebungen reduzieren und eine möglichst universell einsetzbare Sprache erlernen. Sie soll vor Allem PHP, Kommandozeilen Scripts und GUI Programme mit einer gemeinsamen Basis ermöglichen. Performance, Verarbeitungsgeschwindigkeit ist nebensächlich. Wichtig ist auch, dass es gut erlernbar ist und gut les- und wartbarer Code entsteht. Folgende Anforderungen (Mit Beschreibung und Wertigkeit) sind gestellt: Entwicklung von Web-Applikationen (Substitution von PHP in meinem Projekt): 10 Entwiklung von Kommandozeilenprogrammen (Substitution von Perl / Bash Scripts): 10 Entwicklung von einfachen Windows GUI Programmen (Substitution von VisualBasic zum Erstellen kleinerer GUI Programme unter Windows. Programm soll Standalone lauffähig sein, und nur eine "Standardumgebung" erfordern und nicht die Installation eines kompletten Frameworks oder Interpreters auf dem Zielsystem) : 5 Entwicklung von einfachen Linux GUI Programmen (Möglichst Plattformübergreifend, so dass für Windows und Linux die selbe Basis benutzt werden kann) : 4 Entwicklung von Apps für Smartphones oder Tablets (Android): Nice to have wenn möglich, aber kein muss, Weiterverwendung von KnowHow und Basis wäre aber schön: 1 Erlernbarkeit, Einfachheit, Lesbarkeit des Codes: 8 Weiterverwendbarkeit von KnowHow und Basis in der Zukunft, beim Umstieg auf neuere oder mächtigere Systeme, sinnvoller Weise gleich einen Einstieg in eine entsprechend moderne und skalierbare Sprache: 6 Community Basis, Hilfen im Internet, Literatur: 4: Ausführungsgeschwindigkeit, Performance: 2 Momentan habe ich 2 Kandidaten ausgemacht, welche die Anforderungen mehr oder minder erfüllen: Python und Groovy. Aber ich kann mich nicht entscheiden, auf welches Pferd ich setzten soll. Was würdet ihr denn nehmen? Viele Grüße
Huhu, Es scheint ja mode geworden zu sein, andere zu fragen bevor man selber einfach mal ausprobiert, was einen gefällt. Ich persönlich würde mit C# anfangen (ach, hab ich ja auch ;). Für dich? GROOVY scheint ja eher an Java anzulehnen. Und Python ist halt Python. Wie wär's mit C++ und QT. Das kann eigentlich alle deine Forderungen. Andere Frage. Warum bleibst du nicht bei Perl, wenn du es schon kannst. Da gibt's auch QT bindings. So weit so gut.Ich hoffe, ich hab dich genug verwirrt. Mach python. Das ist eine nette Sprache, mit der man viel erreichen kann Grüße
Marc schrieb: > Momentan habe ich 2 Kandidaten ausgemacht, welche die Anforderungen mehr > oder minder erfüllen: Python und Groovy. > Aber ich kann mich nicht entscheiden, auf welches Pferd ich setzten > soll. Wenn du schon eine absolute Nischensprache wie Groovy in erwägung ziehst, wieso dann nicht gleich was interessantes wie z.B. Haskell nehmen? > Entwicklung von Web-Applikationen > (Substitution von PHP in meinem Projekt): 10 Python mit Flask/Django oder ähnlichem. Eigentlich sind fast alle Scriptsprachen dafür geeignet. Wenns einigermaßen performant sein soll, sieh dir mal Go an. > Entwiklung von Kommandozeilenprogrammen > (Substitution von Perl / Bash Scripts): 10 Auch mit fast allem möglich. Eventuell solltest du dir auch noch andere Interpreter wie z.b. zsh ansehen, um die Bash-Skripte zu ersetzen. > Entwicklung von einfachen Windows GUI Programmen > (Substitution von VisualBasic zum Erstellen kleinerer GUI Programme > unter Windows. Programm soll Standalone lauffähig sein, und nur eine > "Standardumgebung" erfordern und nicht die Installation eines kompletten > Frameworks oder Interpreters auf dem Zielsystem) : 5 > > Entwicklung von einfachen Linux GUI Programmen > (Möglichst Plattformübergreifend, so dass für Windows und Linux die > selbe Basis benutzt werden kann) : 4 Die JVM ist heutzutage kaum auf was anderem als Servern installiert. Wenn du dir die Mühe machen willst, dann kompilier den Python Interpreter mit in die Anwendung; sind allerdings ca. 30 MB + Abhängigkeiten. Ansonsten mach einfach ne Web-App draus. Damit sparst du dir viel Mühe und kannst die Kenntnisse aus Punkt 1 wiederverwenden. > Entwicklung von Apps für Smartphones oder Tablets (Android): > Nice to have wenn möglich, aber kein muss, Weiterverwendung von KnowHow > und Basis wäre aber schön: 1 Du wirst mit allem außer Java und den offiziellen Android SDK eingeschränkt sein. Wenn du damit leben kannst, dass deine app mindestens 15 MB groß ist, dann nimm Kivy. > Erlernbarkeit, Einfachheit, Lesbarkeit des Codes: 8 Ganz klar Python! :D > Weiterverwendbarkeit von KnowHow und Basis in der Zukunft, beim Umstieg > auf neuere oder mächtigere Systeme, sinnvoller Weise gleich einen > Einstieg in eine entsprechend moderne und skalierbare Sprache: 6 Wie gesagt: Wenn du was modernes und performantes für serverseitiges haben willst, dann nimm Go. > Community Basis, Hilfen im Internet, Literatur: 4: Python. > Ausführungsgeschwindigkeit, Performance: 2 Go.
Hallo. Momentan habe ich Erfahrung mit PHP, Perl und Visual Basic, die ich auch jenachdem was ich machen will, verwende. Ich würde aber viel lieber eine "eierlegende Wollmilchsau" haben und dann auch nur noch auf dieses eine Pferd setzen. Alle meine Ressorcen dann genau darauf bündeln und mich genau dahin spezialisieren und genau das erlernen. Ja, ich weiß, dass groovy stark mit Java "verbandelt" ist. Das ist ein Vorteil, da man sehr viel aus der Java-Welt verweden kann. (Und Umgekehrt). Groovy läuft auch in der JVM. Java ist recht weit verbreitet und universell einsetzbar. Groovy bietet mir die Möglichkeit, Web-Applikationen, "Smartphone-Apps" und "Desktop Anwendungen" mit einer einzigen Sprache zu erstellen. Über Groovy könnte man auch problemlos den Sprung zu Java machen, und ist dann recht flexibel. Groovy ist in einigen Teilen auch an Python, Perl und Ruby angelehnt, so dass es da auch Überschneidungen gibt. Für Python spricht, dass es schon deutlich etablierter ist, und man mehr Hilfestellungen durch Onlineforen und Literatur bekommt, und es auch in beruflichen Umfeld deutlich "gefragter" ist bzw mich weiter bringen würde. Es ist bei vielen Linux Systemen schon mit dabei, man kann ohne größere "Installationsarbeiten" sofort loslegen. Es ist sehr gut als "Konsolen-Scriptspache" zu gebrauchen, es substituiert sehr gut Bash und Perl Scripte. Auch Onlineprojekte sind sehr gut realisierbar. Das Django Framework leistet sehr gute Dienste, und man kann PHP sehr gut substituieren. Auch GUI Anwendungen, sowohl für Linux als auch Windows sind machbar. Im Bereich Smartphone Apps ist Python wohl nicht ganz so gut, aber das wäre zu verkraften, denn dadrauf kommt es mir micht ganz so an. Python ist halt eine eigene Sprache, und etwas weiter weg von Java, so dass der Sprung in Richtung "Smartphone App" später etwas schwerer werden könnte.
Go wäre interessant, da es sich stark an C orientiert, und über diesen Weg auch der weg in Richtung Java offen ist. Sollte etwas mit Go nicht möglich sein, könnte man dann darauf zurück greifen. Mein Projekt ist eigentlich eine Web Applikation, und auch der Aspekt Kommandozeilen Scripting ist recht wichtig, so dass ich tendenziell momentan am ehesten zu Python tendiere. Das mit der Smartphone App wäre interessant, da der Smartphone und Tablet-Boom nicht mehr aufzuhalten ist, und es gut wäre, wenn man da auch was im Petto hätte. Für das eigentliche Projekt brauche ich die Smartphone App und auch die Standalone Gui Anwendung nicht notwendigerweise. Das wäre nur irgendwann mal die Perfektion des ganzen, wenn man dann Bilder direkt vom Scanner (Twain), TV Karte/Videograbber oder der Smartphone Kamera ins System einspeisen könnte. Momentan muss man mit Drittanwendungen arbeiten, zwischenspeichern und per Upload Dialog im Browser aufs System schieben.
Marc schrieb: > Go wäre interessant, da es sich stark an C orientiert, und über > diesen > Weg auch der weg in Richtung Java offen ist. > Sollte etwas mit Go nicht möglich sein, könnte man dann darauf zurück > greifen. Hä? > Im Bereich Smartphone Apps ist Python wohl nicht ganz so gut, aber das > wäre zu verkraften, denn dadrauf kommt es mir micht ganz so an. > > Python ist halt eine eigene Sprache, und etwas weiter weg von Java, so > dass der Sprung in Richtung "Smartphone App" später etwas schwerer > werden könnte. Dass Groovy auf der JVM läuft bringt dir für Android-Apps überhaupt nichts. Wenn du Groovy unbedingt auf Android benutzen willst, musst du - wie bei Python auch - den ganzen Sprachspezifischen kram in die apk reinkompilieren. Ich würde sogar sagen, dass Python für Android anwendungen besser geeignet ist, weil du mit Kivy ein gutes Framework für Apps hast, dass zudem auch noch unter iOS läuft.
Hab mir mal den Kivy angesehen. Vielen Dank für den Tipp. Richtig toll ist, dass es Cross Platform ist: Smartphone und Desktop Linux / Windows. Das Kivy begeistert mich auf Anhieb. Das ist so ziemlich genau das, was ich suche, um neben dem Web-Basierten Kram auch noch Clientseitig was machen zu können. Ein paar MB mehr für den Kivy, den man dann benötigt, die sind egal. Den Kivy werde ich jetzt gleich auch mal ausprobieren mit einem Hallo Welt Testprogramm. Wenn das gut klappt, gehe ich definitv auf Python, da es mich die Möglichkeiten Bereich Kommandozeilenscripting und Web-Applikationen (Django) auch sehr ansprechen und ich dann das eine Pferd habe, mit dem ich hoffentlich alles machen kann was anfällt.
Habe mich jetzt für Python entschieden. Es ist das bekanntere und bewährtere "Pferd" von beiden, was gewisse Vorteile bietet, gerade im Hinblick auf die berufliche Orientierung. Ob ich unter Windows das Kivy Framework nehme, weiß ich allerdings noch nicht. Ich habe es getestet, da gibt es unter Windows eine Sache, die mir nicht so gefällt. Es gibt aber noch andere Lösungen, die sehr Erfolgsversprechend aussehen. Für den Smartphonebereich ist Kivy ziemlich genau das, was ich suche.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.