erbitte Weisheit

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.
jerome
User
Beiträge: 13
Registriert: Freitag 10. Juli 2009, 23:02
Kontaktdaten:

Hallo Pythen Checker,

Ich brauch allgemeine Hilfe wie man eine Programmiersprache am Besten lernt.

Meine Ausrüstung ist VIM ( mit mehreren plugins, tabcomletition,
highlightning, syntax check usw usw. )
IPYTHON in der Shell ausgeführt

IDLE ( ich weiß nicht gerade die beste IDE aber ich mag eher die
Terminals und Konsolen ich bin süchtig nach sowas )

Ubuntu ( später will ich Gentoo installieren wenn ichs mehr drauf hab)

Naja ich hab Python Bücher die ich lese und die Beispiele mache aber sobald es kompliziert wird verlier ich total die orientierung. Ich versuch den Code in stücke zu zerflücken und zu verstehen macht ihr das auch so?

Irre ich mich oder ist Programmieren so was wie mit "lego klötzen" spielen man hat diese vielen Module, Funktionen und muss nur lernen wie man sie anwendet bzw mit einander verknüpft. Klar man kann sie ja auch selbst schreiben und naja es ist sehr komplex und viel mathe dahinter ist mir schon bewusst. ( sollte sich nicht so abwertend anhören eher ein versuch eines laien es irgendwie zu beschreiben )

Ich bin echt dankbar für tipps wie ich das besser lernen kann, ich mein jeder hat mal klein angefangen und es gibt hier sicher leute die es richtig drauf haben und mich vor den änfängerfehlern und ewigkeiten von zeitverschwendung bewahren können.

Danke euch im voraus ( ach ja ich lern aus freien willen, weils mir spaß macht und ich eines Tages was in die richtung machen will )

gruß
jerome
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

jerome hat geschrieben:Irre ich mich oder ist Programmieren so was wie mit "lego klötzen" spielen man hat diese vielen Module, Funktionen und muss nur lernen wie man sie anwendet bzw mit einander verknüpft. Klar man kann sie ja auch selbst schreiben und naja es ist sehr komplex und viel mathe dahinter ist mir schon bewusst. ( sollte sich nicht so abwertend anhören eher ein versuch eines laien es irgendwie zu beschreiben )
Ich denke, dass mehr Logik als Mathematik hinter Programmieren im Allgemeinen steckt. "Weisheit" und irgendwelche geheimen Profitipps kann ich dir nicht geben, aber zwei einfache Empfehlungen:

1. Gucke dir Code von anderen an und versuche, ihn zu verstehen
2. Schreib selber immer wieder Programme und guck, ob du bei anderen Projekten mitarbeiten kannst (wenn du dir das zutraust)

Und vor allem: Mach dir nicht so viel Panik :)
jerome
User
Beiträge: 13
Registriert: Freitag 10. Juli 2009, 23:02
Kontaktdaten:

Stimmt du hast wohl recht. boolesche Algebra z.B da lese ich mich auch ein. Hm Projekte daran hab ich nicht mal im entferntesten gedacht. Könnte einen sicher was bringen.
Werde versuchen es so zu machen dank dir vielmals.

gruß
jerome
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Logik ⊆ Mathematik. Aber ja, solange man nicht in die Theorethische Informatik (Informatik ≠ Programmieren) oder Algorithmenentwirklung gehen will kommt man auch prima ohne aus. Und auf der Sprachebene ist es in der Tat Lego, allerdings mit der Moeglichkeit eigene Kloetzchen zu basteln.

Weisheit faellt nicht einfach so vom Himmel, sondern kommt mit der Erfahrung. Fehler zu machen kann/sollte man nicht vermeiden, meist sind sie auch lehrreich (sofern man darauf lernen will/kann)

P.S. IDLE hat rein gar nichts mit Terminals zu tun und ist einfach zum direkten wegschmeissen vorgesehen, wenn man eine Alternative hat.

P.P.S. Gentoo ist zum Einstieg auch gut geeignet, wenn man vom Lesen nicht abgeschreckt wird und das System "bottom up" kennen lernen will, Ubuntu bringt dir in der Hinsicht nichts bei, also kannst du auch direkt darauf umsteigen.

Edit: Boolsche Algebra hat nichts mit Programmieren zu tun, sondern greift erst auf der Hardware-Ebene.
jerome
User
Beiträge: 13
Registriert: Freitag 10. Juli 2009, 23:02
Kontaktdaten:

Danke cofi,
Ich wollt so was schreiben das ich so den verdacht hab das man gut programmieren kann auch wenn man nicht gerade der super crack in mathe ist aber war mir nicht sicher ob das wirklich so ist.

Ja was IDLE angeht naja meine erfahrungen gehen in die selbe richtung wie du es beschrieben hast.

Gut die Hardware ebene stimmt. Mit Schaltungen usw. Naja darauf werde ich eines tages aber auch noch in Berühung kommen. Würde gern nen eines tages nen weg finden wie ich z.B mein fernseh anschalten kann durch den computer oder ne lampe usw.

oh man ich bin erlich gesagt ziemlich gierig jetzt endlich gentoo zu installieren. Ich wollts scho vor ner ewigkeit machen und erlich gesagt hab ich 2wochen urlaub den ich nur für programmieren, und computer ausgeben will.

thx
jerome
Pekh
User
Beiträge: 482
Registriert: Donnerstag 22. Mai 2008, 09:09

cofi hat geschrieben: Edit: Boolsche Algebra hat nichts mit Programmieren zu tun, sondern greift erst auf der Hardware-Ebene.
Das ist Unfug. Sobald du Wahrheitswerte auswertest bist du mitten drin. Und das passiert bei allen Schleifen, Ifs, ...
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

cofi hat geschrieben:Logik ⊆ Mathematik.
Ups, ich habe nur an "Arithmetik" gedacht als ich von "Mathematik" schrieb. :oops:
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Pekh hat geschrieben:Das ist Unfug. Sobald du Wahrheitswerte auswertest bist du mitten drin. Und das passiert bei allen Schleifen, Ifs, ...
Das passiert auf der logischen Ebene fuer die man meiner Meinung nach keine Ahnung von Boolscher Algebra benoetigt, dass sie zur Anwendung kommt sollte klar sein, aber erst auf Schaltungsebene muss man sie kennen.

@derdon: Die Mathematik ist um einiges breiter, z.B. Typtheorie oder auch das Spielen mit der Unendlichkeit :twisted:
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

cofi hat geschrieben:@derdon: Die Mathematik ist um einiges breiter, z.B. Typtheorie oder auch das Spielen mit der Unendlichkeit :twisted:
Ich habe gemerkt, dass ich nen Fehler gemacht hab und hab sogar den Schäm-Smiley aktiviert. Warum also noch auf mich herumhacken? Oder wolltest du nur mit deinem Wissen glänzen?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Nein tut mir leid, so sollte das nicht rueberkommen. Ich hatte noch einen Tab dazu offen und wurde wohl zu uebermuetig :oops:
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

jerome hat geschrieben:Ich brauch allgemeine Hilfe wie man eine Programmiersprache am Besten lernt.
Durch Benutzung ebendieser - eben Übung.
jerome hat geschrieben:IDLE ( ich weiß nicht gerade die beste IDE aber ich mag eher die
Terminals und Konsolen ich bin süchtig nach sowas )
Wenn du schon Vim hast, wozu dann noch IDLE?
jerome hat geschrieben:Ubuntu ( später will ich Gentoo installieren wenn ichs mehr drauf hab)
Also ich weiß nicht warum die Auffassung herrscht Gentoo == Profi. Ich habe es auch mal probiert und stelle fest dass man in Arch so ziemlich das gleiche geboten bekommt minus die Frustration weil man ewig kompilieren muss und Zeug nicht gerne ausprobiert, weil das eine längliche Kompilation nach sich ziehen würde. Von der Frustration dass man falsche USE-Flags hat und dasss die Migration von Unstable nach Stable manuell erfolgt mal ganz zu schweigen.
Also wenn man wirklich was über Linux lernen will, dann ist es IMHO sinnvoller sich Linux From Scratch in einer VM aufzuziehen. Außer man will eben explizit Gentoo haben.
jerome hat geschrieben:Naja ich hab Python Bücher die ich lese und die Beispiele mache aber sobald es kompliziert wird verlier ich total die orientierung. Ich versuch den Code in stücke zu zerflücken und zu verstehen macht ihr das auch so?
Ja.
jerome hat geschrieben:Irre ich mich oder ist Programmieren so was wie mit "lego klötzen" spielen man hat diese vielen Module, Funktionen und muss nur lernen wie man sie anwendet bzw mit einander verknüpft.
Ja, und gerade deswegen finde ich auch funktionale Programmierung so toll, da hat man ganz viele sehr mächtige Klötzchen, die nahezu beliebig kombinierbar sind.
jerome hat geschrieben:Klar man kann sie ja auch selbst schreiben und naja es ist sehr komplex und viel mathe dahinter ist mir schon bewusst. ( sollte sich nicht so abwertend anhören eher ein versuch eines laien es irgendwie zu beschreiben )
So viel Mathe ist da nicht dahinter, erst wenn man soweit reingeht dass man in die Elektrotechnik kommt, dann kommt ggf. anspruchsvolle Mathematik. Aber von dem Niveau sind die meisten Programme meilenweit entfernt, weil sich da jemand vorher schon darüber gedanken gemacht hat.
jerome hat geschrieben:Ich bin echt dankbar für tipps wie ich das besser lernen kann, ich mein jeder hat mal klein angefangen und es gibt hier sicher leute die es richtig drauf haben und mich vor den änfängerfehlern und ewigkeiten von zeitverschwendung bewahren können.
Oooch, gerade durch Zeitverschwendung mit einer Sprache lernt man doch eine Menge. So nach dem Motto: "geht das?" oder "wozu könnte das denn wohl gut sein?".
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
jerome
User
Beiträge: 13
Registriert: Freitag 10. Juli 2009, 23:02
Kontaktdaten:

hi Leonidas,

ich war echt besorgt wegen der "Lego Klötzchen" ich dacht ich bekomm da ziemlich was reingedrückt. Gut da schein ich gar nicht so sehr auf den falschen weg zu sein.

Danke für deinen genauen und einleutenden Beitrag Leonidas. Du hast es alles so ziemlich scharf erkannt.
Ja mein programmieren ist eher so „Trial and Error“ Prinzip wo ich immer noch lese und dazulerne in Büchern oder skripten vorallen wenn's nicht hinhaut frag ich mich immer verdammt warum? und such nach den Grund.

dank nochmal Leonidas
gruß
jerome
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

cofi hat geschrieben:P.S. IDLE hat rein gar nichts mit Terminals zu tun und ist einfach zum direkten wegschmeissen vorgesehen, wenn man eine Alternative hat.
Warum wird bloß immer so auf IDLE herumgehackt?
jerome hat geschrieben:Ja was IDLE angeht naja meine erfahrungen gehen in die selbe richtung wie du es beschrieben hast.
Welche Erfahrungen wären das denn?
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

jerome hat geschrieben:ich war echt besorgt wegen der "Lego Klötzchen" ich dacht ich bekomm da ziemlich was reingedrückt. Gut da schein ich gar nicht so sehr auf den falschen weg zu sein.
Ich sehe den Vergleich mit den Legosteinen durchaus kritisch, weil ich dabei an "Programmierer" denken muss (die auch im Forum gelegentlich auftauchen), die mit fertigen Legosteinen oder auch schon etwas komplexeren Teilfiguren, die aus mehreren Legosteinen zusammengebaut sind, die sie irgendwo "gefunden" haben, wild herumbasteln ohne sich damit auseinander zu setzen, warum die Steine zusammenhalten, warum genau diese Steine genommen werden etc. Das Motto lautet dann im übertragenen Sinne: Hauptsache es hält, ist doch egal warum.
problembär

numerix hat geschrieben:... ohne sich damit auseinander zu setzen, warum die Steine zusammenhalten, warum genau diese Steine genommen werden etc. Das Motto lautet dann im übertragenen Sinne: Hauptsache es hält, ist doch egal warum.
Ähh, ist das nicht ein gewolltes Konzept in der objektorientierten Programmierung

http://de.wikipedia.org/wiki/Datenkapse ... _Paradigma

(und damit ein Grund, warum ich OOP eigentlich nicht mag ...) ?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

problembär hat geschrieben:(und damit ein Grund, warum ich OOP eigentlich nicht mag ...) ?
Ich denke ihr verwechselt Datenkapselung mit Copy-Paste-Programmierung. Die "Legosteine" von denen ich sprach entsprechen Funktionen und Objekten, die von denen numerix spricht eher Codefragmenten.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

@problembär: Bei der Datenkapselung geht es darum, dass man nicht wissen muss, wie der Legostein *intern* aufgebaut ist, solange er sich so verhält, wie die Dokumentation der Schnittstelle es beschreibt. Wenn Du das nicht magst, dann magst Du Programmieren im allgemeinen nicht, denn das ist nicht nur bei OOP-Programmierung angesagt. Auch in imperativen Programmiersprachen wird dieses Konzept schon sehr lange verwendet, um wartbare Programme zu schaffen. Grössere Systeme wären anders gar nicht möglich. Beispiele sind Bibliotheken in C oder Units in Pascal.
Gabelmensch
User
Beiträge: 79
Registriert: Montag 12. Oktober 2009, 11:50

Setz dir ein Ziel, z.B. alle deine Bashscripte in Python neu zu schreiben.
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Die Idee finde ich nicht so gut, weil es viele Probleme gibt, die sich mit Shellskripts (nicht nur Bash) eleganter lösen lassen als mit Python. Ein Einzeiler, der z.B. aus einer Kombination von sed und find besteht, lässt sich nur umständlich und unnatürlich in Python schreiben.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Leonidas hat geschrieben:Die "Legosteine" von denen ich sprach entsprechen Funktionen und Objekten, die von denen numerix spricht eher Codefragmenten.
Genauso war das gemeint. Je nachdem, was man unter den Legosteinen versteht und wie man sie einsetzt, ist es ein gutes, tragfähiges Bild oder eben auch nicht.
Antworten