Python Vorteile, Lernen sinnvoll?, Wozu Python?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
xKushGene
User
Beiträge: 6
Registriert: Donnerstag 2. November 2017, 11:09

Guten Tag,

ich bin derzeit in einer Ausbildung (welche einem wirklich kaum was beibringt, da die Ausbildung von mir sehr schlecht gewählt worden ist) und bin im 3. jahr.

Ich habe schnell daran Gefallen gefunden, C# zu lernen, da ich immer eigene Programme (Windows-Fenster öffnet sich, und man kann Sachen machen) erstellen wollte.

Allerdings kann ein Programmierer ja nicht nur 1 Sprache, weshalb ich nun nach etwas neuem suche.
Ich habe mir also angeschaut, welche Programmiersprachen "Zukunftssicher" sind bzw. welche gefragt sind.

Da das aktuell Javascript ist und ich mir vorstellen kann, dass nun einige auf Javascript umsteigen eben um mehr Kohle zu verdienen, dachte ich mir, lernste doch Python?

Doch was mir fehlt, sind die positiven Punkte, warum denn eigentlich Python ?
Womit komme ich mit Python sehr weit? Klar, man kann mit Python "alles" machen. Aber wo liegen die Stärken von Python (nicht nur, dass es einfach zu lernen ist, einfache Syntax usw.).

Ich denke auch eher in die Zukunft, undzwar inwiefern kann ich mit Python Passwörter verschlüsseln, salten usw.
Ist das alles möglich in Python usw. ?

Bzw. wo könnte man mit Python eher fehl am Platz sein? Beispielsweise schreiben ja einige, dass sie mit Python jetzt keine Treiber oder so programmieren würden, was ich auch nicht vorhabe, aber es wäre interessant zu wissen, was mit Python NICHT geht oder eher schwer / unvorteilhaft.

Zurzeit habe ich in meiner Ausbildung (Praktikum) ein Kundenverwaltungsprogramm in C# geschrieben.
Inwiefern wäre das mit Python z.B. sinnvoll? Wäre Python für solche Anwendungen sogar besser oder eher schlechter?

Was mir fehlt ist so n bisschen der Vergleich, warum Python und nicht ... (Programmiersprache XY).
Ich denke, dass ich für diese Fragen in diesem Forum gut aufgehoben bin, denn hier handelt es sich ja um Python ^^

Und wenn ich mich dazu entscheide, Python zu lernen. Wie fange ich an? Was ist Sinnvoll im Jahre 2017 zu lernen.
Ich habe gelesen, dass Python 2 weniger vorteilhaft ist, da Python 3 "die Zukunft" ist. Allerdings ist der Beitrag schon etwas älter gewesen wo sich auch die Frage stellt, gibt es schon Python 4?
Welche Module sind "Lebensnotwendig" oder am meisten zu nutzen?

Eine Auflistung der wichtigsten Module und deren Vor-/Nachteile. Wie gesagt, ich kenne mich mit Python bisher 0 aus und möchte mich eben etwas informieren, bevor ich mich dafür entscheide nun einige Zeit in das lernen für Python zu investieren.

ich hoffe, das ist alles einigermaßen verständlich für euch Leser und auch hoffe ich, dass viele meiner Fragen beantwortet werden können :)

mfg
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

zu der Frage kann man Bücher schreiben... Ein paar Sachen:

* Python ist eine "universelle" Programmiersprache, die _nicht_ auf ein bestimmtes Feld fokussiert ist
* es gibt X tausende Module für Python, die so ziemlich jeden Anwendungsfall abdecken
* aktuell ist Python extrem populär bei wissenschaftlichen Anwendungen und ziemlich populär bei der Webentwicklung
* bei Python kommt man i.d.R. mit relativ wenig Code (im Vergleich zu anderen Programmiersprachen) schnell zum Ziel -> schnelle Entwicklung mit weniger Kosten (weil weniger Mannstunden)
* Python ist cross-plattform und läuft gleichermaßen gut auf Linux, Win und MacOS.

Aufgrund der akutuellen Verbreitung von Python ist es IMHO schon zukunftssicher. Was im IT-Bereich so 5-10 Jahre beduetet.

Da Python ein "high level" Sprache ist, entwicklet man da i.d.R. keine Treiber mit. Dafür ist nach wie vor C/C++ die meistgenutzte Sprache.

Ob es für _dich_ sinnvoll ist, Python zu lernen, kann dir aber keiner sagen. Kommt halt drauf an, was du in Zukunft so vor hast. Im "business" Umfeld ist IMHO Java immer noch dominierend. Und für low-level Sachen ist wie gesagt C/C++ immer noch gut.
Wenn du bei einer Firma landest, die viel Webentwicklung macht, kann es natürlich auch sein, dass das JavaScript oder Ruby oder ... verlangt wird.

Wenn du dich über Python informieren willst empfiehlt es sich, dass offizielle Python-Tutorial mal zu lesen (https://docs.python.org/3/tutorial/index.html). Da werden alle Grundlagen erklärt.

Gruß, noisefloor
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

xKushGene hat geschrieben:Da das aktuell Javascript ist und ich mir vorstellen kann, dass nun einige auf Javascript umsteigen eben um mehr Kohle zu verdienen, dachte ich mir, lernste doch Python?
Python ist keine Alternative zu Javascript. Ich kann mir kein Projekt vorstellen, wo man die Wahl hätte zwischen Python und Javascript. Man macht völlig unterschiedliche Dinge mit Python und Javascript.
xKushGene hat geschrieben:Doch was mir fehlt, sind die positiven Punkte, warum denn eigentlich Python ?
Es geht sehr schnell in Python reinzukommen. Man braucht nicht mit Programmen, Kompilieren und Pfaden in den Systemeinstellungen anfangen. Einfach eine Python-Konsole aufmachen und Code-Zeilen interaktiv ausprobieren.

Python hat eine sehr gute Mathematik-Anbindung. Ich nutze es als Alternative zu Matlab und mache damit Grafiken.
Bild

Python hat eine sehr gute C++ Anbindung (Swig). Ich nutze Python als Interface für meine C++ Anwendungen.

Python hat eine sehr gute Qt-Anbindung (PyQt). Ich entwickele mit Python viel schneller Qt-Anwendungen als mit C++, obwohl Qt ursprünglich für C++ gemacht wurde.

Python ist ein guter Shell-Scripting Ersatz (Linux).
a fool with a tool is still a fool, www.magben.de, YouTube
__deets__
User
Beiträge: 14543
Registriert: Mittwoch 14. Oktober 2015, 14:29

Pythons Staerke ist sicher seine Breite. Anders als viele andere Programmiersprachen, die nur in bestimmten Kontexten wirklich weit verbreitet sind, kannst du damit einen sehr grossen Teil von Softwareentwicklung abdecken. Sowohl in der Breite, als auch in der Hoehe. Soll heissen: es gibt fast kein Gebiet, auf dem es nicht einsetzbar ist (ja, OS-Entwicklung gehoert nicht dazu. Tut's aber auch nicht fuer C#, C++ etc...). Aber egal ob GUI, Web, Big Data, Computer Vision, DevOps - ueberall hat es Finger drin. Und du kannst mit kleinen Skripten anfangen, und grosse Systeme schaffen.

Ein weiterer Vorteil sind die vielen Paradigmen der Programmierung, die du mit Python nutzen kannst. Von simpler prozeduraler Programmierung ueber OO bis hin zu funktionalen Aspekten ist vieles da. Klar, es wird niemals eine pure funktionale Sprache ala Haskell, aber mit ein bisschen Disziplin kann man da durchaus viel funktional machen.

Nachteile sind Ausfuehrungsgeschwindigkeit, und fuer manche das fehlene statische Typisieren. Doch das ist halt auch genau verantwortlich fuer die Leichtigkeit der Programmierung. Bei groesseren Projekten muss man dann halt konsequent testgetrieben arbeiten, damit man da nicht die Kontrolle verliert. Ist dann aber auch viel einfacher als in anderen Sprachen.

Und lernen kannst du ruhig Python 3. Es gibt keine Anzeichen fuer ein Python 4, und dieser Tage ist es im Mainstream ausreichend angekommen.
xKushGene
User
Beiträge: 6
Registriert: Donnerstag 2. November 2017, 11:09

Wissenschaftliche Zwecke heißt viel Mathe?

Ich bin in Mathe leider nicht so gut weshalb ich mich am Anfang für C# entschieden habe (einfach nur Windows Fenster mit Funktionen eben).
Ich weiß leider noch nicht, in welche Richtung der programmierung ich gehen möchte. Aber sehr wahrscheinlich in Desktopprogrammierung.
Wie gesagt, habe ich extrem viel Gefallen daran gefunden, Windows Programme zu schreiben.

Nur Python könnte ich aktuell ganz gut lernen, ein Spiel was ich spiele benutzt Python als Client-sprache wo ich mich umschauen kann um es zu verbessern, ich nutze Discord und kann Discord Bots schreiben, oder eben auch Desktopanwendungen. Eben genug Python in meiner Freizeit würde ich sagen.

Webentwicklung mag ich nicht so wirklich, da ich Programmierer werde möchte um Programme zu schreiben und keine Webseiten, deswegen halte ich mich auch von PHP und JavaScript ein wenig fern, da mir Webseiten-"Programmierung" einfach keinen Spaß machen, auch wenn der aktuelle Markt was anders sagt.

Deswegen frage ich ja, was damit alles möglich ist bzw. was nicht.

Python soll ja auch für kleinere Rasperry PI Projekte gut sein. Und vermutlich wird diese Sprache in Zukunft sehr gefragt sein, wenn alles Digitalisiert wird (Haushaltsgeräte zum Beispiel), könnte ich mir vorstellen.

Ich möchte mir eben was für die Zukunft suchen, also womit ich später mein Geld verdienen kann. Und an sich bietet sich Python da ja sehr gut an, wegen meinen Freizeit-Möglichkeiten. Aber sollte Python wirklich nur für Wissenschaftliche Zwecke alias zu viel Mathe "gut sein", dann ist die Sprache vermutlich nicht die richtige für mich.
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@xKushGene: dass Python im wissenschaftlichen Bereich weit verbreitet ist, heißt nicht, dass man da zwangsläufig landet. Als reiner Programmierer wird man sowieso kaum in diesem Bereich unterkommen, außer man ist bereit, sich das ganze Hintergrundwissen anzueignen.

Auch wenn man für "große" Projekte vom Arbeitgeber genötigt wird, eine andere Programmiersprache zu benutzen, ist Python doch als Helfer für die kleinen Alltagsaufgaben sehr praktisch. Und was noisefloor schon geschrieben hat: im Vergleich zu anderen Programmiersprachen muß man viel weniger Code schreiben um das selbe zu erreichen und ist damit zwei- bis dreimal produktiver als z.B. mit C#.

Meiner Meinung nach sind Desktop-Anwendungen so gut wie tot. Gerade im geschläftlichen Bereich braucht man im Hintergrund immer Datenbanken und da ist der Schritt, auch die Anwendung als Server zu programmieren sehr klein; und die Vorteile überwiegen deutlich gegenüber einer Desktop-Anwendung.

@MagBen: und gerade in diesem Bereich konkurrieren Java, JavaScript, C# und Python sehr miteinander, weil alle quasi austauschbar sind.

@__deets__: Ausführungsgeschwindigkeit ist fast nie ein Problem, und falls doch gibt es heutzutage etliche Methoden in Python (schau Dir mal numba an) um native Geschwindigkeit zu erreichen (wenn sich der Aufwand lohnt).
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

xKushGene hat geschrieben:Wissenschaftliche Zwecke heißt viel Mathe?
Ja, das ist zumeist richtig. Python geht besonders bei "Data Sciences" zur Zeit richtig ab. Aber der Umkehrschluß, dass man Wissenschaftler sein muß, um Python zu lernen, ist falsch. Die mögliche Einsatzbreite ist eben sehr groß. Solange Du keine Device-Treiber schreiben möchtest, ist Python gewiss auch für Deine Zwecke geeignet.
xKushGene
User
Beiträge: 6
Registriert: Donnerstag 2. November 2017, 11:09

Wozu wird Python denn aktuell sonst genutzt?
Arbeitet hier jemand mit Python im Berufsleben, falls Ja, was genau macht man mit Python ?

Schade, dass Desktop Anwendungen vom Aussterben bedroht sind, da ich die Entwicklung dieser Programme wirklich mag.
Scheint wohl alles langsam (dank JavaScript bestimmt -.-) auf Webseiten gemacht zu werden.

Es ist mir wichtig, zu entscheiden, in welche Richtung ich gehen möchte, denn wie gesagt, ich bin im 3. Jahr und lange ist es nicht mehr (nächstes Jahr August), langsam muss ich mich für eine Richtung entscheiden und für eine Sprache und Python sieht an sich schon sehr interessant aus, Pluspunkt, weil es einfach zu lernen ist, wie überall geschrieben wird.
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

@xKushGene: Wenn die Wahl deiner Ausbildung eine Fehlentscheidung war, welche Dich auf vier Jahre festgelegt hat, so verzage nicht bei der Wahl der Programmiersprache. Damit legst Du Dich damit nicht unwiderruflich für die Zukunft fest. Innerhalb eines Jahres kannst Du anfangen zu lernen, wie Programmieren an sich funktioniert. Und Python ist dafür eine gute Wahl. Fang einfach an.
xKushGene
User
Beiträge: 6
Registriert: Donnerstag 2. November 2017, 11:09

Die Ausbildung war ja keine Fehlentscheidung, wie du sie verstehst.
Ich verdiene kein Geld (Privatschule) und einem wird nichts beigebracht (mein Dozent chillt meistens in seinem Büro und pennt, da dieser öfter unter Migräne leidet).

Programmierung macht mir Spaß, nur muss ich mir ALLES selber beibringen.

Aber ja, ich denke, ich werde einfach mal anfangen.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Webentwicklung mag ich nicht so wirklich, da ich Programmierer werde möchte um Programme zu schreiben und keine Webseiten,
Da hast du einen Denkfehler drin: Webentwicklung besteht bei nicht-trivialen Projekte aus Backend- und Frontend Entwicklung. Wenn du in der Backendentwicklung tätig bist, dann kommst du mit HTML und JavaScript normalerweise wenig in Berührung.

Bzgl. Desktop-Entwicklung sehe ich das wie Sirius3: absteigender Ast. Außer den Office-Suiten und den Browser gibt es doch kaum noch "klassische" Desktop-Anwendungen, die im größeren Maßstab eingesetzt werden. Dank der Leistungsfähigkeit der JavaScript Engines moderner Browser und der stetigen Entwicklung von JavaScript wird ja vielen in den Browser verlagert.
Wobei man mit Python schon Desktop-Progamme erstellen kann. Im Linux-Bereich gibt es einiges (an OpenSource Software), was in Python + Qt oder Python + GTK umgesetzt ist. Da die allermeisten Linux-Distros Python an Bord haben, ist das da auch kein Problem. Bein Windows muss man halt Python nachinstallieren.

Gruß, noisefloor
xKushGene
User
Beiträge: 6
Registriert: Donnerstag 2. November 2017, 11:09

Wie sieht ist das eigentlich genau mit der Python auf Windows Installation?
Zur Entwicklung klar, man benötigt Python.

Aber es gibt zum Beispiel ein Spiel, wo die Client Dateien in Python geschrieben sind, nur die Start Anwendung ist eine .exe Anwendung.
Für dieses Spiel ist aber nicht notwendig Python installiert zu haben.

Sowie ich das verstehe, greift die .exe (C# wahrscheinlich) auf die Python Dateien zu.
Oder verstehe ich das falsch?

Demnach könnte ich doch für Programme eigentlich eine C# Anwendung schreiben, welche die Python Dateien aufrufen etc. ohne Python auf dem PC installiert zu haben, oder verstehe ich das falsch?

Das ist auch so der Grund, weshalb ich Java nicht mag. Ich möchte nicht extra Java installieren, nur damit ich ein Java Programm starten kann.
Windows hat standart .NET Frameworks, weshalb die Installation da ja nicht nötig ist, da Standartmäßig installiert (einfachere Nutzung der User eben).
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@xKushGene: Bei Deinem Spiel (wahrscheinlich C++), ist Python integriert (was ohne große Schwierigkeiten speziell mit Python geht), das Python inklusive seiner ganzen Bibliotheken ist also irgendwo zwischen den ganzen Dateien, die das Spiel sonst noch mitbringt, versteckt und wird automatisch mitinstalliert.

Für Stand-alone Pythonprogramme gibt es Tools, die das ganze in eine Exe-Datei verpacken, so dass man das Programm ohne explizite Python-Installation benutzen kann.

C#-Programme installieren meist auch ihre Laufzeitumgebung im Hintergrund mit, oder man muß es sogar explizit von irgendeiner MS-Seite herunterladen. Dann hat man irgendwann 10 verschiedene Versionen von .NET-Runtimes installiert, also auch nicht wirklich besser als Java.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

@xKushGene: wenn du (erfolgreich) Programmieren willst, dann solltest du auch von deinem "Mikrokosmos" C# + Windows + Desktop weg kommen. Klar ist .NET der Standard unter Windows und das ist "am einfachsten", weil Microsoft das so will.
Wenn du das als "Entscheidungsgrundlagen" nimmst, dann willst du unter Windows so wie so nichts anders als .NET nutzen.
BTW: es gibt auch für .NET eine Python Implementierung names IronPython. Allerdings glaube ich nur für Python 2.7, nicht für Python 3.

Den Nachteil, den du hast, wenn du alles in eine .exe Datei packst, hast Sirius3 schon geannt: da hast am Ende wahrscheinlich X Runtimes (oder X Python-Interprter) in verschiedenen Versionen auf deinem Systme installiert und weiß es noch nicht mal.

Was IMHO auch für deine Zukunft als Programmierer wichtig ist, ist, dass du dich schon mal mit Linux Systemen anfreundest. Im Server-Bereich ist sehr viel verbreiteter als auf dem Desktop. Und die Programminstallation / Paketverwaltung läuft unter Linux komplett anders (IMHO: um Welten besser) als unter Windows. Da ist z.B. das direkte ausführen von Python-Programmen kein Problem, weil so gut wie alle Linux-Distribution einen Python-Interpreter OOTB an Bord haben.

Gruß, noisefloor
__deets__
User
Beiträge: 14543
Registriert: Mittwoch 14. Oktober 2015, 14:29

Sirius3 hat geschrieben:@xKushGene: Bei Deinem Spiel (wahrscheinlich C++), ist Python integriert (was ohne große Schwierigkeiten speziell mit Python geht)
Als jemand, der genau das fuer eine Desktopanwendung tut kann ich da leider nur milde laecheln. Klar geht es, aber es ist mit erstaunlich viel Arbeit verbunden. Weder das build-system noch einige andere Details machen es einem da leicht. Grosses Kino war zB die re-definition von tolower-Macros in Python.h in frueheren 2.7 und 3.x-er Versionen, bei denen einem unter dem Mac dann aller moeglicher Code um die Ohren geflogen ist. Da haben wir einige Wochen investieren muessen, bis das so geklappt hat.

Der umgekehrte Weg ist deutlich einfacher - C oder C++ in Python verwenden. Worauf auch der Erfolg Pythons in so vielen diversen Feldern basiert.

Fuer die Entscheidung Python zu lernen sollte diese Fortgeschrittene Thema allerdings erstmal keine so grosse Rolle spielen. Wie andere hier schon gesagt haben: wenn du erwartest das gleiche Ausmass an Integration in das MS Oekosystem wie .NET zu bekommen, angefangen vom GUI-Builder bis zur VS IDE, dann wirst du enttaeuscht werden.
xKushGene
User
Beiträge: 6
Registriert: Donnerstag 2. November 2017, 11:09

Also Python kann ich auch in der VS IDE schreiben (mache ich auch gerade ^^).
Ja das war mir klar, dass Python da wahrscheinlich nicht so prickelnd ist, weshalb ich mich eben auf Programme mit Kommandozeile beschäftige oder eben das rumprobieren an dem Clienten des Spiels. Oder eben einen Discord Bot, welcher über einen Server läuft.

Das wäre so die Freizeitbeschäftigung, die ich in Betracht ziehe, womit ich mir Python beibringen kann.
Blöd nur, dass der Client von dem Spiel Python 2.7 verwendet, aber vielleicht schaffe ich es ja mit ein bisschen Übung, den Client auf Python 3 zu updaten.

Und ja, die .exe ist in C++ geschrieben wie es scheint.
Hatte nur die Vermutung, weil ich bisher immer dachte, .dll und .exe = C#. Und C++ wäre halt .cpp. Wusste nicht, dass C++ auch mit .exe zu öffnen ist.

Aber wie ihr schon meintet, dass kommt dann später.

Zu meiner Frage mit den Verschlüsselungen wurde leider noch nichts gesagt, wie sieht es da aus?
Das Spiel hat eine md5 Verschlüsselung, was es auch nötig hätte mal auf SHA512 zu ändern + salting.
Ist das möglich ? Braucht man dafür extra "Module" ? usw.

Kurz und Knapp, wie sieht es mit der Sicherheit / Verschlüsselung bei Python Programmen aus?
Bzw. auch eine sichere Verbindung zu einer Datenbank aufzubauen (geht das denn in Python oder ist das dann ehe der C++ teil? Da Python ja eine Scriptsprache ist)
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@xKushGene: Python und Verschlüsslung geht mit der passenden Bibliothek; wie es für fast alles eine Bibliothek gibt. Wenn es um rechenintensive Dinge geht (wie Verschlüsslung) wird fast immer eine Bibliothek benutzt, die in C, C++ oder gar Assembler geschrieben ist. Das ist bei C#, Java oder sonst einer VM so.
Hashes zu berechnen ist sogar im Standardumfang mit dabei. Bei einem Embedded Python eines Spiels irgendetwas ändern zu wollen, ist fast aussichtslos, denn die bringen meist ja nur eine abgespeckte Version mit, die, wie schon geschrieben, fest eingebunden ist.

.exe ist nur eine Dateiendung, hinter der sich verschiedene Formate verbergen können. Das sind entweder nativ kompilierte Programme, oder eben welche die auf der .NET-VM basieren.
__deets__
User
Beiträge: 14543
Registriert: Mittwoch 14. Oktober 2015, 14:29

Da geht noch einiges durcheinander.

Zuerstmal hat Python eine ganze Reihe von hashing-Algorithmen standardmaessig verfuegbar. Wenn ich mich nicht taeusche, dann einfach via OpenSSH implementiert (das ist eine Build-Abhaengigkeit von Python).

Dann gibt es noch Zusatzpakete wie cryptography die man sich installieren kann.

Grundsaetzlich hat Python damit alle Moeglichkeiten, die auch ein C++-Programm hat, um Daten zu ver- und entschluesseln. Und bei einer sicheren Netzwerkverbindung geht es ja auch nur darum, die Datenpakete die verschickt werden, vor dem Zugriff 3ter zu schuetzen.

Ganz anders sieht das wiederum aus, wenn man zB fuer Lizenzpruefung einer Software auf kryptographische Verfahren setzt. Da ist die landlaeufige Meinung, dass C++ "sicherer" sei, weil es ja kompiliert ist. Wohingegen C# und Python nur Byte-Code kennen, der leichter zu dechiffrieren ist.

Doch das ist im Grunde nur eine Frage des Aufwandes -wirklich geschuetzter sind C++ Programme nicht, wenn man da mit Profi-Tools wie IDA-Pro und etwas Ellenbogenschmalz rangeht.

Dann ist eine EXE eine ausfuehrbare Datei, und eine DLL eine dynamisch nachzuladende Bibliothek. Das ist keinerlei Aussage darueber, wie die Zustande gekommen ist, sprich mit welcher Sprache. Es gibt sogar die Moeglichkeit mit Python C-FFI-kompatible DLLs zu programmieren. Wird nicht oft gemacht, aber geht (oder ging, lange nicht mehr drauf geschaut) mit "Elmer".

Und last but not least kannst du dein Spiel garantiert nicht irgendwie auf Python 3 hieven. Das ist binaer da integriert (ob direkt eingelinkt, wie bei unserer Software, oder als DLL nachgeladen spielt dabei keine Rolle). Das kannst du nicht einfach aendern.

Es ist aber auch kein echter Grund zu erkennen. Bei allen Unterschieden, auch wenn du Python 3 lernst, kannst du das mit wenig Aenderungen in dem speziellen und sicher auch eher beschraenkten Umfeld des Spieles anwenden.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

xKushGene hat geschrieben:Wozu wird Python denn aktuell sonst genutzt?
Arbeitet hier jemand mit Python im Berufsleben, falls Ja, was genau macht man mit Python ?
Wir (Zalando) nutzen Python für Data Science, Machine Learning, Optimierungsprobleme, Web Anwendungen (was i.d.R. nichts mit HTML oder Webseiten zu tun hat), Crawling, (interne) Tools für Entwickler, usw.

Von weniger wichtigen kleinen Skripten die du am Ende des Tages vergessen hast bis hin zu komplexen Anwendungen die für fast alle Discounts verantwortlich sind, findest du alles mögliche in Python.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

@xKushGene :wenn du verschiedenen Programmiersprachen und deren Paradigmen kennen lernen willst, dann ist das Buch "Seven Languages in Seven Weeks" sehr empfehlenswert (Link). Damit lernt man zwar keine Programmiersprache "richtig", sieht aber sehr gut die unterschiedlichen Ansätze von z.B objektorientierter und funktionaller Programmierung oder auch Logikprogammierung.

Da Buch ist schon ein paar Jahre alt, kriegst du also auch sicherlich günstig(er) gebraucht.

Gruß, noisefloor
Antworten