Programmieren lernen

    • Programmieren lernen

      also ich wollte schon imer programmierer werden, z.b irgendwelche tools erfinden die mir das leben einfacher machen usw.ich kenn nur einige programmierersprachen und das sind folgende: script,c+,c++,javascript.aber das problem ist das ich keine ahnung davon habe.also ich glaube bzw. ich weis das hir einige sind die programmieren können.doch jetzt zu den stichpunkten.

      1.-wie soll ich anfangen und womit?
      2.-welche programmierersprache ist die einfachste?
      3.-welche arten von programmiersprachen gibt es?
      4.-wie schnell kann ich es lernen?
      5.-was kann ich damit machen?
      6.-wie habt ihr gelernt zu programieren und wie lange?
      7.-gibt es irgendwelche bücher übers programmieren lernen für anfänger?

      so das wars jetzt.und ich hoffe jemand kann mir helfen und beibringen.
    • So, Predigen von einem Programmiersprachen-Anfänger.

      Erstens: Stelle alle deine Erwartungen zurück, auch nur ein Tetris innerhalb von 5 Minuten zu programmieren.

      Nun gut, die einzelnen punkte abklappern. (Warum weiß ich, dass eine bestimmte Person/en hier antworten werden?)

      1. Informier' dich weiter oder frage, wie hier, in Foren nach.
      2. Für den Einstieg ist C++ ungeeignet, weil man natürlich von Anfang an Erfolge erzielen möchte. Die sahnst du in C++ nur in kleinen Portionen ab.
      Rate dir deshalb eher zu etwas einfacherem wie Python. Die Sprache hat Zukunft und ist auch nicht so starr wie BlitzBasic und Konsorten.

      Es bietet sich noch Java an, allerdings brauchst du da mehr Code für eine Textausgabe in der Konsole. (Leichte "Regel": Je kompakter/kürzer/insert here die Syntax für eine einfache Textausgabe ist, desto einfacher ist die Sprache. Funzt recht häufig, dieser Spruch.)
      3. Das dürfte dich anfangs noch nicht großartig interessieren. Von daher werfe ich einfach mal zwei umfassende Begriffe in den Raum: Interpreter- und Compilersprache. (Ist natürlich nur die Spitze des Eisberges.) Edit: Ach ja, sollte noch Assemblersprache erwähnen. Aber wie gesagt: anfangs nicht allzu wichtig.
      4. Kommt drauf an. Um Neulinge abzuschrecken, und das zu recht, wird oft eine Lernzeit von ca. 2-3 Jahren (C/C++) dargeboten.
      Allerdings kann ich dir versichern, dass dir das programmieren Spaß machen wird, sofern dir das auch wirklich liegt und du auch eine entsprechend leicht (für dich) zu erlernende Sprache lernst.
      5. Ähm, wie bitte? Grundsätzlich kannst du mit jeder modernen Programmiersprache alles machen. Anders sieht's natürlich aus wenn du versuchst, mit einer Interpretersprache einen FPS-Shooter in Crysis-Manier zu machen. *g*
      6. Ernsthaft programmiere ich noch nicht lange, habe atm aber auch 'ne kleine Pause eingelegt.
      7. Amazon. Tutorials im Internet bringen's manchmal jedoch auch. (Bei höheren Sprachen würde ich allerdings ein Buch empfehlen, da einem dort i.d.R. auch gleich 'ne saubere Syntax beigebracht wird.)

      EDIT: Hui, erster. Mal sehen, wann der Post von den 2 Furien im Board zerrissen wird. :D
      EDIR³: Warum hab ich nur die böse Vorahnung, die Zwei geweckt und den 2nd das-kann-nur-fake-sein-flame-war (dknfsfw2) ausgelöst zu haben? oo
      [Blockierte Grafik: http://i.imgur.com/NkRFZf6.png]

      The flowers that bloom in the warmth of the sun are there to be loved by everyone.

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Mugen ()

    • vielen dank^^

      dann werd ich mir mal vllt. i auch ein buch kaufen wo ich es dann lernen kann.
      aber was ich noch immer nciht weis, wo her krigt man die befehle was man in die config in das tool schreiben muss.oder woher und welches tool braucht man um mit dem programmieren anfangen zu können?

      EDIT: welches buch könntet ihr mir denn empfehlen? KLICK

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von LinkMaster ()

    • Ähm, nein? Es gibt auch eine deutsche Übersetzung und mal ganz btw: wenn du keine Lust hast, Englisch zu lernen bzw. zu verwenden, dann wird programmieren nicht das richtige für dich sein. Denn die meisten Dokumentationen sind auf Englisch. Dementsprechend auch Kommentare im Code, Lizenz-Beschreibungen/whatever.

      Selbst einfache Kontrollstrukturen (if/else/usw.) haben Ursprung aus der englischen Sprache (bei den meisten Programmiersprachen).

      Da musst du dich später auch durchbeissen.
      [Blockierte Grafik: http://i.imgur.com/NkRFZf6.png]

      The flowers that bloom in the warmth of the sun are there to be loved by everyone.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Mugen ()

    • RE: Programmieren lernen

      Original von LinkMaster
      1.-wie soll ich anfangen und womit?

      Leicht einsteigen und mit einfachen Sachen anfangen. ;)
      Original von LinkMaster
      2.-welche programmierersprache ist die einfachste?

      Welche ist die schwierigste?
      Original von LinkMaster
      3.-welche arten von programmiersprachen gibt es?

      Wie viele Sprachen auf der Welt gibt es?
      Original von LinkMaster
      4.-wie schnell kann ich es lernen?

      Wie schnell hast du die deutsche Sprache gelernt?
      Original von LinkMaster
      5.-was kann ich damit machen?

      Höchstens so viel wie mit einer Turing-Maschine.
      Original von LinkMaster
      6.-wie habt ihr gelernt zu programieren und wie lange?

      Gleich wie ich die deutsche Sprache täglich übe, so übe ich auch das Programmieren. Ich kann noch immer nicht den Duden auswendig. Programmieren lernt man ein Leben lang. ;)
      Original von LinkMaster
      7.-gibt es irgendwelche bücher übers programmieren lernen für anfänger?

      Ja.

      "Programmieren" bezeichnet eigentlich nur das Niederschreiben eines Algorithmus in einer konkreten Programmiersprache.Genauso wie ich einen Gedanken in verschiedenen natürlichen Sprachen (z.B. deutsch, englisch, japanisch) aussprechen kann, so kann ich auch einen Algorithmus in verschiedenen Programmiersprachen (z.B. C, C++, Java) formulieren. Ob jemand "programmieren" kann, lässt sich nicht daran ablesen, wie viele Programmiersprachen er beherrscht, sondern daran, ob es ihm gelingt, Vorgänge so gestochen scharf zu algorithmisieren, dass ein Computer damit etwas anfangen kann.

      Die Antwort auf deine letzte Frage sollte dir schon etwas Wichtiges zeigen: Ein Rechner denkt sich nichts aus und tut genau das, was man ihm sagt. Genauso muss der Algorithmus wirklich idiotensicher ausformuliert werden. Es reicht nicht, wenn er zu 99% stimmt; er muss zu 100% stimmen! Ein gutes Verständnis für Mathematik und Logik ist daher Grundvoraussetzung.
      "Programme sind wahrscheinlich die kompliziertesten technischen Artefakte, die jemals erstellt wurden. Sie bestehen aus sehr vielen Einzelheiten, die alle korrekt sein müssen, damit das Programm im Ganzen funktioniert."

      Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman: "Compiler - Prinzipien, Techniken und Werkzeuge", 2., aktualisierte Auflage

      Die Wissenschaft, die sich mit alledem (und noch viel mehr!) beschäftigt, ist die Informatik, die viel von der Mathematik "geklaut" hat. Wenn du dir nur einmal den Wikipedia-Artikel zur Informatik zu Gemüte führst, wirst du sehen, dass das bloße Niederschreiben von Befehlen ungefähr nichts von dem ist, worum es der Informatik eigentlich geht. ;)

      Was du noch brauchen wirst, ist Zeit, und davon nicht zu knapp. Wie lange hattest du gebraucht, bist du so schnell schreiben konntest, wie du es jetzt kannst? Und wie oft hast du dafür geübt? Täglich - jahrelang! Wichtig ist auch eine gesunde Erwartungshaltung. Die Wahrscheinlichkeit, dass etwas auf Anhieb funktioniert, ist möglicherweise so groß wie die eines Stromausfalls. Ich schreibe schon seit über zehn Jahren Programme und sitze trotzdem schon mal einen ganzen Arbeitstag lang an etwa 10 Zeilen Code. Als Programmierer ist man jeden Tag Anfänger. ;)

      Ark
    • Ich persönlich würde dir raten, dich erst einmal ein wenig in JavaScript einzuarbeiten. Ist zwar keine wirklich ernst zu nehmende Sprache, und bietet auch kein objektorientiertes Programmieren, allerdings ist es sicher gut geeignet, um mal ein Gefühl dafür zu bekommen, WAS programmieren eigentlich ist, und bietet schon viele Standardstrukturen wie if/else-Abfragen, Schleifen etc.

      Ist nur ein unverbindlicher Tipp von mir, aber ich halte das für intelligenter, als sich gleich von Python oder C++ erschlagen zu lassen...


      Top 4™ Bruno
      Think original.

    • so ....
      ich hab da auch mal ne frage !
      bei mir mir ist inetwa so wie mit LinkMaster ! auch ich würde gerne das programmieren richtig lernen ..... ich meine ... so was wie .bat dinge kann ja eh jeder ^^

      naja ... kann man sich java etc. einfach downloaden oder muss man es sich kaufen ?
      Phyton is mir bisher auch nur als schulprogramm bekannt .... ein freund von mir hats jedoch auf dem computer und er sagt es soll nicht SO einfach sein !
    • Original von Phael
      Ich persönlich würde dir raten, dich erst einmal ein wenig in JavaScript einzuarbeiten. Ist zwar keine wirklich ernst zu nehmende Sprache, und bietet auch kein objektorientiertes Programmieren, allerdings ist es sicher gut geeignet, um mal ein Gefühl dafür zu bekommen, WAS programmieren eigentlich ist, und bietet schon viele Standardstrukturen wie if/else-Abfragen, Schleifen etc.

      Ist nur ein unverbindlicher Tipp von mir, aber ich halte das für intelligenter, als sich gleich von Python oder C++ erschlagen zu lassen...


      ist diese homepage gut zum javascript lernen? KLICK
    • Also ich würde Javascript nicht als Einsteigersprache empfehlen.
      Javascript interpretiert jeder Browser anders und wird häufig auch einfach geblockt.
      Sie ist nicht wirklich objektorientiert und hat keine schöne Typprüfung.

      Da würde ich schon eine Sprache nehmen, mit der man auch mehr machen kann. Also z.B. Java.
      Java ist NICHT Javascript !!!
      Damit haben wir in der Schule auch angefangen. Im Studium haben wir mit Scheme angefangen und anschließend Java gelernt.
      Java läuft auf allen gängigen Betriebssystemen (Linux, Mac, Windows) und sämtlichen Hardwaresystemen (64Bit Architektur, 32Bit Architektur, moderne Handys, PDAs, ...) und es gibt viele Tutorials, Hilfestellungen und erfahrene Programmierer.

      Du kannst Java - wie alle Programmiersprachen - in einem normalen Texteditor schreiben.
      Für das "Schullernen" haben wir die Umgebung BlueJ bluej.org/ zum Programmieren verwendet.
      Als relativ professionelle Entwicklungsumgebung bietet sich später (!) Eclipse eclipse.org/ an.

      Java gibt es kostenlos hier: java.sun.com/javase/downloads/index.jsp
      Einfach dem obersten Verweis folgen.
    • Wenn man von Grund auf mit einer idiotensicheren Sprache einsteigen will und erst später zu schwierigeren, richtigen Programmier- oder Scriptsprachen übergehen will, empfehle ich Robot Karol. Das ist ein Programm, in dem man einem Legomännchen Befehle geben kann, und durch die es mit seiner Umgebung interagieren kann (bspw. Ziegel aufheben und hinlegen oder Marken auf dem Boden absetzen). Mit den eingebauten Hilfsdokumenten erlernt man die Sache in null komma nix und kann dann üben, in dem man sich beispielsweise selbst Aufgaben gibt wie "Lasse den Roboter selbstständig eine Burg aus Ziegeln bauen" und versucht, sie auszuführen.

      Eignet sich ganz gut, um die Grundlagen des Programmierens kennen zu lernen - mit dem Programm haben wir unser Wahlpflichtfach Informatik begonnen. :)
      The artist formerly known under a number of embarassing nicknames like "The Coldmage" (what), sanastro, Omareth etc.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von omg_a_sana ()

    • Hallo,

      zu 1.: Naja aller Anfang ist schwer. Ich persönlich hab' mit C und Stringmanipulationen angefangen, ich kann aber diesen Einstieg nicht wirklich weiterempfehlen. Mach am besten etwas, das dich auch interessiert und du nützlich findest. Ein Beispiel dafür wäre vllt. ein (Commandline-)Tool, das deine ID3-Tags deiner Musiksammlung automatisch nach einer Ordnerstruktur ändert (Ordner: Musik->Artist->Album->[Lied1, ...]) oder ein Programm, das eine Homepage auf Änderungen überprüft und danach eine Meldung ausgibt o.Ä.

      2.: Als Einstiegssprache würde ich ebenfalls Python empfehlen, da du damit relativ schnell Ergebnisse erreichen kannst (allerdings kein Tetris in 5 Minuten). Mit Python kannst du eigentlich so ziemlich alles - angefangen von einer Webapplikation bis hin zu Spielen - programmieren. Es gibt eine riesige Anzahl an Libraries, die teilweise in C geschrieben sind und sich dadurch auch für performancekritische Dinge eignen (zB.: 3D-Engines, ...). Alternativen zu Python wären Ruby oder Java, wobei letzteres meiner Meinung nach etwas "aufwändiger" ist. Python oder Ruby Code ist im Vergleich zu Java-Code oftmals kürzer und liest sich besser.

      3.: So spontan würde ich mal sagen OOP/Prozentural (am meisten verwendet), Logik orientierte (Prolog, relativ selten verwendet), funktionale (vllt. ein bisschen häufiger als Logik orientierte Sprachen, aber dennoch eher selten verwendet). Darüber hinaus könnte man Sprachen auch einteilen in maschinennähere Sprachen (ASM, C, C++) und "höhere" Sprachen (Python, Ruby, Java, C#, ...).

      4.: Ich würde mal ~2 Monate einberechnen bis du die grundlegenden Dinge intus hast. Wirklich meistern kannst du Programmieren, wie schon gesagt wurde, auch in 10 Jahren nicht.

      5.: Mit Python kannst du, wie gesagt, so ziemlich alles außer sehr maschinennahe Dinge (Treiberprogrammierung, Microcontrollerprogrammierung, ...) programmieren.

      6.: Ich hab' wie gesagt mit C und String-Manipulationen angefangen und so einfache Command-Line-Programme gemacht und danach so Programme mit DOS-Grafiken. Bis ich mit "richtiger" GUI Programmierung mit der WinAPI angefangen hab' hat es glaub' ich ein Jahr oder ein halbes Jahr gedauert. Von GTK wusste ich damals leider noch nichts :/.

      7.: Ich würde dir für den Anfang mal das hier empfehlen: wiki.python.org/moin/BeginnersGuide bzw. wiki.python.org/moin/Beginners…NonProgrammers?highlight=(BeginnersGuide/)

      Phyton is mir bisher auch nur als schulprogramm bekannt .... ein freund von mir hats jedoch auf dem computer und er sagt es soll nicht SO einfach sein !

      Yoah stimmt, programmieren ist halt generell leider nicht wirklich besonders einfach und kostet eine Menge Zeit, Geduld und nicht zuletzt Kreativität. Ich kenne viele Leute die dazu eine total falsche Erwartungshaltung gehabt haben (ala RPG-Maker) und danach vom Programmieren relativ stark frustriert waren.
    • Ich würde dir Java empfehlen.
      Eine der am meisten angwendetetsten Programmiersprache. Ich finde eher leicht für den Einstieg mit vielen Tuturials und möglichkeiten.

      Ich persönlich habe mit C angefangen, danach kam C++. Jetzt zur zeit gerade Java und C#.

      Achja.. Und ich würde dir eine Entwicklungsungebung mit Inteli Sense empfehlen, erleichtert dir viel schreibarbeit ;)
      James
      [Blockierte Grafik: http://dl.dropbox.com/u/24753690/stuff/forenlinks/rocketsign.png]
      Team Rocket - so schnell wie das Licht,
      gebt lieber auf und bekämpft uns nicht!

      join #teamrocket @iz-smart.net

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Stan ()

    • Na ja, Java hat durchaus seine Vorzüge:
      - sehr streng (Man lernt von Grund auf saubere Schreibweisen.)
      - keine manuelle Speicherverwaltung nötig (Man kann sich voll auf das Eigentliche konzentrieren.)
      - relativ einfache grammatikalische Strukturen (verglichen mit C++)

      Als Einsteigersprache hat sie auch einige Nachteile:
      - sehr starke Abstrahierung durch OO (Dass dahinter eine Rechenmaschine steht, die das alles ausführen muss, tritt, fast völlig in den Hintergrund.)
      - (deswegen) relativ viel zu schreiben (Schon für ein einfaches "Hallo Welt" müssen ziemlich viele Sprachelemente angewandt werden.)
      - (auch deswegen) möglicherweise geringes Grundverständnis von der Arbeitsweise des Rechners (bes. des Prozessors) (Es ist, als fahre man einen Mercedes, weiß aber nicht, was für ein Motor eingebaut ist oder wie er im wesentlichen arbeitet.)

      Trotzdem würde auch ich Java empfehlen, wenn man sich von den vielen Schlüsselwörtern anfangs nicht so verwirren lässt. ;) Aber daneben sind Assembler nicht uninteressant, da sie viele klärende Einblicke in die Welt des Rechnerkerns geben, nur leider ist die Literatur dort relativ rar.

      Womit man auf keinen Fall einsteigen sollte, sind GUI-Programmierung und Multithreading. ;)

      Kostenlose Literatur zu Java:
      javabuch.de/
      galileocomputing.de/openbook/javainsel7/

      Ark
    • Original von Nax
      [...](Prolog, relativ selten verwendet)[...]

      Zurecht :D
      Da man hier auch eine andere Logik anwenden muss als bei üblichen Programmiersprachen, sollte man die Finger davon lassen :x

      Also wir sind in der Schule mit "TurboDelphi" eingestiegen. Das gibt es umsonst; musst dich nur mit ausgedachten Daten bei Borland anmelden, um eine Lizenz zu bekommen. Wie es im Vergleich zu Java steht kann ich nicht sagen, allerdings würde ich es an deiner Stelle Python vorziehen, da man hier wortwürtlich sieht, was man tut (z.B. ein "Haus des Nikolaus" zeichnen und das dann so erweitern, dass man die Seitenlängen eingeben kann, wobei dir das hier jetzt als Aufgabenstellung ausreichen müsste und du dir selbst überlegen solltest, was sinnvoll und notwendig wäre ;)). Da ich zu TD kein Tutorial zur Hand habe, kann ich dir "DelphiKarel" empfehlen, das haben wir irgendwann zwischendrin gemacht. Das ist ein Rahmen, mit dem du arbeiten kannst: eben diese Anfänge der Funktionen, Erstellen von eigenen Funktionen, OOP, Arrays, Schleifen, Bedingungen, alles. Arbeitsaufträge und Lösungen dazu sind, soweit ich mich erinnern kann, auch gegeben.

      Sind wie gesagt meine Erfahrungen aus dem Unterricht, beobachtet bei den "Anfängern". Wer anfangs schon bei HTML und CSS geblockt hat und später bei PHP völlig streikte, kam dazwischen mit Delphi, zumindest vor eher theoretischen Sachen wie OOP, wunderbar zurecht ;)

      Nachtrag: Ein kleines Wörtchen hat gefehlt, und doch hat "es" den Sinn des Satzes völlig verändert...

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Evilitschi ()

    • @Ark:
      Ok mit der OOP hast du wohl recht. Man sollte die Grundlagen mit einer Sprache wie C lernen (also schleifen etc) dann die Ganze OOP in C++ (also alles von Klassenkonzept bis zu Polymorpie usw). Wenn man das alles kann (was zirka 1 Jahr dauern wird), dann kann man sich Java zuwenden, weil man dann schon genug OO Erfahrung durch C++ gemacht hat!

      Achja und die lektüre die du angibst verwenden wir im Unterricht ^^. Meiner Meinung nach aber nicht einsteigerfreundlich. Man sollte also schon Erfahrung mit Datenstrukturn usw mitbringen ;)

      EDIT: Achja wenn man von C/C++ kommt empfielt sich auch noch C# als gute OO Sprache, weil es einfach C/C++ ähnlicher wie Java ist, obwohl Java das natürlich auch ist..
      James
      [Blockierte Grafik: http://dl.dropbox.com/u/24753690/stuff/forenlinks/rocketsign.png]
      Team Rocket - so schnell wie das Licht,
      gebt lieber auf und bekämpft uns nicht!

      join #teamrocket @iz-smart.net

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Stan ()

    • Original von Stan
      Man sollte die Grundlagen mit einer Sprache wie C lernen (also schleifen etc) [...]
      Man sollte also schon Erfahrung mit Datenstrukturn usw mitbringen ;)

      Da nennst du Dinge, die ich eher nur "zufällig" in einer konkreten Programmiersprache lehren würde. Die eigentlichen Ideen hinter Iterationen, Rekursionen, Folgen, Mengen, verketteten Listen, Bäumen usw. sind eher informationstechnischer Natur und sollten meines Erachtens unabhängig von einer Programmiersprache begriffen/erklärt werden, also mit Stift und Papier. ;)

      Es wäre ja nicht schlecht, wenn sich der Threadstarter mal wieder zu Wort melden würde ... :)

      Ark