• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Python lernen

  • Ersteller Gelöschtes Mitglied 1550
  • Erstellt am

Gelöschtes Mitglied 1550

Guest

G
Hi Leute,

kurz zu mir: 22 Jahre alt, Fachinformatiker für Systemintegration, gute Kentnisse im Bash-Skripting und mit Linux.

Nun möchte ich, da die Bash doch sehr begrenzt ist, mal etwas tiefer in die Programmierung einsteigen und mir Python im Eigenstudium beibringen. Gibt es hier irgendwelche Tipps und Tricks für den Anfang? Bücher, Videotutorials, ... keine Ahnung.

Edit: oder ist es sinnvoller, mit PHP anzufangen? Ziel ist es letztlich, Webanwendungen bereit zu stellen, die im Hintergrund Files einlesen, in die Datenbank kippen, anzeigen, ...

Danke!
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.573
Ich würde dir Vorschlagen mit Python 2.7.x anzufangen, da du später mehr Möglichkeiten hast, 3rd Party Bibliotheken zu verwenden, die mit Version 3 meist (noch) nicht kompatibel sind. Auch ist die Umstellung von 2 auf 3 leichter als den anderen Weg zu gehen.

PHP als Einsteigersprache ist nicht wirklich geeignet. Mit Python deckst du mehr Programmiersprachen ab, als du vorerst denken magst durch den Syntax, Formatierung und allgemeinen Coding Style.
Ich würde das im Auge behalten was du vorhast, aber erst einmal mit etwas anderem die Grundlagen aufbauen, dann weiter in die Richtung suchen.

Zu Python:
Im Grunde sind die Python.org Tutorials schon ein super Einstieg, A Byte of Python ist auch gut, zumal du strukturiert lernen kannst und nicht mit irgendwas anfängst. Generell ein guter Tip, such nach Tutorials/Büchern die Strukturiert vermitteln. Ressourcen gibt es wie Sand am Meer. Videos zum lernen, so fern es kein Grundkurs ist, sind doch eher Themengebunden und daher nicht zum Einstieg in die Sprache geeignet.

Auch würde ich dir die Python Mailinglisten, speziell "Tutor" empfehlen, die für Einsteiger in die Sprache gedacht sind, allerdings sind diese Listen auf Englisch. Es gibt aber auch PythonDE. Aber hebe dir die Mailinglisten für später auf, nicht das du mit falschem Stil überfordert wirst.

Was auch sehr gut ist, verwende erst einmal Idle, das ist die Python Standard Entwicklungsumgebung, kein High-End IDE was dir mit Handhabung und sonstigen Popups im Wege ist. Nehme ich eigentlich sehr gern heute noch für Python. Mit F1 kannst du dir dann auch gleich immer die CHM Hilfe von Python öffnen und nachschlagen, es ist nicht alles 100% perfekt erklärt, aber im Grunde ist die Hilfe Top.

Auch ein sehr gutes Werkzeug ist die Pyton Shell, in Idle unter "Run" -> "Python Shell" zu finden.
Damit kannst du Code eintippen, der sofort ausgeführt wird.
Das kann nützlich sein wenn du sofort eine Rückmeldung auf Code haben willst. Diese speichert auch die Werte von Variablen welche deklariert werden.

Zum Beispiel einfach so eingeben:
[src=python]print "Hello World!"
title = "Hello World!"
print title
"h" in title
"H" in title

x = range(0, 10)
print x

dann...
5 in x
10 in x

for zahl in x:
print zahl (zwei mal enter drücken, um die Schleife als Beendet zu setzen!)

[/src]

und so weiter.. und natürlich viel Spaß dabei!
 
Zuletzt bearbeitet:

Patroklos

NGBler

Registriert
20 Aug. 2013
Beiträge
459
Ich habe mich damals durch ein Buch Php & Mysql gearbeitet und finde Python viel entspannter.
Fehler unter Python spuckt der Interpreter recht gut aus.

Um auf ideen zu kommen, was ich zum üben so basteln kann habe ich mir Videos von TheRegRunner angeguckt.

https://www.youtube.com/user/TheRegRunner

Weiter half mir auch http://www.python-kurs.eu/kurs.php.

Vorallem finde ich Python Scripte von anderen durch erzwungne einrücken sehr gut lesbar.
Der RaspberryPI sorgt auch sehr oft dafür das ich zu Python greife.
 

p3Eq

zu nichts zu gebrauchen

Registriert
15 Juli 2013
Beiträge
358
Also für Webanwendungen würde ich zumindest anfangs immer PHP empfehlen. Die Sprache ist relativ einfach zu lernen, aber man sollte darauf achten, sich von Anfang an einen vernünftigen Programmierstil anzueignen, d.h. insbesondere Einrückung und Konventionen für die Namensgebung beachten, damit der Code lesbar ist.
Außerdem wird PHP von so ziemlich jedem Hoster unterstützt.

Python hingegen ist von der Lesbarkeit her sehr schön, da jedes Script gezwungermaßen mit vernünftiger Einrückung geschrieben werden muss.
Ansonsten weiß ich, dass man mit Python sehr zielorientierte Aufgaben erledigen kann, beispielsweise wenn man schnell einen simplen Crawler für Internetseiten basteln will oder Ähnliches.
 

accC

gesperrt

Registriert
14 Juli 2013
Beiträge
5.250
Ich würde für den Anfang strenge Programmiersprachen empfehlen, solche, die dich gleich töten, wenn du auch nur kleinste Fehler machst. Java sei da zu empfehlen.

PHP ist für Anfänger überhaupt nicht zu empfehlen, auch wenn ich selbst damit begonnen habe. Eine Programmiersprache, die dir einen schlechten Programmierstil erlaubt ist nichts zum Lernen. Wenn du später schnelles Prototyping brauchst und/ oder einen sauberen, sicheren Programmierstil entwickelt hast kannst du gerne auf PHP zurückgreifen. Man lernt nur indem man eine Richtung vorgegeben bekommt. Man muss ein Feedback für gut und schlecht erhalten, um zu erfahren, was gut bzw schlecht ist. Eine Programmiersprache, die zu grobem Unfug Ja und Amen sagt und dir selbst größten Mist verzeiht, ist sicherlich nicht dazu geeignet.
 
Zuletzt bearbeitet:

Cyrox

Neu angemeldet

Registriert
14 Juli 2013
Beiträge
252
Ich würde für den Anfang strenge Programmiersprachen empfehlen, solche, die dich gleich töten, wenn du auch nur kleinste Fehler machst. Java sei da zu empfehlen.

[...] Eine Programmiersprache, die dir einen schlechten Programmierstil erlaubt ist nichts zum Lernen.
Nichts gegen Java, aber ich finde, dass Python für den Anfang schon eine sehr gute Wahl ist. Insbesondere, da man schnell Erfolge erzielen kann und aufgrund dessen auch mit viel/mehr Motivation programmiert.
Python ist auch keine Sprache, die "alles frisst".
Man bekommt - wie p3Eq schon geschrieben hat - vorgeschrieben, dass man den Code an den erforderlichen Stellen einzurücken hat, sonst kann der Interpreter den Code nicht korrekt deuten/zuordnen. Anders als bei Java, wo man ja praktisch alles in eine Zeile klatschen könnte.
Dass man sich bei Python auch zunächst nicht unbedingt mit Datentypen befassen muss, da alles ein Objekt ist, sehe ich auch als Vorteil und erleichtert einem mMn den Einstieg. Wenn man aber versucht, damit "Quatsch" zu machen und man zum Beispiel eine Zahl mit einem String addieren oder eine Zahl zu einem Kleinbuchstaben machen möchte, bekommt man auch beigebracht, dass es "Unsinn" ist und man entwickelt dennoch ein Verständnis für Datentypen.

Man lernt nur indem man eine Richtung vorgegeben bekommt.
Auch im Bezug auf Programmiersprachen finde ich persönlich, dass man sehr wohl mit (vielen) Freiheiten lernen kann.
Spätestens, wenn man nach längerer Zeit wieder an einem größeren Projekt arbeitet und vorher ohne jegliche Konventionen darauf los geschrieben hat.
Dann versteht man auch, warum man sich an bestimmte Richtlinien halten sollte und macht es automatisch beim nächsten Mal besser (die Erfahrung musste ich auch mal machen).

Also: Ich kann Python für den Start nur empfehlen. :)
 

Gelöschtes Mitglied 1550

Guest

G
  • Thread Starter Thread Starter
  • #8
Bedenkt bitte, dass einige Grundlagen natürlich da sind - ich bin immerhin Systemintegrator. ;)

Datentypen sagen mir auch jetzt schon was - ebenso wie der ordentliche Code. Ich bin da der selben Meinung wie Cyrox - Python gefällt mir bisher sehr gut!
 

evillive

EXIL

Registriert
24 Juli 2013
Beiträge
930
einrücken = guter Code? ist das wirklich so?

... Anders als bei Java, wo man ja praktisch alles in eine Zeile klatschen könnte. ...

Würde ich als Vorteil bezeichnen. Eine Einschränkung weniger. Ein Tastaturbefehl und alles steht in einer Zeile. Ein Tastaturbefehl und alles ist halbwegs ordentlich formatiert. Wo ist da das Problem mit dem einrücken?
 

Cyrox

Neu angemeldet

Registriert
14 Juli 2013
Beiträge
252
einrücken = guter Code? ist das wirklich so?
Einrücken = Bessere Lesbarkeit.

Wenn man vorgeschrieben bekommt, wo man einzurücken hat, ist's auch überall - in jedem Python-Projekt - einheitlich und damit immer gleich gut lesbar.
Das ist finde ich ein weiterer Aspekt, der das Lernen erleichtert.
Als Vorteil für den Start sehe ich das schon, auch wenn ich nichts gegen "individuelles Einrücken" habe, wenn es denn Sinn macht. ;)
 

Brother John

(schein)heilig
Veteran

Registriert
1 Aug. 2013
Beiträge
235
Wenn du Bock auf Python hast, mach Python! Motivation und ein konkretes Projekt sind imo das Wichtigste. Alles andere ist zweitrangig, denn wenn dir mittendrin die Lust vergeht, dann ist es auch egal, in welcher Sprache das Projekt halbfertig liegen bleibt. Das mit der Lust hängt natürlich schon ein bisschen an der Sprache. PHP hat an frustrierenden Fallen sicher die Nase vorn. ;)

Python halte ich insgesamt für eine sehr gute Einsteigersprache, weil man damit in vielen Anwendungsbereichen extrem schnell feine Erfolge erreichen kann. Im Prinzip reicht ein einfacher Editor zum Coden, der interaktive Interpreter ist zum schnellen Zeug austesten Gold wert, und das »batteries included« macht auch Spaß. Man muss sich schon etwas anstrengen, bis man an den Punkt kommt, externe Libs einbinden zu müssen, weil Python die nötige Funktion nicht an Bord hat und man sie auch nicht schnell und einfach selbst schreiben kann.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.573
Wenn du Bock auf Python hast, mach Python! Motivation und ein konkretes Projekt sind imo das Wichtigste. Alles andere ist zweitrangig, denn wenn dir mittendrin die Lust vergeht, dann ist es auch egal, in welcher Sprache das Projekt halbfertig liegen bleibt. Das mit der Lust hängt natürlich schon ein bisschen an der Sprache. PHP hat an frustrierenden Fallen sicher die Nase vorn. ;)

PHP ist schrecklich, das ist zwar eine Programmiersprache, hat aber nichts mehr mit Benutzerfreundlichkeit gemeinsam. Die Sprache ist populär, hat aber nichts von schöner Gestaltung. Das Zeug klatsch sich so hin, hat hier eine Funktion, da eine andere. Aber der Stil weicht so von dessen ab was man eigentlich im Auge hatte. Ordinal oder Objektiv?
Diese Sprache kämpft mit sich selbst.

Nimm Python. Wenn das läuft und du dir etwas angeeignet hast, nimm eine andere Sprache - aber es fällt dir damit leichter zu arbeiten, es ist quasi intuitiv. PHP ist das eher selten, außer man hat schon die Erfahrung mit dieser und der Programmiersprache gemacht. StrToTime, ach klar, ein String in ein Zeitobjekt umwandeln... intuitiv, wusste ich doch...

Was waren denn nun deine ersten Schritte und wie kommst du voran @ besterwosgibt? - Wenn du Fragen hast, nur her damit! Vielleicht lernt man dann noch was als alter Pythonist und das kommt mir eher häufiger so vor :)
 
Zuletzt bearbeitet:

LemonDrops

Neu angemeldet

Registriert
20 Juli 2013
Beiträge
543
Wie sieht's mit JavaScript aus? Es bietet einen leichten Einstieg und fortgeschrittene Entwickler profitieren von sehr vielen, mächtigen Möglichkeiten. Man muss halt die schlechten Teile ausblenden, wie bei den meisten Sprachen, aber dafür hat man die vielfältigste Scriptsprache die es gibt an der Hand.
 

alter_Bekannter

N.A.C.J.A.C.

Registriert
14 Juli 2013
Beiträge
4.826
Ort
Midgard
Najaaaaa.....

Außerhalb des Browsers ist es nicht gerade gängig...

Da von vielseitig zu reden halte ich für gewagt. Klar kann man damit einiges Anfangen, aber gerade für das benannte Aufgabengebiet würde ich so ziemlich alles andere vorziehen.

Ich persönlich konnte mit Python nie warm werden, aber die Leute haben schon recht mit dem was sie über PHP sagen, man sollte schon genau wissen was man tut.
Ein vertipper in einem Variablennamen kann dich Stunden Debugging kosten. Man muss halt mehr aufpassen. Dafür braucht man für vieles recht wenig Code.

Scheisscode schreiben kann man in jeder Sprache. Das kann ich gerne auf die schnelle beweisen. (in C#, PHP, Javascript, VB.Net, C++)
 

LemonDrops

Neu angemeldet

Registriert
20 Juli 2013
Beiträge
543
Gewagt? Mit JavaScript kannst du Software für so ziemlich jedes Betriebssystem entwickeln und das nicht nur im Browser. Unternehmen wie zum Beispiel eBay, Paypal, Yahoo, Linkedin und Microsoft entwickeln mit JavaScript serverseitige Applikationen. Dazu kommen noch die unzähligen Anwendungen die man damit scripten kann, das bekannteste Beispiel dürften Adobe Programme wie Photoshop sein. Javascript ist überall.
 

Kugelfisch

Nerd

Registriert
12 Juli 2013
Beiträge
2.342
Ort
Im Ozean
Ein entscheidender Nachteil von JavaScript zum Einstieg insbesondere in die objektorientierte Programmierung ist meines Erachtens das Prototyp-OOP-Paradigma von JavaScript, während alle anderen verbreiteten Sprachen ein klassenbasiertes OOP-Pardigma nutzen. Auch der Zwang, rein ereignisorientiert zu programmieren, kann zu Beginn eher hinderlich sein. Ich will keineswegs bestreiten, dass sich damit diverse Probleme durchaus elegant und teilweise sehr effizient lösen lassen, doch zum Einstieg ist IMHO eine Sprache, welche klassischere Paradigmen lehrt, eher besser geeignet. Python ist in dieser Hinsicht meines Erachtens eine gute Wahl.
 

alter_Bekannter

N.A.C.J.A.C.

Registriert
14 Juli 2013
Beiträge
4.826
Ort
Midgard
@LemonDrops:
Da hast du natürlich recht, ich bin bin die Sache vermutlich einfach falsch angegangen, außerdem fehlen mir mir offensichtlich Informationen.

Serverseitige Anwendungen?
-Wie etabliert ist das?(Im Sinne von: kann ich es in der Standardkonfiguration in Debian Oldstable verwenden? Wernn ich es nicht mal in "testing" über die Paketverwaltung bekomme dann würde ich es eher als Frickelei betiteln.)
-Wer nutzt es Serverseitig?
-Praxisrelevante Links?
 

accC

gesperrt

Registriert
14 Juli 2013
Beiträge
5.250
Für die, die PHP empfohlen haben:

'0' == 0 => true
0 == '' => true
'0' == '' => false

Natürlich verstehe ich, warum das so ist. Aber von logisch nachvollziehbar kann da keine Rede sein.
Solche 'Eigenarten' hat PHP haufenweise.
 

Kugelfisch

Nerd

Registriert
12 Juli 2013
Beiträge
2.342
Ort
Im Ozean
Wie etabliert ist das?(Im Sinne von: kann ich es in der Standardkonfiguration in Debian Oldstable verwenden? Wernn ich es nicht mal in "testing" über die Paketverwaltung bekomme dann würde ich es eher als Frickelei betiteln.)
node.js steht für Debian Oldstable (Squeeze) zwar nicht aus den Paketquellen zur Verfügung, wohl aber für Debian Stable (Wheezy) über das wheezy-backports-Repository - das Paket heisst `nodejs`.

-Wer nutzt es Serverseitig?
Gemäss http://en.wikipedia.org/wiki/Node.js:
Node.js is gaining adoption as a server-side platform and is used by Groupon, SAP, LinkedIn, Microsoft, Yahoo!, Walmart, Rakuten and PayPal.

Für die, die PHP empfohlen haben:
Das mag zwar nur am Rande mit dem Thema zu tun haben, aber ein noch stossenderes (weil durchaus sicherheitsrelevantes) Beispiel ist meines Erachtens:
'0' == '00e23' => true
Man beachte die Anführungszeichen - das ist ein String-Vergleich, und wer sich nicht näher mit PHP beschäftigt hat, wird wohl davon ausgehen, dass das Ergebnis false sein müsste.
 
Oben