Was kann man mit Python und wo sind die Grenzen?

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
FlashVim
User
Beiträge: 5
Registriert: Donnerstag 9. Juli 2015, 19:43

Hey Leute,

ich habe mir vorgenommen mit programmieren anzufangen und mir wurde nicht nur von einer Seite empfohlen mit Python anzufangen. Es soll vor allem Anfänger freundlich sein, doch keinesfalls eingegrenzt in seinen Möglichkeiten. Ihr müsst verzeihen, dass ich so ungebildet bin was den ganzen Programmierbereich angeht, deshalb beschränkt sich mein anliegen nicht nur auf die Überschrift. Ich Liste einfach mal alle meine Fragen auf, ich danke jedem der Antwortet.

Was kann man mit Python programmieren und was nicht?

Für was sind andere Programmiersprachen besser geeignet und warum genau sind diese besser geeignet?

Ich lerne Python zur Zeit bei "codecademy", gibt es bessere Möglichkeiten Python zu Hause zu erlernen, oder ist das schon ein guter Anfang?
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Alle Programmiersprachen Grenzen dich in der Praxis ein. Du wirst in Python z.B. nicht wirklich in der Lage sein Treiber oder Kernel zu schreiben. Für letzteres würdest du C brauchen, was allerdings nicht sonderlich gut für Webanwendungen geeignet ist.

Dazu kommt dass die Sprache selbst noch nicht einmal so eine große Rolle spielt. Ruby und Python sind z.B. sehr ähnlich und obwohl sich Python sehr gut für wissenschaftliches Rechnen eignet, sieht es bei Ruby da sehr schlecht aus. Das liegt einfach davon dass sich Leute im Python Umfeld dafür schon eine riesige Menge von Libraries und Tools geschrieben haben.

Die Grenzen die es gibt sind allerdings bei den meisten Sprache so klein, dass sich deine recht allgemeinen Fragen darauf nicht wirklich konkret beantworten lassen. Gerade als Anfänger wirst du an diese Grenzen aber ohnehin nicht so schnell stoßen und das Wissen was du mit einer Sprache lernst, lässt sich sehr gut auf andere Sprachen übertragen. Du musst also keine Angst davor haben in einer Sackgasse zu enden weil du mit der "falschen" Sprache angefangen hast.

Ich kann zu codecademy nichts sagen, grundsätzlich wird aber für Python in der Regel Learn Python the Hard Way (LTPHW) empfohlen, was anders als der Name suggerierst sich an Anfänger richtet und alles andere als "hard" ist.
FlashVim
User
Beiträge: 5
Registriert: Donnerstag 9. Juli 2015, 19:43

Wenn ich jetzt z.B. Lust habe eine Spielengine oder sowas wie Photoshop zu programmieren, kann ich das dann mit Pyhton?
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Für eine Spielengine wäre C++ die erste Wahl, wenn du experimentierfreudig bist wäre Rust da vielleicht auch noch eine Option. Zumindest wenn dein Ziel ist etwas zu bauen dass in Richtung kommerzieller Engines geht. Es gibt allerdings auch durchaus auch Spiele die Python nutzen wie Eve Online (zumindest teilweise) und den ein oder anderen Minecraft Klon wirst du auch finden. Das hängt also schon recht stark davon ab wo genau du hin willst.

Bei Photoshop spielt Performance in vielen Bereichen ja erstmal keine große Rolle. Die Bereiche in denen sie eine große Rolle spielt lassen sich sicherlich gut isolieren. Insofern bietet es sich an dort mehrere Sprachen zu benutzen z.B. C++ für aufwendige Algorithmen und Python für das GUI. Wenn man sehr gute GUIs haben will, sollte man aber wohl ohnehin die Platform nativen Sprachen und Frameworks nutzen, insofern würde man da wohl C#, Objective C/Swift und C/C++ nutzen für Windows, OS X und Linux (GTK, Qt).

Beides sind aber Projekte die selbst einem in diesen Bereichen erfahrenen Programmierer Monate bis Jahre kosten würden, wenn man es überhaupt schafft aufzuholen.
FlashVim
User
Beiträge: 5
Registriert: Donnerstag 9. Juli 2015, 19:43

Ich meine ob das theoretisch Möglich wäre, von anderen Programmiersprachen mal abgesehen.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Theoretisch gibt es bei keiner Programmiersprache irgendwelche Grenzen, von kleineren Problemen wie dem Halteproblem mal abgesehen.
FlashVim
User
Beiträge: 5
Registriert: Donnerstag 9. Juli 2015, 19:43

Was meinst du mit Halteproblem?
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Benutzeravatar
Kebap
User
Beiträge: 687
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Ja, das ist alles mit Python möglich, aber eigentlich will man ja nicht das Rad zu oft neu erfinden. Hast du denn irgendein kleineres Ziel, was du mal Programmieren willst? Ist das deine erste Sprache? Dann lernst du ja eigentlich zwei Sachen: Die Sprache und das Programmieren an sich. Das Buch von DasIch kann ich auch empfehlen! Willkommen an Bord.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
FlashVim
User
Beiträge: 5
Registriert: Donnerstag 9. Juli 2015, 19:43

Ja, es ist meine erste Programmiersprache. Ich möchte, nach dem ich Python mehr oder weniger kann, auch mit HTML oder PHP bzw. Webdesign anfangen. Ein eigenes Programm habe ich zur Zeit nicht im Kopf. Ich möchte einfach die Möglichkeit haben alles zu programmieren wozu ich Lust habe.
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

FlashVim hat geschrieben:Wenn ich jetzt z.B. Lust habe eine Spielengine oder sowas wie Photoshop zu programmieren, kann ich das dann mit Pyhton?
Python ist eher dafür gemacht in einer Spieleengine (z.B. Blender) oder in in einem Grafikprogramm (z.B. Gimp) benutzt zu werden.

Ich entwickle in Python und in C++ und vor ein paar Jahren habe ich viel mit Java gemacht. Der wesentliche Unterschied zwischen diesen Sprachen ist die Produktivität, da liegt bei mir jeweils ein Faktor 2 dazwischen. Wenn ich für etwas mit Python 1 Stunde brauche, dann brauche ich mit Java dafür 2 Stunden und mit C++ 4 Stunden. Deshalb finden viele C++ Entwickler Python so stressig, man kommt zu so vielen verschiedenen Sachen am gleichen Tag.
a fool with a tool is still a fool, www.magben.de, YouTube
Antworten