Welches Buch lesen?

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
nuhakan
User
Beiträge: 51
Registriert: Donnerstag 11. August 2016, 11:42

Hallo,

ich hoffe, ihr seid alles gesund. Die aktuelle Situation hat mir leider zu viel Freizeit geschenkt.

Mit Python/Programmierung bin ich immer noch Anfänger. Ich bin mit meinen paar Hobby-Projekte nicht durch und ein bisschen frustriert. Naja, möchte weitermachen. Ich habe hier ein paar Bücher geblättert und wollte euch fragen welche wäre gut für einen neuen Anfang.

Ich würde die beide lesen:

1. Introduction to algorithms. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein.
2. Learning Python. Mark Lutz.

Aber dann habe ich auch The Art and Craft of Programming Python von Lusth und Fluent Python von Ramalho.

Gleichzeitig würde ich etwas mit Flask oder Bottle anfangen.

Grüße.
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

Learning Python und Fluent Python sind zwei gute Bücher, wobei letzteres eines der besten Python Bücher ist, das ich kenne, aber wohl auf einem Level ansetzt, zu dem Du vermutlich erst noch hin möchtest. Also nimm Learning Python.
Bücher über Algorithmen sind eigentlich nur interessant, wenn Du ernsthaft in Informatik einsteigen möchtest. Interessant sind sie allemal, es kann aber sehr schnell sehr mathematisch werden.
Benutzeravatar
__blackjack__
User
Beiträge: 13111
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@nuhakan: Den Cormen habe ich mal in zwei Semestern in der Uni als Lektüre zu zwei Vorlesungen gehabt. Steht hier immer noch wenn ich den mal als Nachschlagewerk brauche, was allerdings nicht sooo häufig ist.

Von Learning Python habe ich nur eine uralte Version in der Python 2.3 aktuell war. Das von Lusth kenne ich nicht, und Fluent Python ist noch ungelesen. Sollte ich vielleicht mal reinschauen.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
nuhakan
User
Beiträge: 51
Registriert: Donnerstag 11. August 2016, 11:42

Danke für die Antworten.

Ich möchte betonend, dass ich noch Anfänger bin und als Hobby lernen möchte. Von daher mein Zweifel. Wenn Introduction to algorithms mehr für die Uni konzipiert ist, lasse ich lieber für später, wenn es geht. Mit Fluent Python habe ich sofort bemerkt, ich bin noch nicht da oben. :)

Momentan greife ich Learning Python, werde üben und danach gucken was für mich interessant sein kann.

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

Hallo,
Learning Python und Fluent Python sind zwei gute Bücher, wobei letzteres eines der besten Python Bücher ist, das ich kenne, ...
Yup, volle Zustimmung. Das ist schon seeeehr gut, aber...
... aber wohl auf einem Level ansetzt, zu dem Du vermutlich erst noch hin möchtest.
Yup. Für "Fluent Python" sollte man mal mindestens stark fortgeschrittener Anfänger sein, sonst kann man den Inhalt des Buchs nicht nachvollziehen.

Bzgl. Flask und Bottle:
Flask ist sehr ausführlich dokumentiert, Bottle ausreichend genug dokumentiert. Dazu brauchst du dir auf keine Fall ein Buch kaufen. Einfach Doku lesen und dann learning by doing.

Gruß, noisefloor
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

Zu Webframeworks gibt es keine brauchbare Literatur. Die würde auch zu schnell veralten. Ausnahme vielleicht „Two Scoops of Django“, aber auch hier müssen die Autoren den Versionen nachrennen, was kaum zu schaffen ist. Flask und Bottle sind populär. Ich würde aber empfehlen, wenn es nicht Django sein soll, Pyramid in Betracht zu ziehen, egal ob kleines oder großes Projekt.
nuhakan
User
Beiträge: 51
Registriert: Donnerstag 11. August 2016, 11:42

Vielen Dank noch mal. Gestern Abend habe ich Learning angefangen. ;)

Zu Webframeworks. Ich habe schon Django und Flask mit den gewöhnlichen Beispiele von Internet probiert. "Hallo World", kleiner Blog und so aber bin nicht weit gegangen. Reines Bauchgefühl neigte ich zu Flask, obwohl ich die Struktur nicht gut verstanden habe.

Pyramid sieht etwas großes wie Django und für Firmen. Schaue ich mir wieder die Web. Aber eigentlich möchte ich nicht zu viele Optionen ins Visier nehmen, da es einfach viel zu viel von alles gibt.

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

Hallo,
... sieht etwas großes wie Django und für Firmen.
Nee, Django kann man auch sehr gut privat benutzen (mache ich auch). DER Vorteil von Django ist die hohe Integration von Routing, Views, ORM, Formularframework und anderen Komponenten. D.h. gerade bei Webappliktionen, wo viel Interaktion mit einer SQL-Datenbank stattfindet, kann man mit Django mit sehr wenig Code sehr schnell zum Ergebnis kommen.
Tipp: Django kann man - im Gegensatz zu den Grundlagen von Flask (oder Bottle) nicht anhand von Beispielen verstehen. Bei Django unbedingt das Tutorial auf der Django Seite und dazu am besten noch das "Django for Girls" (darf man auch als Mann lesen) lesen. Dann bist du gut gerüstet. Zu Pyramid kann ich dir nichts sagen. Gefühlt nutzen das viiiiel weniger Leute als Django oder Flask. Oder die haben alle total viel Ahnung und stellen keine Fragen hier im Forum ;-)

Noch was zum eigentlichen Thema: ein schönes Buch ist auch "The Hitchhiker’s Guide to Python!" von Kenneth Reitz und Tanya Schlusser. Ist kein Lernbuch im eigentlichen Sinn, aber man lernt trotzdem was, plus erhält einen guten Überblick über einen ganzen Schwung Python-Module. Kann man auch (legal!) online lesen: https://docs.python-guide.org/. Die Erlöse der gedruckten Ausgabe gehen an das "Django for Girls" Projekt.

Auch empfehlenswert zum Lesen ist die Webseite Python 3 Module of the Week, wo viele Module aus der Python Standardinstallation anhand von Beispielen erklärt werden. Gab's auch mal als Buch, aber noch zu Python 2 Zeiten. Also jetzt lieber online lesen.

Gruß, noisefloor
nezzcarth
User
Beiträge: 1635
Registriert: Samstag 16. April 2011, 12:47

nuhakan hat geschrieben: Sonntag 5. April 2020, 07:58 Pyramid sieht etwas großes wie Django und für Firmen. Schaue ich mir wieder die Web. Aber eigentlich möchte ich nicht zu viele Optionen ins Visier nehmen, da es einfach viel zu viel von alles gibt.
Nein, Django und Pyramid sind nicht nur für Firmen gedacht. Gerade Django bringt eben nur schon sehr viele Komponenten mit, mit denen man, wenn man sich in dem Framework halbwegs auskennt, sehr schnell eine "zeitgenössische" Webanwendung, die Best Practices entspricht, bauen kann. Das kommt einem professionellen Einsatz natürlich entgegen und wäre mir für ein Hobby-Projekt zu langweilig (ich möchte ja selbst programmieren und mir Dinge ausdenken). Aber das bedeutet nicht, dass man damit nicht auch privat sehr gut arbeiten kann. Pyramid kenne ich leider kaum. Mein Eindruck war, dass Pyramid eigentlich auch eher in die Richtung von Microframeworks wie Flask und Bottle geht, aber einen anderen "philosophischen" Ansatz hat, nämlich ein Framework anzubieten, das "mitwachsen" soll. Das können vielleicht andere, die das wirklich einsetzen, besser erklären, wenn daran Interesse besteht. Bei Django ist (fast) alles, was man so braucht (ORM, Template-Engine, Caching, Form-handling,...) schon eingebaut , während Flask und Pyramid stärker auf die Verwendung existierender externer Bibliotheken setzen.

Persönlich würde ich glaube ich zum lernen auch eher flask oder bottle nehmen. Da muss man mehr selbst machen und kann dadurch mehr falsch machen, aber auch lernen. Dadurch kann man dann auch besser einschätzen, was einem ein großes Framework wie Django eigentlich alles abnimmt.

Edit: noisefloor war schneller, aber ich wollte die Antwort nicht wegwerfen.
Benutzeravatar
__blackjack__
User
Beiträge: 13111
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Beim Hichthiker's Guide würde ich noch eine kleine Warnung vor Pipenv anbringen. Ich mag das ja eigentlich, aber das Projekt hat 2018 die letzte Veröffentlichung gehabt. Da haben dann viele nachgefragt wann die nächste kommt, und auch ob man was helfen könnte – Funkstille! Ende letzten Jahres gab's dann ein Lebenszeichen, dass unter anderem der komplexe Releaseprozess aufhält, aber das ein neues Release im Grunde fertig ist. Dann wieder fast 5 Monate nix. Jetzt das Versprechen das es nächsten Monat einen „release candidate“ geben wird. Ich halte mal lieber nicht die Luft an.

Sie behaupten das Projekt sein nicht tot – aber ich würde es trotzdem mindestens als komatös einstufen. Wenn die nächsten Monat nicht liefern ist mein Vertrauen erstmal weg und ich schaue mir Poetry an, und gehe ansonsten auf `pip-tools`, was ja letztlich unter der Haube auch von Pipenv verwendet wird.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten