Wofuer eignet sich 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
bandy
User
Beiträge: 1
Registriert: Sonntag 18. März 2012, 00:26

Sonntag 18. März 2012, 00:32

Hallo,

wuerde gerne wissen, was man mit Python so alles programmieren kann und wie erlernt man es am Besten?
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Sonntag 18. März 2012, 00:42

Man kann sehr vieles in Python programmieren. Auch wenn ich darin lieber keine systemnahen Treiber schreiben würde. Wirf doch mal einen Blick auf alle bekannteren Python-Projekte, dann dürftest du in etwa erahnen wie vielseitig es ist.

Wie man es am Besten erlernt? Indem man möglichst viel darin programmiert, die Prinzipien beherzigt und einen weiten Bogen um schlechte Python-Bücher macht. Ich hoffe das waren jetzt nicht allzu offensichtliche Informationen :mrgreen:
Benutzeravatar
/me
User
Beiträge: 3246
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Sonntag 18. März 2012, 09:54

bandy hat geschrieben:wuerde gerne wissen, was man mit Python so alles programmieren kann und wie erlernt man es am Besten?
Man kann sehr viel damit programmieren, wobei man für sehr zeitkritische Sachen wohl eher auf einen andere Programmiersprache ausweichen sollte wenn es für die gedachte Aufgabe kein hinreichend schnelles Python-Modul gibt.

Zum Lernen kannst du beispielsweise das Tutorial verwenden.
BlackJack

Sonntag 18. März 2012, 09:56

@bandy: Da Python eine vollwertige Programmiersprache ist, kann man damit theoretisch alles programmieren. Praktisch gibt es natürlich ein paar Einschränkungen, zum Beispiel bei sehr systemnaher Programmierung oder wenn man nur sehr wenig Speicher oder Rechenleistung zur Verfügung hat.

Wenn sich etwas in reinem Python nicht lösen lässt, findet man oft Anbindungen an Bibliotheken, die in anderen Sprachen geschrieben sind, oder man kann sich solche Bibliotheken schreiben. Dann kann man zum Beispiel sogar so systemnah werden, dass man einen Dateisystemtreiber mittels FUSE-Anbindung in Python schreiben kann.
Benutzeravatar
jens
Moderator
Beiträge: 8487
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Montag 19. März 2012, 09:55

Also was Python für mich besonders auszeichnet:
* OpenSource
* Plattformunabhängig
* Flexibel u.a.: Lokale Skripte, GUI-Programme, Web-Apps
* klare Syntax
* leicht zu verstehen bzw. erlernen

Links für den Einstieg:

http://wiki.python.de/FAQ#Wie_fange_ich ... iger_an.3F
http://wiki.python.de/Wer%20nutzt%20Python
http://wiki.python.de/F%C3%BCr%20Umsteiger

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Montag 19. März 2012, 10:24

Gibt's nirgends eine Übersicht der "Leuchtturm"-Module von Python?
Für Wissenschaftler/Studenten z.B. Numpy, pylab/matplotlib, SimPy, oder alles zusammen: Sage
Benutzeravatar
jens
Moderator
Beiträge: 8487
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Montag 19. März 2012, 10:27


CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
snafu
User
Beiträge: 5835
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Montag 19. März 2012, 13:37

mkesper hat geschrieben:Gibt's nirgends eine Übersicht der "Leuchtturm"-Module von Python?
Für Wissenschaftler/Studenten z.B. Numpy, pylab/matplotlib, SimPy, oder alles zusammen: Sage
Und für Webmenschen wohl Django. Solche allgemein gehaltenen Fragestellungen führen aber doch eh zu nix. Der OP soll mal konkreter sagen, was er programmieren möchte.
Benutzeravatar
Kebap
User
Beiträge: 418
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Montag 19. März 2012, 16:01

bandy hat geschrieben:Hallo,

wuerde gerne wissen, was man mit Python so alles programmieren kann und wie erlernt man es am Besten?
Hallo, hast du schon mal programmiert? :mrgreen:
MorgenGrauen: 1 Welt, >12 Gilden, >85 Abenteuer, >1000 Waffen und Rüstungen,
>2500 NPC, >16000 Räume, >170 freiwillige Programmierer, einfach Text, seit 1992.
lupus51
User
Beiträge: 5
Registriert: Freitag 23. März 2012, 16:58

Freitag 23. März 2012, 17:10

hallo an erfahrende programmierer
Also, bevor ich in python einsteige, möchte ich ja gerne wissen,
ob das die lösung meiner "probleme" ist .

mein background : bisher pascal,basic und letztendlich java-se
sowie im web mit php,javascript mit db-anbindung oracle,mss-sql-server,mysql

fuer cloud-programmierung (bsiher php) suche ich etwas mit db-anbindung und einer
"BROWSER-UNABHÄNGIGEN" GUI !!!!
JAVA-EE und das ganze drumherum erscheint mir hochkomplex, flache Lern-u. Erfolgskurve
(wenns dann mal überhaupt klappt...)

komme ich da mit python eher und mit mehr spass ans ziel ?
bin auch nicht mehr der jüngste..

oder gibts sonst ne alternative ?

gruß
Benutzeravatar
jens
Moderator
Beiträge: 8487
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Freitag 23. März 2012, 17:14

Weiß nicht, was du an Web Sachen machen willst. Ein großes (wenn nicht sogar das größte) Framework ist Django: https://www.djangoproject.com/

Kannst du dir ja mal ansehen.

Links für den Einstieg, sind ja weiter oben noch zu finden: http://www.python-forum.de/viewtopic.ph ... 21#p218421

Ansonsten vielleicht interessant:
http://wiki.python.de/Unterschiede%20zu%20PHP

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

Freitag 23. März 2012, 18:26

@lupus51: Was meinst Du mit browserunabhängiger GUI (und warum schreist Du das so)? Reden wir jetzt trotzdem noch von einer GUI im Browser oder von Desktopanwendungen? Wobei PHP und „Cloud” jetzt eher auf Server als auf Desktop hindeutet. Dann ist die GUI doch aber sowieso keine Frage der Programmiersprache des Backends, sondern müsste im Browser laufen, was es eigentlich auf JavaScript, oder Sprachen die nach JavaScript kompilieren, für die GUI einschränkt.

Wenn es um dynamische, objektorientierte Sprachen geht, käme vielleicht Ruby noch als Alternative in Frage.
lupus51
User
Beiträge: 5
Registriert: Freitag 23. März 2012, 16:58

Samstag 24. März 2012, 08:30

es geht inder hauptsache um cloud-anwendungen :

Damit meine ich, wie unterschiedlich die Browser in diversen Generationen und plattformen
mit positions- und größenangaben in html,css usw. umgehen
(php wird ja eigentlich auch nur in html "eingebettet") ..eine wirklich hilfreiche GPL-Anwendung zu
formularaufbau und -handling habe ich noch nicht gefunden

bei java bzw applets habe ich ja eine eigene GUI, die man z.b. in einen html-frame einbettet.
position und groesse sind dann nur an einer stelle browserkritisch, das möglicherweise sehr komplexe
java-formular hat aber immer das gleiche aussehen..nur kann man mit applets zuwenig machen kraft konzept.

bei python bzw. django würde ich mir eben diese java-ähnliche darstellungsmöglichkeit wünschen;
ok, ruby : weiß noch nich , guck ich auch mal.

danke schon mal für euer interesse
Benutzeravatar
/me
User
Beiträge: 3246
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Samstag 24. März 2012, 08:44

lupus51 hat geschrieben:es geht inder hauptsache um cloud-anwendungen :
"Cloud" ist in erster Linie Marketing-Gefasel und erst danach eins von mehreren möglichen Konzepten. Von der Klarheit deiner Beschreibung her handelt es sich in diesem Fall um ersteres.
lupus51 hat geschrieben:bei python bzw. django würde ich mir eben diese java-ähnliche darstellungsmöglichkeit wünschen;
Das Konzept von Java-Applets gibt es in der Form in Python nicht. Die vorhandenen Webframeworks generieren im Allgemeinen HTML das an den Client ausgeliefert wird.
BlackJack

Samstag 24. März 2012, 11:16

@lupus51: Bezüglich dem Begriff „Cloud” würde ich mich /me anschliessen wollen. Was Du möchtest ist eine Webanwendung. Der Begriff ist schon länger etabliert und bezeichnet im Gegensatz zu dem — man verzeihe mir das Wortspiel — recht wolkigen, nebulösem „Cloud”-Begriff ein schärfer umrissenes Konzept: Anwendungslogik auf dem Server und GUI beim Client im Browser.

Grundsätzlich könnte man im Browser auch andere Techniken als HTML, CSS, und JavaScript verwenden, aber für die braucht man jeweils Plugins (Java, Flash, Silverlight, …) die nicht überall zur Verfügung stehen und IMHO auch alle mehr oder weniger am aussterben sind und durch HTML5 verdrängt werden.

100% pixelgenaue Kontrolle könnte mit HTML und CSS zwar theoretisch möglich sein, aber es ist IMHO gar nicht erforderlich. Bei Desktop-Anwendungen ist es ja auch so, dass man die Elemente definiert und sie in Layout-Managern anordnet, und die konkrete Grössen dann diesem überlässt.

Ich bin mir ziemlich sicher das es auch für PHP etwas zum Erstellen und Verarbeiten von Formularen geben muss.

Django hat das `forms`-Modul: https://docs.djangoproject.com/en/dev/topics/forms/

Es gibt auch alleinstehende Bibliotheken wie beispielsweise WTForms: http://wtforms.simplecodes.com/docs/dev/

Die kann man auch mit Django verwenden, aber auch wenn man die ganze Infrastruktur von Django nicht benötigt, mit Mikrorahmenwerken wie Bottle (http://bottlepy.org/docs/dev/) oder Flask (http://flask.pocoo.org/).

Wenn die GUI beeindruckend, GPL, und halbwegs moderne Browser voraussetzen darf, dann könntest Du auch mal einen Blick auf ExtJS werfen: http://www.sencha.com/products/extjs/ Das ist unabhängig von der Backend-Programmiersprache.
Antworten