jojojojo
Anmeldungsdatum: 13. Juni 2013
Beiträge: 65
|
Hallo, ich würde gerne richtig Programmieren lernen. Ich meine damit keine spezifische Sprache sondern die generellen Grundlagen. Also Projektvorbereitung, Projektverwaltung (Versionskontrolle usw), Dokumentation, eben alles, was neben dem eigentlichen "Akt" der Programmierung noch dazu gehört. Und dann natürlich will ich richtig Programmieren lernen. Ich kann zwar die Grundlagen, also Variablen, Schleifen usw und OOP hab ich so halbwegs verstanden, verschenke aber vermutlich viel Potential der Sprachen. Es gibt so viele Sachen wie Lambda, Map (z.B. in Python), Closures und viele andere "moderne" Programmierfunktionen, die ich zwar schon gesehen habe, die ich aber nicht richtig einsetzen kann. Wie kann ich mir das Wissen aneignen, ohne gleich ein Informatik Studium machen zu müssen? Bücher haben mir bisher nur wenig geholfen. Entweder habe ich es nur halb verstanden oder die Themen wurden erst gar nicht behandelt.
|
ubuntu-windows
Anmeldungsdatum: 27. Juni 2013
Beiträge: 35
|
Wenn du richtig Programmieren lernen willst und ein paar Grundlagen schon beherschst, würde ich mich an deiner Stelle für eine Sprache entscheiden (z.B. Java/C++) und dir diese genauer anschauen. Fürs Lernen würd ich schon mir ein Buch kaufen, und/oder im Internet halt darüber informieren. Wenn du dann etwas spezifisches (im Buch) nicht verstehst, kannst du dann eine konkrete Frage hier im Forum stellen, die dir dann sicherlich auch schnell beantwortet wird. Aber "allgemein Programmieren zu lernen", ohne dich irgendwo genauer einzuarbeiten dürfte sich als schwierig erweisen 😉 Mfg
ubuntu-windows
|
stfischr
Anmeldungsdatum: 1. März 2007
Beiträge: 19197
|
Hi. Programmieren lernt man am besten, wenn man es macht. Überlege dir einfach ein Projekt, dann erstellst du dir ein Grundkonzept, wie du es gedenkst zu verwirklichen, dann legst du dir ein git-repo an und los gehts. Doku des für Programmierer interessanten Teils legt man üblicherweise im Quelltext an: so kann das aussehen. Für den Anwender machst du dann ne Manpage oder ähnliches. Python ist sicher ne schöne Sprache um in diese Welt einzutauchen.
|
Ruudsy
Anmeldungsdatum: 1. Mai 2012
Beiträge: 328
|
Mir hat vor ienigen Jahren der Einstieg in die Programmierung Python sehr geholfen, auch weil man dazu gezwungen wird den Code ordentlich zu strukturieren. Tutorials gibt es viele, mit ein wenig Englischkenntnissen ist das ein möglicher Einstiegspunkt: http://docs.python.org/2/tutorial/ Ein Buch als Nachschlagewerk ist nie schlecht, auch enn man kaum Vollständigkeit erwarten kann, dem sollte man sich bewusst sein. Das Drumherum kommt dann von alleine, wenn man sich selbst ein Projekt ausdenkt und auch durchziehen möchte 😉
|
jojojojo
(Themenstarter)
Anmeldungsdatum: 13. Juni 2013
Beiträge: 65
|
Programmieren kann ich, auch Python. Aber ich hab zu C64 Zeiten programmieren gelernt, deshalb sind meine Kenntnisse auf, sagen wir, etwas über C Niveau. Ich bekomme das schon hin, was ich programmieren möchte, aber meistens viel zu umständlich. Gerade das Potential von Python kann ich nicht richtig nutzen. Ich programmiere vieles umständlich von Hand, obwohl man es elegant in ein paar Zeilen Code erledigen könnte.
|
Benno-007
Anmeldungsdatum: 28. August 2007
Beiträge: 29240
Wohnort: Germany
|
Ich programmiere vieles umständlich von Hand, obwohl man es elegant in ein paar Zeilen Code erledigen könnte.
Ist doch erst mal völlig egal - damit bist du schon mal wesentlich weiter als der Großteil der Bevölkerung. Wie stfischr schon sagte: Programmieren lernt man am besten, wenn man es macht.
Dann wenigstens eine help-Ausgabe programmieren und den Quelltext kommentieren. Das ganze Gedöns mit git usw. kannst du dir holen, sobald du es brauchst. Für die eigene "Küchen-"Programmierung braucht man den ganzen Rummel drumrum nicht unbedingt. Der bläht letztlich auch nur auf, weil du dich wieder in neue Dinge einarbeiten musst. Wenn man's braucht, macht man's. Also einfach machen. Und wenn du's nicht vermisst, brauchst du es auch nicht wirklich.
|
stfischr
Anmeldungsdatum: 1. März 2007
Beiträge: 19197
|
jojojojo schrieb: Gerade das Potential von Python kann ich nicht richtig nutzen. Ich programmiere vieles umständlich von Hand, obwohl man es elegant in ein paar Zeilen Code erledigen könnte.
Dann schlage ich dir vor, arbeite bei einem OpenSource-Projekt mit und bereinige dort Fehler etc. Da bist du gezwungen viel Quellcode von anderen zu lesen und zu verstehen und lernst nebenbei diverse Funktionen/Möglichkeiten der jeweiligen Programmiersprache.
|
frostschutz
Anmeldungsdatum: 18. November 2010
Beiträge: 7770
|
jojojojo schrieb: Wie kann ich mir das Wissen aneignen, ohne gleich ein Informatik Studium machen zu müssen?
Im Informatik Studium lernst du das eigentlich gar nicht... Man kann sich auch verkünsteln mit elegantem Code... nicht jeder Einzeiler in Python ist besser Stil als es auszuschreiben, und es gibt immer eine bessere Lösung aber irgendwann muß man sich einfach zufrieden geben, solange es funktioniert. Wenn du Kniffe lernen willst, im IRC bekommt man einige davon mit (FreeNode #python), wenn man da nebenbei mitliest. Auch kann man dort Fragen stellen (wie mache ich am besten dieses und jenes) und gute Antworten bekommen. Ansonsten: Fremden Code lesen, und fremde Leute eigenen Code lesen lassen. Solange du nicht den Fehler machst dir einzubilden ein genialer Programmierer zu sein und alles besser zu wissen - das sind meistens die Leute die nicht weiterkommen.
|
TraumFlug
Anmeldungsdatum: 16. Juli 2009
Beiträge: 999
Wohnort: zwischen den ohren
|
Ich denke es geht dem T.E. eher um die Standardmethodik, übliche Verfahrensweisen, Planung und Aufbau eines Projektes, die geläufigen Bezeichnungen für Techniken, ...eben was in der Industrie, Arbeitswelt, und auch Opensource-Projekten so an Methodik etabliert ist. Mir ist auch aufgefallen, dass man durch reines Studium fremder Quelltexte, oder kreatives erforschen der Möglichkeiten bei'm selbst coden nicht wirklich ein Gefühl für diese Techniken entwickeln kann, und sie wenn man sie schon halbwegs kennt und benutzen kann auch nicht bei den Namen nennen kann, die andere im Studium brav auswendig gelernt haben; auch wenn man sicher so schon mal einiges an Niveau dazugewinnen kann - und vor allem eigenständiges und kreatives Problemlösen und Analysieren. Arbeitet man später in einem Team mit, fällt man denke ich schon unangenehm auf, wenn man die richtige Taxonomie und wichtige Arbeitsschritte, auch in der Vorarbeit, schlicht noch gar nicht kennt. Ich hätte auch grosses Interesse an Büchern/Texten, die diese Thematiken vertiefen und gut präsentiert aufbereiten, möglichst frei und kostenlos verfügbare Quellen. Man kann zwar das eine oder andere aus einzelnen Artikeln aufschnappen, aber mir fehlt auch eine gute, wenn auch grobe, Übersicht.
|
jojojojo
(Themenstarter)
Anmeldungsdatum: 13. Juni 2013
Beiträge: 65
|
@TraumFlug: genau das trifft es. Man kann einfach nicht alles bei anderen "anschauen". Manches bedarf einfach einer Erklärung.
|
snafu1
Anmeldungsdatum: 5. September 2007
Beiträge: 2128
Wohnort: Gelsenkirchen
|
@jojojojo: Wenn ich dich richtig verstehe, dann suchst du im Grunde etwas zum Thema "Softwaretechnik". Recherchiere doch einfach mal im Internet oder ggf in Bibliotheken / Buchhandlungen zu diesem Begriff. Da findet man zahlreiche Treffer und muss sich nur noch das heraussuchen, was einem vom Schreibstil und der behandelten Thematik (also wo der Fokus gelegt ist) am Besten gefällt. Spezialthemen wie "Versionsverwaltung" oder "Entwicklungsumgebung" kann man dann bei Bedarf später noch genauer behandeln, nachdem man einen groben Überblick erhalten hat. Und bezüglich der angesprochenen Defizite mit Python: Es dauert nunmal eine Weile bis man in einer Programmiersprache einigermaßen gute Programme schreiben kann. Man muss sich intensiv mit der Standardbibliothek der Sprache und den vorgesehenen Vorgehensweisen in dieser Sprache vertraut machen. Du könntest hierzu das offizielle Python-Tutorial (deutsche Version) durcharbeiten und bei Interesse / Bedarf im deutschen Python-Forum mitlesen bzw -posten, um mehr über die möglichst pythonische Umsetzung von Problemlösungen zu erfahren (klingt schön verklausuliert 😀).
|
elostio
Anmeldungsdatum: 2. Februar 2006
Beiträge: 424
Wohnort: Guayaquil
|
Ad Git: Ein Buch welches mir sehr gut gefällt ist folgendes: http://ftp.newartisans.com/pub/git.from.bottom.up.pdf. Ad Techniken wie Lambda, Map: Lerne Haskell: http://learnyouahaskell.com/ Edit: Sorry hab erst jetzt gelesen dass dir Bücher bis jetzt nicht geholfen haben ☹ . Ich kann dir aber trotzdem empfehlen eine Sprache wie Haskell zu lernen. Das Wissen das du dir aneignest wird dir auch bei anderen Sprachen helfen.
|
noisefloor
Anmeldungsdatum: 6. Juni 2006
Beiträge: 29567
|
Hallo, jojojojo schrieb: Ich bekomme das schon hin, was ich programmieren möchte, aber meistens viel zu umständlich. Gerade das Potential von Python kann ich nicht richtig nutzen. Ich programmiere vieles umständlich von Hand, obwohl man es elegant in ein paar Zeilen Code erledigen könnte.
Dann stell' doch den Code im deutschen Python-Forum (http://www.python-forum.de) zur Diskussion. Da gibt's eine Subforum für Hilfe zu div. Themen, eine Subforum für Codeschnipsel und eines Namens "Showcase" für komplette Programme / Module. Und jede Menge Leute, die dir sagen, was man anders / besser machen könnte. Gruß, noisefloor
|
jojojojo
(Themenstarter)
Anmeldungsdatum: 13. Juni 2013
Beiträge: 65
|
Danke, werde ich bei Gelegenheit machen. Muss aber erst mal Code zum zeigen haben ☺
|
jojojojo
(Themenstarter)
Anmeldungsdatum: 13. Juni 2013
Beiträge: 65
|
Ich lese gerade "Dive into Python 3". Das verbessert mein Verständnis für Closures, Iteratoren, Generatoren usw doch erheblich. Bis ich das verinnerlicht habe muss ich es aber glaube ich fünf mal lesen und zehn mal selbst programmiert haben 😉 *KnotenImKopf*
|