Wie lerne ich programmieren?

Guten Tag,

Ich würde gerne Programmieren lernen.
Mit welcher Sprache ist es sinnvoll anzufangen?
Manche haben mir C empfohlen. Ist das gut so oder sollte ich eine einfachere Sprache zuerst lernen?
Gibt es eine gute Webseite oder könnt ihr mir Bücher empfehlen?
Danke!

So allgemein kann man das nicht sagen.
Als Programmierer hat man im Allgemeinen nicht das Ziel viele Programmiersprachen zu lernen, sondern die Konzepte zu verstehen und dann bei Bedarf, die
Sprache zu lernen, die man dann auch tatsächlich braucht.

Prinzipiell gibt es 4 Gruppen von Programmiersprachen:
deklarative: C, C++, Java, Basic, …
Logic-Programmierung: Prolog
Funktional-Programmierung (Lisp), Miranda
der Name der 4. Gruppe fällt mir gerade nicht ein (Ich glaube es war Datenfluß gesteuerte Programmierung).

In der Wirtschaft wird fast nur die 1. Gruppe verwendet. Das Konzept dieser Gruppe ist für die meisten Menschen auch am einfachsten zu verstehen.

Logic-Programmierung wird fast nur in der UNI-Forschung und in seltenen Fällen in der Wirtschaft bei sogenannten Rule-Engines verwendet.

Funktionale-Programmierung ist bei Mathematikern sehr beliebt, weil es dem Vorgehen in der Mathematik ähnelt.

Ich empfehle dir daher eine Programmiersprache wie Java, Basic, C, C++, Perl, Python, … zu lernen.

Generell würde ich sagen:
Lerne eine Programmiersprache, die auch viele deiner Bekannten & Verwandten können, denn kein Buch ist so gut, wie ein menschlicher Lehrer, der einem Fragen
beantworten kann.

Da Java momentan mit Abstand am meisten Eingesetzt wird und deutlich weniger Stolperfallen als C++ hat, empfehle ich JAVA.

Java hat zudem den Vorteil, das es eine sehr gute Dokumentation der Bibliotheken (API genannt) gibt.

Auf der SUN-Webseite gibt es auch zahlreiche Tutorials (hab ich zwar selbst nicht verwendet, aber hab nur gutes von Ihnen gehört)
http://java.sun.com/javase/6/docs/api/

Auch für Java spricht das es sehr komfortable IDE (Entwicklungsumgebungen gibt) Eclipse ist kostenlos und sehr mächtig.
Speziell fürs erlernen von Java ist die Entwicklungsumgebung BlueJ (http://www.bluej.org/) gedacht. Sie wird u.a. in UNIs beim Erlernen von Java verwendet.
(hab ich selber nie verwendet, aber nur sehr gutes davon gehört))

Javaprogramme laufen im Gegensatz zu Programmen, die in anderen Sprachen geschrieben wurden auch unter verschiedenen Betriebssystemen (Apple, Windows, Linux,
Solaris, …)

Ich empfehle also JAVA.

Auch ist der spätere Umstieg auf C++ oder C nicht allzu schwer. Grundlegend sehen viele Konstruktionen in Java aus, wie in C oder C++ (da Java sich die
Syntax von C als Vorlage genommen hat)

Ich könnte noch viel schreiben was der Vor-/Nachteil der einen oder anderen Sprache ist, …

Java ist aber definitiv leichter zu erlernen als C++.

Ein spezielles Buch für Anfänger kenne ich leider nicht.
Wenn Du aber später etwas Erfahrung hast ist zu empfehlen:
„Thinking in Java“ von Bruce Eckel
und „Effective Java“

Wenn Du noch irgend welche konkreten Fragen hast, zögere nicht noch einmal zu schreiben.

Kommt ganz darauf an was du Programmieren möchtest.
Du könntest auch Websprachen erlernen also von HTML, über PHP/SQL bis hin zu Javascript…

Die konkrete Programmiersprache ist beim „Programmieren lernen“ weniger wichtig als vernünftige Grundlagen der Informatik, Programmiertechniken, ein Verständnis für Algorithmen und Datenstrukturen … auch wenn vielleicht die eine Sprache für bestimmte Zwecke komfortablere Konstrukte bietet als die andere. Aber grundsätzlich können alle universellen Sprachen typische Probleme des Programmierer-Alltags lösen. Deshalb gibt es beispielsweise das Standardwerk „Algorithmen (und Datenstrukturen)“ von Robert Sedgewick auch für verschiedene Programmiersprachen.

Meine Empfehlung für den Einstieg: Versuche schriftlich zu erklären, wie ein Schuh mit Knoten und Schleife gebunden wird, indem jeder Schritt im Detail beschrieben wird - mit welcher Hand welche Seite des Schnürsenkels festgehalten wird, wie die andere Seite daran vorbei geschoben oder gezogen wird … wenn man anfängt, über das, was unterbewusst automatisch abläuft, genauer nachzudenken, bekommt man ein gutes Verständnis für die notwendige Abstraktion beim Programmieren.

Niklaus Wirth hatte Pascal einst als Ausbildungssprache entwickelt. Insbesondere die recht festen Regeln zur Struktur eines Programmtextes und zur Syntax erfordern vom Programmierer üblicherweise, vor der ersten Zeile Quellcode nachzudenken, was überhaupt zur Umsetzung notwendig ist, welche Typen und Variablen vereinbart werden müssen, ob wahrscheinlich häufiger wiederverwendbare Programmteile in Units ausgelagert werden sollten…

In der Wirtschaft ist der Bedarf an Pascal-basierten Sprachen (z.B. Delphi) leider eher gering, und die meisten anderen deklarativen oder objektorientierten Sprachen orientieren sich eher am effizienten, aber nicht so intuitiven Quelltext-Stil von C. Um sich dennoch an Disziplin zu gewöhnen, kann Java eine relativ gute Sprache zum Lernen sein. Skriptsprachen für Webserver (PHP, Perl, Ruby) oder Webbrowser (JavaScript) dagegen sind wegen ihres lockeren Umgangs mit Datentypen eher berüchtigt; manche sind durch ihre umfangreichen Funktionsbibliotheken gar so mächtig, dass der Programmierer teilweise den direkten Einfluss auf die Ausführung abgibt (scherzhaft als „Picard-Sprache“ bezeichnet: „Machen Sie es so.“).

HTML ist keine Programmiersprache. Sie beschreibt das Aussehen von Dokumenten, aber keine Programmabläufe.