Programmieren in Eigenstudium lernen

    • VTechMS
      VTechMS
      Bronze
      Dabei seit: 04.10.2006 Beiträge: 1.492
      Ziel: Programme schreiben, die auf andere Programme zugreifen und Werte ausgeben oder irgendwas im Programm steuern können.
      Also z.B.: -Berechnen der Pot Größe bei PP
      -Schließe automatisch den Tisch, wenn der VPIP unter x fällt und öffne einen neuen mit VPIP >x.

      Ich besitze keine Grundkenntnisse. Suche ein oder mehrere GUT VERSTÄNDLICHE (<=sehr wichtig) Bücher oder/und Homepages mit denen ich das Programmieren soweit lernen kann, damit ich Programme für den oben genannten Zweck schreiben kann.
  • 56 Antworten
    • Hafish
      Hafish
      Bronze
      Dabei seit: 14.01.2007 Beiträge: 60
      Hm, zuallererst solltest du dich für eine Programmiersprache entscheiden.

      In Frage kommen imho:

      Delphi und C++

      Klarer Favorit für Anfänger ist hier denke ich Delphi, da es recht einfach zu lernen ist und deutlich verständlicher ist als C (zumindest am Anfang).

      Tja, Bücher...Als ich damals angefangen hab, habe ich mir Delphi for Kids gekauft, da ist eine Delphi Version bei und wirklich alles erklärt, was man braucht. Lass dich von dem Namen nciht täuschen, das Buch ist nichts für Kinder, es ist nur kinderleicht zu verstehen.
      Und wenn man dann ein bissche Zeit investiert sollten keine weiteren Bücher nötig sein, da man genug Tutorials auf anderen Seiten findet. Einschlägige Foren liefern auch gute Hilfe.

      Das tolle an Delphi ist neben der guten erlernbarkeit ohne Frage die IDE, bei C++ gibt es so etwas auch von Microsoft im Visual Studio, allerdings -wie gesagt- schwerer zu erlernen und auch deutlich komplizierter als in Delphi, zumindest was Windows-Fenster-Anwendungen betrifft. Für Spiele etc ist C imho besser, aber Dialogfedbasierende Programme ( wie du sie anstrebst), werden leichter und deutlich schneller mit Delphi entwickelt.

      Nachtrag: Was du da tun willst, auf andere Programme zugreifen, insbesondere auf Programme wie PP, die keine Windowssteuerelemente verwenden, ist zwar möglich, aber extrem aufwändig und verlangt einiges an Erfahrung. Grob geschätzt würde ich sagen: Wenn du noch zur Schule gehst (also genug Freizeit hast) und auch viel Zeit ins Programmieren investierst wirst du nach 1-2 Jahren evtl so weit sein, dass du so was versuchen kannst.
    • dvrvm
      dvrvm
      Bronze
      Dabei seit: 31.01.2007 Beiträge: 3.956
      Ich würde ja jedem Anfänger empfehlen, mit BASIC anzufangen, nur um mal das Konzept des Programmierens ohne all das "objektorientiert", GUI, Events, Triggers und diesen Krimskrams zu verstehen. Ich finde es blödsinnig, mit einer OOP-Sprache anzufangen. Das Konzept versteht man eh nicht wirklich auf Anhieb. Aber da das nicht mehr in Mode zu sein scheint: C#.
      Ansonsten "the hard way" mit C (Nachteil: für Anfänger grauenhaftes String handling), das ist noch eine einfache strukturierte Programmiersprache, und danach C++ dazulernen/umlernen mit OOP.
    • romanempire
      romanempire
      Bronze
      Dabei seit: 03.08.2006 Beiträge: 561
      Original von VTechMS
      Ziel: Programme schreiben, die auf andere Programme zugreifen und Werte ausgeben oder irgendwas im Programm steuern können.
      Ist nicht ganz trivial zu realisieren, sowas. Als Anfänger wirst Du da ein wenig beißen müssen, bis das läuft.

      C(++) ist für nen Anfänger viel zu kompliziert, am besten wohl mal C#.
      Entwicklungsumgebung gibts von microsoft umsonst (win xp vorausgesetzt) und Bücher gibts online ( z.B. http://www.galileocomputing.de/openbook/visual_csharp/)
    • CaptainAhab
      CaptainAhab
      Bronze
      Dabei seit: 31.07.2006 Beiträge: 1.267
      Original von dvrvm
      Ich würde ja jedem Anfänger empfehlen, mit BASIC anzufangen, nur um mal das Konzept des Programmierens ohne all das "objektorientiert", GUI, Events, Triggers und diesen Krimskrams zu verstehen.
      Ich brech' ab.

      10 PRINT "LOL"
      20 GOTO 10
    • DaBonzo
      DaBonzo
      Bronze
      Dabei seit: 25.05.2006 Beiträge: 878
      Nicht mit Basic oder sowas anfangen. Das ist reine Zeitverschwendung. Gleich mit einner OOP-Sprache anfangen und sich mit dem Konzepten die dahinter stecken vertraut machen. C/C++ ist nur deswegen nicht geeignet weil es schon zu tief in die Interna greifen lässt (Speichermanagment usw.) Am besten irgendeine Net-Sprache nehmen (C#) obwohl ich finde das Visual Basic für RAD und als Beginnersprache auch gut geignet ist. Für deine Anforderungen wäre C# schon ideal.

      Bücher hab ich 18G. Wenn du willst schick ich dir ne Liste und such es dir aus. Ist aber alles Englisch. VIelleicht solltest du dir für die Basics auch ein Video besorgen wenn dir diese Art des Lernens mehr liegt. Und versuche nicht immer das Rad neu zu erfinden. Im Net gibt es tonnenweise Code den du für gewisse Sachen nur anpassen musst.
    • CaptainAhab
      CaptainAhab
      Bronze
      Dabei seit: 31.07.2006 Beiträge: 1.267
      Original von romanempire
      C(++) ist für nen Anfänger viel zu kompliziert, am besten wohl mal C#.
      Entwicklungsumgebung gibts von microsoft umsonst (win xp vorausgesetzt) und Bücher gibts online ( z.B. http://www.galileocomputing.de/openbook/visual_csharp/)
      Wir meiner neuer Lieblingsthread hier. :D

      Warum sollte ein absoluter Anfänger in Sachen Programmierung mit einer objektorientierten Sprache anfangen. Und dann möglichst noch in einer Entwicklungsumgebung, die ihn wahrscheinlich erschlägt. (Wie kommst du auf den Trichter, dass C# leichter als C?!)

      Delphi oder C schön mit dem Standard-Texteditor. Go!
    • DaBonzo
      DaBonzo
      Bronze
      Dabei seit: 25.05.2006 Beiträge: 878
      Original von CaptainAhab
      Original von romanempire
      C(++) ist für nen Anfänger viel zu kompliziert, am besten wohl mal C#.
      Entwicklungsumgebung gibts von microsoft umsonst (win xp vorausgesetzt) und Bücher gibts online ( z.B. http://www.galileocomputing.de/openbook/visual_csharp/)
      Wir meiner neuer Lieblingsthread hier. :D

      Warum sollte ein absoluter Anfänger in Sachen Programmierung mit einer objektorientierten Sprache anfangen. Und dann möglichst noch in einer Entwicklungsumgebung, die ihn wahrscheinlich erschlägt. (Wie kommst du auf den Trichter, dass C# leichter als C?!)

      Delphi oder C schön mit dem Standard-Texteditor. Go!
      Und C# geht nicht mit nem Editor, oder was. Für Anfänger ist es besser sich gleich mit den OOP-Konzepten vertraut zu machen. Später haben sie es nicht so leicht sich die schlechten Gewohnheiten abzugewöhnen.
    • nopi
      nopi
      Gold
      Dabei seit: 18.08.2006 Beiträge: 1.708
      Konzepte verstehen? ...

      PDP11-Assembler FTW :D


      Nee, mal im Ernst: Was Du vorhast ...uiuiui.
      Nach dem eigentlichen Programmieren, kommen dann ja noch sämtliche Windows-Konzepte (API, MM etc.), da brauchst Du dann Code-Injection, Process-Memory-Management etc. ... viel Spaß.

      Mal Ernst? ... Vergiss es.


      Gruß, nopi
    • KittenKaboodle
      KittenKaboodle
      Bronze
      Dabei seit: 29.01.2006 Beiträge: 3.527

      Ich brech' ab.

      10 PRINT "LOL"
      20 GOTO 10
      Made my day :D
    • CaptainAhab
      CaptainAhab
      Bronze
      Dabei seit: 31.07.2006 Beiträge: 1.267
      Original von DaBonzo
      Und C# geht nicht mit nem Editor, oder was. Für Anfänger ist es besser sich gleich mit den OOP-Konzepten vertraut zu machen. Später haben sie es nicht so leicht sich die schlechten Gewohnheiten abzugewöhnen.
      Geht auch mit 'nem Editor. Halte es trotzdem für falsch einen kompletten Anfänger in Sachen Programmierung auf so ein Monster loszulassen.
      Im Übrigen sind auch in Delphi objektorientierte Sprachmerkmale enthalten.

      Das mit den schlechten Angewohnheiten versteh' ich nicht. Sauberes Programmieren lernt man nur mit C#?
    • romanempire
      romanempire
      Bronze
      Dabei seit: 03.08.2006 Beiträge: 561
      Original von CaptainAhab
      Warum sollte ein absoluter Anfänger in Sachen Programmierung mit einer objektorientierten Sprache anfangen. Und dann möglichst noch in einer Entwicklungsumgebung, die ihn wahrscheinlich erschlägt. (Wie kommst du auf den Trichter, dass C# leichter als C?!)

      Delphi oder C schön mit dem Standard-Texteditor. Go!
      OOP ist doch nicht das Problem, er kann ja ja alles in main packen und statische Methoden aufrufen, dann hat er damit kein Problem (was zwar Quatsch ist, aber nur um deine Aussage zu widerlegen).
      C# hat mit der DotNet-Bibliothek alles an Bord, was er braucht, während er sich bei C durch die Win32-API quält, da wird er seinen Spaß haben ;)

      Delphi vllt schon eher, aber mit Texteditor?? Im Visual Studio (ist ja keine Enterprise Version, da wird er schon nicht erschlagen) hat er v.a. nen guten Debugger.

      Mal abgesehen davon, ist seine Idee nicht einfach zu verwirklichen, da muß er sich so oder so recht tief in die Materie einarbeiten, ist ja nicht gerade ein Hello-World-Programm, was er da vorhat.
    • DaBonzo
      DaBonzo
      Bronze
      Dabei seit: 25.05.2006 Beiträge: 878
      Original von CaptainAhab
      Original von DaBonzo
      Und C# geht nicht mit nem Editor, oder was. Für Anfänger ist es besser sich gleich mit den OOP-Konzepten vertraut zu machen. Später haben sie es nicht so leicht sich die schlechten Gewohnheiten abzugewöhnen.
      Geht auch mit 'nem Editor. Halte es trotzdem für falsch einen kompletten Anfänger in Sachen Programmierung auf so ein Monster loszulassen.
      Im Übrigen sind auch in Delphi objektorientierte Sprachmerkmale enthalten.

      Das mit den schlechten Angewohnheiten versteh' ich nicht. Sauberes Programmieren lernt man nur mit C#?
      Geht nicht um die Programmiersprache sondern um das ganze Konzept. Früher oder später , wenn man es wirklich gut machen will, stösst man auf OOP. Und dann sind die Anfänge eher hinderlich weil prozedural Programmieren in einer OOP-Welt einfach eine schlechte Angewohnheit ist. Genauso war es früher mit den Goto und Gosub-Spaghetti-Code vs Prozeduralem Programmieren.
    • CaptainAhab
      CaptainAhab
      Bronze
      Dabei seit: 31.07.2006 Beiträge: 1.267
      Original von romanempire
      Mal abgesehen davon, ist seine Idee nicht einfach zu verwirklichen, da muß er sich so oder so recht tief in die Materie einarbeiten, ist ja nicht gerade ein Hello-World-Programm, was er da vorhat.
      Sorry mein Fehler. Habe OP so verstanden, dass er Programmieren lernen will, um irgendwann besagtes Programm zu entwickeln.

      Offensichtlich meinte er aber, Programm entwickeln und nebenher die Grundlagen aneignen. Viel Glück damit.
    • Cyclonus
      Cyclonus
      Bronze
      Dabei seit: 17.01.2005 Beiträge: 1.414
      Original von VTechMS
      Ziel: Programme schreiben, die auf andere Programme zugreifen und Werte ausgeben oder irgendwas im Programm steuern können.
      Also z.B.: -Berechnen der Pot Größe bei PP
      -Schließe automatisch den Tisch, wenn der VPIP unter x fällt und öffne einen neuen mit VPIP >x.
      Bot programmieren oder was? :D

      Ich würd mit C oder Java anfangen, die Zeit die man durch erlenen einer "Anfängersprache" wie Delphi oder Basic spart, muss man anschließend in den Umstieg zu etwas brauchbarem wieder aufbringen.

      Wenn man wirklich gutes programmieren lernen will, kann man sich natürlich auch an einer funktionalen Sprache versuchen, aber zu schnellen Ergebnissen führt das nicht.
    • KraGena
      KraGena
      Bronze
      Dabei seit: 11.04.2007 Beiträge: 286
      Wollt ihr OOP lernen, so kann man das am besten mit Java tun.
    • Hafish
      Hafish
      Bronze
      Dabei seit: 14.01.2007 Beiträge: 60
      Ich versteh euer Problem nicht. Wenn man Delphi benutzt, dann platziert man da nen Button auf dem Formular, macht nen Doppelklick und programmiert los. Das da schon 20 Zeilen Quellcode erstellt werden mit Klassen etc nimmt man einfach hin und speichert es irgendwo im Hinterkopf.

      Dann programmiert man zwar in der Button-Click Methode, aber man braucht sich ja noch gar nicht darum zu kümmern was diese Klassen und Methoden etc alles sind. Bei ner Ausgabe merkt man sich ein memo.add und kümmert sich wieder nicht darum was der Punkt und das Add sind. Ganz einfach.

      Als ich mit Delphi angefangen habe hatte ich auch noch keine Ahnung von OOP, aber das braucht man ja auch nicht. Im Gegenteil. Wenn man dann irgendwann soweit ist, dass man mit OOP anfangen will, liest man sich den entsprechenden Abschnitt in einem Buch durch oder halt ein Tutorial. Und plötzlich sieht man da überall Dinge, die einem schon bekannt vorkommen. Z.b. eine OnClick Methode oder ein memo.add etc. Und dann versteht man das ganze sogar noch einfacher, weil man alles schon irgendwie mal gemacht hat, ohne es der OOP zuzuordnen.

      Original von KraGena
      Wollt ihr OOP lernen, so kann man das am besten mit Java tun.
      Quelle? Du stehst vielleicht auf Java, aber Java ist nicht perfekt und es ist auch nciht DIE Anfängersprache und es ist in OOP auch nicht besser als andere Programmiersprachen, weil die Grundlagen immer die gleichen sind.
    • asdfg
      asdfg
      Bronze
      Dabei seit: 13.05.2006 Beiträge: 1.824
      Also wenn du wirklich garkeine Ahnung von Programmieren hast, ist des scheisegal mit welcher Sprache du anfängst. Du wirst so oder so erstmal erschlagen und weist überhaupt nicht was da abgeht. Dann würd ich sagen nimm dir irgendeine Sprache und such dir ein tutorial im I-net und arbeite dich da mal rein und dann schau mal weiter ob du dann noch bock hast des programm zu schreiben.
    • pYrania
      pYrania
      Bronze
      Dabei seit: 09.02.2006 Beiträge: 854
      Wenn man lernt zu Programmieren, ist die dahinterliegende Programmiersprache egal.

      Ihr scheint alle nur Programmiersprachen anwernden zu wollen.
    • SWEBBO
      SWEBBO
      Bronze
      Dabei seit: 03.08.2006 Beiträge: 529
      Original von Hafish
      Ich versteh euer Problem nicht. Wenn man Delphi benutzt, dann platziert man da nen Button auf dem Formular, macht nen Doppelklick und programmiert los. Das da schon 20 Zeilen Quellcode erstellt werden mit Klassen etc nimmt man einfach hin und speichert es irgendwo im Hinterkopf.

      Dann programmiert man zwar in der Button-Click Methode, aber man braucht sich ja noch gar nicht darum zu kümmern was diese Klassen und Methoden etc alles sind. Bei ner Ausgabe merkt man sich ein memo.add und kümmert sich wieder nicht darum was der Punkt und das Add sind. Ganz einfach.

      Als ich mit Delphi angefangen habe hatte ich auch noch keine Ahnung von OOP, aber das braucht man ja auch nicht. Im Gegenteil. Wenn man dann irgendwann soweit ist, dass man mit OOP anfangen will, liest man sich den entsprechenden Abschnitt in einem Buch durch oder halt ein Tutorial. Und plötzlich sieht man da überall Dinge, die einem schon bekannt vorkommen. Z.b. eine OnClick Methode oder ein memo.add etc. Und dann versteht man das ganze sogar noch einfacher, weil man alles schon irgendwie mal gemacht hat, ohne es der OOP zuzuordnen.

      Original von KraGena
      Wollt ihr OOP lernen, so kann man das am besten mit Java tun.
      Quelle? Du stehst vielleicht auf Java, aber Java ist nicht perfekt und es ist auch nciht DIE Anfängersprache und es ist in OOP auch nicht besser als andere Programmiersprachen, weil die Grundlagen immer die gleichen sind.
      Das hat aber nichts mit Delphi, sondern mit dem IDE zu tun. Es gibt auch für C++ eine Entwicklungsumgebung, bei der man mit Drag&Drop relativ einfach Formulare erstellen kann dann die Button usw programmiert. Ein Beispiel wäre der Borland Builder.

      Ich geb dir aber recht, dass über diese Tools der Einstieg in eine OOP Sprache deutlich vereinfacht wird, da man sich nicht mit abstrakten Begriffen wie Klasse oder Instanz beschäftigen muss. Der Programmierer platziert einen Button und einer der großen Vorteile von OOP ist, dass dies vollkommen intuitiv geschieht.
      Man sollte sich jedoch nach einem Einstieg von solchen IDEs wieder entfernen, da jeder Programmierer seine Methoden selber schreiben und dies nicht von einem Programm verwalten lassen sollte. Aber das ist ja eher Offtopic.

      Zum Thema:
      Ich habe bisher in C++, Java und Python (und Scheme aber davon will hoffentlich keiner was wissen ;) ) gearbeitet und würde mich an deiner Stelle zwischen Java und Python entscheiden. Zu Java findest du unglaublich viele Informationen und die Sprache ist sehr verbreitet. Außerdem ist sie meiner Meinung nach relativ verständlich und kann bei gutem Stil auch sehr übersichtlich bleiben.
      Python ist meiner Meinung nach eine sehr gelungene OOP Sprache und auch sehr einstiegsfreundlich, da z.B. die Basis Datentypen in erster Linie keine Rolle spielen. Python wird auch in bekannten Softwareprojekten eingesetzt, z.b. ist youtube meines Wissens mit dieser Sprache implementiert worden.

      Zu deinem Vorhaben:
      Ich befürchte, dass du dieses Ziel so schnell wie du es dir wahrscheinlich erhoffst nicht erreichen wirst, kann dir aber nur empfehlen trotzdem mit dem Programmieren anzufangen, wenn es dich interessiert. Man findet immer wieder Anwendungsgebiete, wofür mans brauchen kann.