Python als Einstieg in die Programmierung?

buebo

Well-Known Member
Hallo,
da meine Semesterferien vermutlich zum groessten Teil auf Balkonien verlaufen werden habe ich mir vorgenommen endlich mal einen Einstieg in's Programmieren zu finden. Mir wurde von einigen Seiten Python genau dafür empfohlen, wobei ich mir noch nicht ganz sicher bin ob es denn wirklich mein Geschmack trifft.
Hier mal etwas Input darüber was ich mir eigentlich erwarte:

Schnelle Ergebnisse
Ich bin ein fauler und wankelmütiger Mensch mit schlechtem Kurzzeitgedächtniss, deswegen brauche ich direktes Feedback, sonst verliere ich die Motiviation oder verhakel mich irgendwo. Deswegen suche ich eine Sprache die mir so oft wie möglich und so unkompliziert wie möglich Feedback gibt.

Einfach und Elegant
Ich werde wohl kaum auf die Idee kommen in die Kernel oder Spiele-Programmierung einzusteigen, viel eher würden mich kleine Tools und Gadgets intressieren, aber dabei will ich mich nicht größer um Performance und ähliches kümmern, sondern relativ flüssig und auf dem einfachsten Weg mein Prog zusammenstellen.

Einfache GUI-Programmierung
Für meine Tools&Gadgets würde ich gerne eine nette GUI haben, auch hier ist Performance nicht die Frage, sondern viel mehr die das ich dort ohne viel Umstände hinkomme.
In meinem Kopf habe ich allerdings die Vorstellungen das sich GUI und Scriptsprache widersprechen, liege ich da falsch?

Scripten
Auf meinen Unix-Systemen gibt es eigentlich immer Sachen die sich automatiesieren lassen, nach meinem Eindruck ist das die Domäne von Shell-Scripts oder Perl, kann Python da mithalten?

Cross-Plattform
Im Moment habe ich hier Windows, FreeBSD und OpenBSD am laufen, Weinachten kommt noch ein Mac dazu, ab und an kommt auch noch mal ein Freund mit Linux vorbei, idealerweise läuft alles auf allem ohne Anpassungen, realistischerweise währe ich auf zufrieden wenn sich die Anpassungen auf Pfade und im Falle von Windows auf Pfade und die GUI reduzieren.

"Un-Mathematisch
Ich bin eigentlich kein schlechter logischer Denker, allerdings liegen meine Stärken nicht in der Mathematik so das ich einen Horror davor habe in meinem Programm irgendwelche Speicherberreiche oder ähnliches festzulegen.
Ich schätze mal das es bei Python sowieso nicht zutrifft, wollte es nur mal festgestellt haben ;)

Spaß an der Sache
Ich gebe zu das es jetzt extrem subjektiv wird, aber ich habe es sehr gerne wenn ich den Eindruck habe das ein Werkzeug nicht sperrig und unflexibel ist, sondern gut zu benutzen ist und genau deswegen Spaß macht.

Ich habe so den Eindruck das ich hier die Eierlegende Wollmilchsau beschreibe, allerdings haben ich nach einigem Lesen den Eindruck gewonnen das Python genau diese Eigenschaften für sich in Anspruch nimmt, wobei ich mir allerdings bei den GUIs nicht ganz sicher bin.
Nun euer Einstieg, jemand in dem Berreich Alternativen anzubieten oder schon Erfahrungen gesammelt? Klährt mich auf :-)

Gruß
buebo
 

current

BSD Fan
Hallo,

ein paar Bemerkungen zu Deinen Aussagen:

- die Wahl einer Scriptsprache zum Einstieg in die Programmierung finde ich gut. Ich persönlich würde Dir eher zu Ruby raten, aber gerade das ist ein Punkt über den sich trefflich streiten lässt...

- GUI's sind kompliziert. Lass dich davon nicht abschrecken, aber erwarte da eine steile Lernkurve.

- wenn Du "richtig" programmieren willst, wirst du ein gewisses "algorithmisches Denken" lernen müssen. Dazu gehört auch ein mathematisches Grundverständnis, um die Konzepte zu verstehen.
 

roman

Well-Known Member
ich schliesse mich der meinung meines vorgaengers an. python ist gut geeignet zum einstieg, selbst die gui sachen sind dort sehr einfach zu erlernen.
 

ExRevel

geek
hi...

also, ich bin der absolute interpretersprachen (sagt bitte net scriptsprachen, sann naemlich keine) fanatiker! Ich schreib seit ueber 2 jahren perl und nu a etwas python, neben c. also ich kanns auch nur empfehlen damit einzusteigen, denn es erfuellt eigentlich all deine forderungen.

Lass dich auch nicht von leuten abhalten, die meinen das waeren keine programmiersprachen, die kennen sich nur net aus und haben keine ahnung von der compilerinterna. :(

Also ich wuensche viel erfolg!

ciao Exi
 

KarstenL

E.S.B.S.V.
also ich hab mit perl angefangen und muss sagen, dass ich diese sprache bevorzuge.
sie kann schön in shell scripte eingebaut werden.
und mit dem perl/tk paket lassen sich wunderbar und schnell grafische oberflächen programmieren.

perl ist eine sehr flexible sprache, die reguläre ausdrücke, verschiedenste mail zugriffsmöglichkeiten und so weiter und so fort zur verfügung stellt.

ausserdem hat o'reilly einige perl bücher zum download ins netz gestellt, sodass sich (gute) literatur günstig beschaffen lässt.

ExRevel: also es sind schon programmiersprachen, nur dass die langsamer sind als c oder so. aber ich empfinde das programmieren in perl als wesentlich angenehmer als in C/C++
 
Zuletzt bearbeitet:

ExRevel

geek
Ja, da hast du natuerlich recht, C und C++ sind schneller, aber man kann auch wesentlich langsamer kleine effiziente Programme schreiben. Deswegen ist eine Mischung eine gute loesung. Ich binde Perl in C ein und von Zeit zu Zeit auch anders herum. Funktioniert gut!

Naja... wir schweifen ab! :) Also nimm Perl oder Python und du wirst zufrieden sein!

ciao Exi
 

buebo

Well-Known Member
Jetzt muss ich nur noch schnell die restliche Zeit vom Semester rumbringen, meine Prüfungen durchstehen und dann kann der Spaß beginnen ;-)
Danke für's Feedback, Python ist damit definitv!

buebo
 

oenone

Well-Known Member
Original geschrieben von ExRevel
also, ich bin der absolute interpretersprachen (sagt bitte net scriptsprachen, sann naemlich keine) fanatiker!
[...]
Lass dich auch nicht von leuten abhalten, die meinen das waeren keine programmiersprachen, die kennen sich nur net aus und haben keine ahnung von der compilerinterna. :(
full ack, zumal sich alle interpretersprachen auch kompilieren lassen. scriptsprachen lassen sich nicht kompilieren.

python, perl, ruby, tcl und die ganzen anderen interpretersprachen werden nur deshalb vorzugsweise interpretiert eingesetzt, weil dies die plattformunabhängigkeit erhöht. außerdem sind die programme kleiner, sofern der interpreter vorhanden ist.

ich mag python auch sehr :)

auf bald
oenone
 

buebo

Well-Known Member
Als Neuling auf dem Gebiet wuerde mich doch nun wirklich mal intressieren wo denn der Unterschied liegt?
Scriptsprachen lassen sich nich kompilieren, Interpretersprachen schon...?
 

ExRevel

geek
Ok, dann will ich mal dazu schreiben was ich so weiss! :) Also, Aus windows kennen wir VisualBasic Script und wir kennen JavaScript, Bash, Batch... all diese Sprachen sind dazu gedacht kleine Scripte zu schreiben die einem alltaegliche aufgaben erleichtern sollen, sie lassen sich nur starten, wenn ein interpreter vorhanden ist und es gibt auch keine Compiler fuer diese Sprachen!

Schauen wir uns dazu mal Perl an (kenne ich mich am besten mit aus)... Perl hat einen viel groesseren Umfang als zum beispiel Bash, und der Interpreter ist vollkommen anders aufgebaut als der einer echten scriptsprache... Scriptsprachen werden eingelesen und meist Zeilenweise interpretiert, damit sind sie eingeschraenkt... der Perlinterpreter ist ein "On-The-Fly" Compiler... er liest die Datei ein, vollkommen, und dann wird sie in bytecode umgewandelt und erst dann ausgefuehrt, damit ist es moeglich auch module mit einzubauen und die programme sind schneller. Also Scriptsprachen werden nicht compiliert und zeilenweise abgearbeitet, Interpretersprachen werden meist in bytecode umgewandelt und dann dynamisch ausgefuehrt. Und, es ist auch noch moeglich sie zu binaries zu compilen.

Wenn i was falsches gesagt habe haut mich! :)

ciao Exi
 

oenone

Well-Known Member
kann dir da nur zustimmen ^^

eine scriptsprache muss nicht mal alle merkmale einer programmiersprache besitzen ;)
 

MrFixit

aka uqs
Python lernen, oder Programmieren lernen?

Also es kommt drauf an, was du erreichen willst. Wenn du dich nur mit Python/Perl/Ruby auskennen willst, dann ist das sicher der richtige Weg. Willst du C/C++/Java erlernen, dann kannst du das genauso machen.

Willst du aber wirklich das "Wesen" des Programmierens erlernen, dann beschaeftige dich lieber mit Smalltalk und Eiffel (OOP) und diversen CaML Ablegern (Funktional). Fuer regelbasiertes Programmiern nimmt man natuerlich LISP.

Fuer iteratives Programmieren sollten man sich auch mal kurz mit Assembler befassen, damit man das fehleranfaellige Zeug wenigstens auf Schnelligkeit optimieren kann.

PS: Nein, ich kann auch nicht funktional/regelbasiert/objektorientiert programmieren. Ich sehe mich allerdings auch nicht als Programmierer.
 
Oben