Forum: PC-Programmierung Programmieren lernen?


von Kurt Z. (Firma: PCU) (kurt03)


Lesenswert?

Hallo!

Ich finde Programmieren ja total faszinierend, kann es aber nicht. Wie 
lerne ich am besten programmieren? Welche Sprache soll ich lernen? Gibt 
es da gute Bücher?

: Gesperrt durch User
von Simon S. (herrbert)


Lesenswert?

Es is stinklangweilig und macht kopfweh aber der Kaffee ist gut.

nej, "was willst du programmieren?" ist hier wohl die Gegenfrage die 
erst beantwortet werden muss bevor dir irgendwer vernünftig helfen kann 
:)

von Stefan (Gast)


Lesenswert?

[Regieanweisung]

Der Glaubenskrieg ist eröffnet

[/Regieanweisung]

PS: Ich wett alles auf mindestens 50 Antworten in den ersten Tagen...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Programmieren lernen? Schöner Ansatz, leider tun es viel zu viele ohne 
es zu tun (also programmieren, ohne es zu lernen).

von Falk B. (falk)


Lesenswert?

@ Kurt Zimmermann (Firma PCU) (kurt03)

>lerne ich am besten programmieren?

Bücher lesen, Beispiele durcharebiten, selber kleine Programme 
schreiben.

> Welche Sprache soll ich lernen?

Meine Meinung. In dieser Reihenfolge ist es am leichtesten, in die Welt 
der Programmierung einzusteigen

1.) BASIC, möglichst ohne GOTO Befehl
Pascal war füher mal recht gut und beliebt, ist leider nicht mehr ganz 
up to date, wenn man einen brauchbaren Compiler noch auftreiben kann 
(z.B. Delphi), das ist das eine Alternative.

2.) C, der Klassiker und defacto Industriestandard; Aber mit VIELEN 
Fallstricken und offenen Messern gespickt. IMO GAR NICHT für Einsteiger 
geeignet!!! Da hab ich als schon recht routinierter Programmierer noch 
tierisch geflucht!

3.) Assembler, wird heute nur noch selten gebraucht, ist aber im Feld 
der Mikrocontrollerprogrammierung bisweilen nützlich

> Gibt es da gute Bücher?

Ja. Direkte Empfehlung kann ich keine geben, weil meine Bücher die ich 
damals so hatte alle antiquiert sind, aus Ostzeiten. Der Klassiker ist 
immer noch "Programmieren in C", entweder das Original (in deutscher 
Übersetzung) oder diverse Klone davon.

http://www.mikrocontroller.net/buecher/

Dann gibt es noch diverse "Schiki Micki Sprachen" wie Java, C# (C Sharp) 
etc. Damit kenn ich mich aber nicht aus.

MfG
Falk

von Hmm... (Gast)


Lesenswert?

Vielleicht können ja mal einige erfahrenere Leute ihre Lernlaufbahn 
auflisten, immerhin scheint ihr Weg schonmal mehr oder minder 
erfolgreich gewesen zu sein ;)

Also:

Los ging alles mit einem alten Robotron KC87 (2.5 MHz, 16kB Ram und 
genauso viel ROM, Programme wurden von klassischen Audio-Kassetten in 
Form von Tonfolgen geladen)), an dem habe ich mir anhand der 
mitgelieferten Anleitung BASIC beigebracht. An weitere Literatur zu 
kommen war da als Schüler zu Ost-Zeiten leider etwas schwierig.

Einige Jahre später gab es dann den ersten PC, an welchem ich mich mit 
QBASIC versucht habe, auch hier war die QBASIC-Doku recht hilfreich.

So richtig am PC programmiert habe ich dann erst mit Pascal, auch noch 
unter DOS. Hierfür gabs dann in unserer Dorf-Bücherei immerhin schon 
einige Bücher aus den späten 80iger-Jahren.

Irgendwann viel mir dann ein Buch über x86-Assembler in die Hände, das 
hat dann meine Leidenschaft für Hardware-nahe Programmierung geweckt, 
die bis heute noch erhalten geblieben ist. Als Einstieg kann ich hier 
Rainer Backer "Programmiersprache Assembler" empfehlen, allerdings ist 
das auch schon sehr eingestaubt. Ausserdem wird Assembler am PC schon 
seit Jahren nicht mehr im professionellem Bereich eingesetzt. Sogar alle 
aktuellen Betriebssysteme sind zu 99.9% in C/C++ geschrieben. Allerdings 
gab (gibt?) es bis in die späten 90iger Jahre eine recht aktive 
Demo-Coding-Szene wo nach kleinere Animationen und Mini-Spiele in 
Assembler (ja, auch unter Windows/OpenGL!) programmiert wurden.

Ende der 90iger Jahre hab ich dann nach einem kurzem auf C/C++ 
umgesattelt, hier hat mir das Buch "Jetzt lerne ich C++" von 
Markt&Technik einen guten Einstieg gegeben. Tiefer in die Programmierung 
bin ich dann durch Stefan Zerbst's wunderbares Buch 
"3D-Spieleprogrammierung mit DirectX" eingestiegen.

Kurz vor Studi-Beginn (Elektrotechnik/Nachrichtentechnik) hab ich dann 
meine Begeisterung für die AVRs entdeckt, die man endlich wieder 
sinnvoll in Assembler programmieren kann (zumindest bei den Tinys ist es 
teilweise immer noch sinnvoll, komplette Anwendungen in Assembler zu 
schreiben).

Meiner Meinung nach ein guter Einstieg:

Besorg dir das alte DevCpp-Paket (das ist eine freie 
Entwicklungsumgebung für C/C++) und eine Einführung in die 
C-Programmierung. Hoffe es kann hier im Forum jemand dazu ein paar Tipps 
geben.

Der DevCpp ist zwar mittlerweile auch schon etwas angestaubt, aber 
gerade dadurch ist er auch nicht so komplex wie andere moderne 
Werkzeuge. Damit sollte erstmal ein frustfrei(erer) Start möglich sein.

Halte dich zunächst an einfache Konsolen-Anwendungen (also Programme im 
'Dos'-Textfenster), die sind wesentlich einfacher zu überblicken als 
komplexe grafische Programme und du kannst in Ruhe erstmal alle 
Eigenheiten der Sprache C erlernen. Ausserdem kannst du hier schön Zeile 
für Zeile durch deine ersten Gehversuche springen.

C auf einem Mikrocontroller ist für den Einstieg nicht zu empfehlen, da 
hier extrem viele Fallstricke lauern.

von Stefan Salewski (Gast)


Lesenswert?

>Vielleicht können ja mal einige erfahrenere Leute

Ach Leute...

Erstens ist es doch für einen heutigen Anfänger völlig schnuppe, wie wir 
mal angefangen haben. C-64 und Datasette, oder Pascal an der Uni mit 
Teletyper?

Und: Der Threadstarter hat weder gesagt wie alt er ist noch ob er mal 
Informatikprofessor werden will oder nur ein paar paar elementare 
Basic-Anweisungen abarbeiten will.

von Hmm... (Gast)


Lesenswert?

Und er hatte auch nich gesagt, ob er unter Windows oder Linux oder gar 
auf einem Mikrocontroller lernen möchte.

Programmieren kann man ein Excel-Skript oder einen Texteditor mit Delphi 
zusammen klicken. Ist beides irgendwie programmieren,oder?

Also wen der Topic-Eröffner etwas genauer schreibt was er eigentlich 
lernen möchte, dann kann man auch etwas detailierter Tipps geben.

von hans (Gast)


Lesenswert?

Neulich (Ausgabe 17/2008) hatte CT das Visual Studio 2008 Express auf
der CD.
http://www.heise.de/ct/08/17/122/

Kann auch bei MS direkt geladen werden:
http://www.microsoft.com/germany/express/

Für die enthaltenen Sprachen gibt es unzählige Foren, Beispiele
und Bücher. Für kleine Anwendungen bestens geeignet, auch um seine 
eigenen
Vorlieben zu entdecken (c oder Basic oder ?)

gruß hans

von yalu (Gast)


Lesenswert?

Früher war alles noch so einfach: Entweder man hatte einen Computer,
oder man hatte keinen. Hatte man keinen,was der Normalfall war, besorgte
man sich einen Ersatz aus Papier und Holz:

  http://www.wolfgang-back.com/knowhow_home.php

Damit konnte man programmieren lernen. Viele Möglichkeiten hatte man
nicht, Internetforen gab es auch noch keine, also stellte man keine
Fragen, sondern konnte es nach einigen Versuchen einfach.

War man glücklicher Besitzer eines Apple, PET oder TRS-80, war der
Einstieg in die Programmiereung ebenfalls klar vorgegeben: Auf diesen
Rechnern war genau eine Programmiersprache fest installiert, nämlich
BASIC. In der beiliegenden Gebrauchsanleitung stand geschrieben, wie man
damit programmiert. Nachdem man die Anleitung durchgelesen und jeden
BASIC-Befehl ausprobiert hatte, konnte man programmieren (oder dachte es
zumindest ;-)). Am Stammtisch war man jedenfalls das Genie.

Und heute? Jeder kauft man sich einen PC vom Lebensmitteldiscounter.
Programmieren? Häh, was? Auf dem PC ist weder BASIC noch irgendeine
andere Programmiersprache installiert. Ist ja auch klar: Programmieren
tun heutzutage nur noch die Inder.

Stattdessen kann man im Internet surfen. Immerhin gibt es im Internet
ungefähr 759 verschiedene Programmiersprachen, die man alle umsonst
herunterladen kann. Man weiß nur nicht, welche.

Zum Glück gibt es Internetforen, wo man fragen kann. Hier bekommt man
ungefähr 759 verschiedene Antworten, und am Schluss ist man genauso
gescheit wie vorher.

Am Stammtisch kann man mit der Programmiererei auch nicht mehr prahlen.
Software wird nicht mehr programmiert, sondern kopiert, das ist viel
effizienter.

Also lässt man das Programmieren lieber sein und nutzt die vielen
Gigahertze des Prozessors, um sich Titten anzuschauen.

Ja, ja, so ändern sich halt die Zeiten ...

Dem Kurt kann ich deswegen nur raten, sich auf dem Flohmarkt nach einem
verstaubten Apple mit vergilbtem Handbuch umzusehen. Damit steht seinem
Werdegang zum "Real Programmer" nichts im Wege ;-)

Euer ewig gestriger yalu

von daniel (Gast)


Lesenswert?

jouu, yalu hat's getroffen :)

von gast (Gast)


Lesenswert?

also ich hab mit PHP angefangen und fands ziemlich cool und denk im 
nachhinein auch, dass es so sinnvoll war. Ich hab damals ne Stufenpage 
gemacht und würde auch sagen dass ein konkretes Projekt am Anfang einen 
motiviert dran zu bleiben.
An der Uni hatten wir am Anfang auch ein Praktikum in dem man ein 
Programm zur Laufzeitanalyse von Gattern schreiben musste und auch hier 
fand ich sinnvoll und motivierend wenn auch kompliziert.
In PHP selbst muss man sich um nichts kümmern was dem Anfänger ein paar 
Hürden aus dem Weg räumt. Orientiert ist PHP auch an C aber naja das 
selbe ist es definitiv nicht! Aber die Syntax ist ähnlich.

so das damit mein post nicht offtopic ist

zu meinem Vorredner hab ich was lustiges:
Also lässt man das Programmieren lieber sein und nutzt die vielen
Gigahertze des Prozessors, um sich Titten anzuschauen.

http://de.youtube.com/watch?v=S7d5suAzdEA

von daniel (Gast)


Lesenswert?

am besten mit einfachem Editor anfangen
nix full blown pattern refactoring enabled dingens

syntaxhighlighting muss sein
eventuell noch compile und run
und eventuell² projektpfade zu includes etc

wegen der Sprache, nimm irgendeine, ist egal welche.
ich kann 5 verschiedene und das werden bestimmt nicht die letzten sein.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Womit ich nicht anfangen würde: C oder PHP, ersteres erfordert eine hohe 
Frusttoleranz, beides verleitet zu schlechtem Stil.

Basic ist sicher nach wie vor keine schlechte Wahl, aber inzwischen gibt 
es modernere Sprachen die auch nicht schwieriger zu lernen sind. Ruby 
oder Python fallen mir da zuerst ein.


Wie dieser Thread enden wird ist abzusehen, nämlich gar nicht...

von Stefan S. (energizer)


Lesenswert?

Ich persönlich habe auf einem Commodore 64 angefangen BASIC zu 
programmieren.
Dann später auf dem PC bin ich mit Delphi eingestiegen, womit man meines 
Erachtens sehr schnell zu einem Erfolg kommt. Dann kam C, weil es für 
den AVR keinen Delphi Compiler gab ;-) Dadurch habe ich C "lieben" 
gelernt, es dann auch auf dem PC verwendet und durch die Sehnsucht nach 
objektorientiertem Programmieren noch C++ erlernt. Dann 
anwendungsbedingt noch etwas Java und PHP gelernt.
Delphi kann ich für den Einstieg in die Windowsprogrammierung sehr 
empfehlen, da gibt es auch wie schon genannt eine kostenlose 
Express-Version. C# ist vielleicht einen Blick wert, auch da gibt es 
eine Umsonst-Version. Bei C/C++ kann ich mich an den Vorredner nur 
anschließen; Man kann einfach zu leicht über eine rote Ampel laufen.

von daniel (Gast)


Lesenswert?

irgendwie scheinen sehr viele Menschen Programmiersprache mit
"imperative Programmiersprache" gleichzusetzen.
Es gibt ja viel mehr dadraussen ;)
Die funktionalen werden zumindest die Informatiker noch kennen
und manch einer auch können.
Dann gibt es noch gleichungsbasierte Sprachen. Diese sind
den meisten unbekannt. (wer möchte google nach equation based language)
Den Ansatz finde ich sehr interessant. Ich habe mich auch in Modelica
eingearbeitet. Dymola bietet da eine kostenlose Try-Version
oder man kann OpenModelica als Umgebung nehmen.

von Richard Zink (Gast)


Lesenswert?

[Vielleicht können ja mal einige erfahrenere Leute ihre Lernlaufbahn
auflisten, immerhin scheint ihr Weg schonmal mehr oder minder
erfolgreich gewesen zu sein ;)]

Ich habe 1993 mit QBasic angefangen, bin dann aber innerhalb von 2 
Wochen auf PowerBasic (richtiger Compiler, kein Interpreter) 
umgestiegen.
1997 dann Umstieg auf VisualBasic, leider wieder Interpreter, sofern ich 
mich erinnere. 2005 kam dann Delphi an die Reihe, für die Firma in der 
ich jetzt arbeite. Und privat kam vor kurzem dann C für Mikrocontroller 
an die Reihe. Allerdings: C/C++ kann man einfach lernen, würde aber 
empfehlen mit ner anderen Sprache die Fehler eher "verzeiht" anzufangen 
und dann auf C/C++ umzusatteln. Und welche Sprache die beste ist: Musst 
du dir selbst aussuchen.
Für Visual Basic, Delphi und C++ gibts in etwa genausoviele Beispiele im 
Internet, von welchen du lernen kannst.

Viele Grüße,
Richard

von juppi (Gast)


Lesenswert?

Meine Vorgänger haben eigentlich schon alles gesagt.

Hinzufügen mochte ich nur noch wenig.
Wenn du 15 J alt bist kannst du mit jeden anfangen,es bleibt dir immer 
noch genügend Zeit wieder umzusteigen, aber du sammelst Erfahrungen.

Wie ich immer sage "Der Weg ist das Ziel"

Bist du 60J ,dann solltest du zielgerichteter wählen,
denn das Leben ist kurz.

Gruß

von Moi (Gast)


Lesenswert?

Ohne mir alles durchgelesen zu habe: Ich habe mit Basic auf einem 
Schneider CPC angefangen. Danach QBasic am PC. Irgendwann kam dann 
Pascal dazu. Unter Windows dann Visual Basic. Später PHP (was ich nun 
auch mal als Programmiersprache nenne, obwohl ich weiss, dass es eine 
Scriptsprache ist). Und nun durch das Studium auch C.
Nachdem ich jetzt recht routiniert in C und PHP bin musste ich mal 
wieder ein Programm in Visual Basic schreiben und habe echt geflucht.
Ich würde, auch wenn es vielleicht viele Fall Stricke gibt, lieber 
gleich in C anfangen, da man sich sonst so schmutzige 
Programmiertechniken, wie sie in Visual Basic üblich sind, gar nicht 
erst angewöhnt. (Stichwort: Goto)

von P. S. (Gast)


Lesenswert?

Da hier ja auch das Mikrocontroller-Forum ist, wuerde ich auch zur 
Mikrocontroller-Programmierung raten. Der Vorteil ist, dass das eine 
recht uebersichtliche Platform ist (so wie die guten alten 
Homecomputer). Viele Anfaenger wollen gleich epochales leisten, einen 
neuen Ego-Shooter oder sowas programmieren - auf dem Mikrocontroller 
gibt es das nicht, da kann man sich am Anfang darauf konzentrieren, mit 
ein paar LEDs zu spielen, evtl. mit einem Textdisplay. Wichtig ist, dass 
man eine bekannte Hardware waehlt, die aus der Packung funktioniert und 
nicht erst in Gang gebracht werden muss - gerade als Anfaenger sind zu 
viele Fehlerquellen zu vermeiden. Vorteil der AVR-Ecke ist, dass es 
dafuer ein Basic gibt. Einfach zu programmieren, nicht all zu viele 
Fallstricke, schnelle Erfolgserlebnisse. Damit kann man rumspielen und 
waehrendher lernt man, was so ein Computer eigentlich ist und wie er 
"denkt". Wenn das klappt, wuerde ich Assembler empfehlen, auf der 
gleichen Platform, die gleichen Beispiele. Das groesste Problem an 
Assembler ist, dass man ohne jeden Komfort dasteht - alles muss man 
selbst machen, in winzigen Schritten. Aber wer durch Assembler durch 
ist, weiss, dass auch die grossen und maechtigen Sprachen nur mit Wasser 
kochen, was ein Speicher ist, Pointer, etc, pp. Wer das kann, ist bereit 
fuer den besten Assembler der Welt: C/C++ ;^) Wer von Assembler her 
kommt, hat eigentlich nicht viele Probleme mit C. Wer nur Basic, Java 
oder sonstwas kennt, hat meist gar keine Vorstellung davon, wie ein 
Computer funktioniert. Was man spaeter dann mal benutzt, ist 
Geschmackssache. Nur gelernt haben sollte man die anderen Sprachen 
schon.

von Hans H. (Firma: pc) (hansmeister)


Lesenswert?

Ich habe Programmieren direkt mit einer "echten" Programmiersprache 
gelernt, das war recht frustrierend. Ich würde eher eigens für 
Lernzwecke entwickelte Programmierumgebungen empfehlen.

Kara wurde an der ETH Zürich entwickelt:
http://www.educ.ethz.ch/lehrpersonen/informatik/unterrichtsmaterialien_inf/programmieren/kara_umgebung/index
Dort programmierst du einen Marienkäfer, der verschiedene Aufgaben lösen 
soll. Ist gratis, aber leider ein bisschen abstrakt: bis du dein erstes 
Programm in einer "normalen" Programmiersprache schreibst, dauert es 
ganz schön lang.

Direkt mit Java startest du im Hamster-Modell, an der Uni Oldenburg 
entwickelt:
http://www.java-hamster-modell.de/
Ist halt auch ein bisschen Uni-mässig staubig-trocken, bietet aber eine 
gute Einführung.

CeeBot4 ist ähnlich, hat aber einen viel mehr spielerischen Zugang, fast 
wie ein Videospiel, man lernt aber auch eine ganze Menge dabei:
http://www.ceebot.org/index.php?lang=ge

Wenn du es trotz allen Warnungen sofort mit einer "echten" 
Programmiersprache versuchen willst, kann ich folgende Websites für Java 
empfehlen:
http://www.gailer-net.de/tutorials/java/java-toc.html
http://www.boku.ac.at/javaeinf/
http://hestia.hs-niederrhein.de/~gkorsch/javakurs/Javagk.htm
Und folgende für PHP:
http://www.php-dummies.de/
http://alexander-projects.de/
http://cgi.tu-harburg.de/~rztmbr/Kurse/PHP/PHP_Kurs/
Websites haben vor Büchern den Vorteil, dass man die erklärten Programme 
direkt in den Programmeditor kopieren kann. Auch findest du viele Foren, 
wo du Fragen stellen kannst, bevor du ganz verzweifelst. Echt 
pädagogisch ist aber keine der Websites "für Anfänger", die ich gefunden 
habe.

Viel Spass!

von Gelegenheitsprogrammierer (Gast)


Lesenswert?

Andreas Schwarz (andreas) (Admin) wrote:

> Wie dieser Thread enden wird ist abzusehen, nämlich gar nicht...

jaja, so wird es kommen :) 1)

Wie wäre es diesen Fred mit den bereits existierenden Threads die sich 
um das gleiche Problem drehen zu verlinken?

ich will das gleich mal machen

Beitrag "Programmierung für Linux und Windows"

wäre doch mal interessant zu erfahren, was daraus geworden ist

1) ein wild gackernder Hühnerhaufen und jedes Huhn empfiehlt was anderes 
:)

mein Gegacker lautet deshalb wie folgt

mit C anfangen

Warum? Ganz einfach, ist sehr nützlich für 
Mikrocontroller-Programmierung

dirty pittfals? Aber sicher doch, na und? Versuch macht kluch! :)

zu C passt Assembler wunderbar (sind wir wieder bei den Mikrocontrollern 
um die sich quasi alles oder vieles dreht)

für die bunten Oberflächen (unter Windows) kann man auch C verwenden, 
durch anprogrammieren der guten alten Win32 API (Charles Petzold lesen!) 
..

.. wer das zu schwierig, altbacken oder mittlerweile als zu 
eingeschränkt empfindet der ..

tja, bei dem fängt die Diskussion erneut an :)

Ich empfehle es mit C-Sharp (C#) zu probieren (hab mir das selber 
angesehen und bin dabei es mir reinzupfeifen); erfordert aber eine 
andere Denke als das typisch funktionale durchlaufen eines C-Programms 
von oben nach unten; man hat es dann mit Objekten und deren 
Eigenschaften zu tun (dafür fühlt man sich als "C# Kenner" dann 
wahrscheinlich auch schnell bei Java und ein paar anderen Sprachen 
beheimatet; man könnte natürlich auch gleich damit anfangen, aber die 
Welt der Objekte und Mikrocontroller? Ich weiß nicht, ich weiß nicht .. 
;))

Wer nur mal eben was für die bunte Oberfläche stricken möchte, der 
sollte sich lieber einer der Skriptsprachen/Interpretersprachen 
bemächtigen (ich würde wahrscheinlich Python nehmen)

von ende (Gast)


Lesenswert?

Ist doch alles gesagt!
Beitrag "Re: Programmieren lernen?"

von Hmm... (Gast)


Lesenswert?

> Websites haben vor Büchern den Vorteil, dass man die erklärten Programme
> direkt in den Programmeditor kopieren kann.

Das ist der größte Nachteil vom Internet. Bei Copy und Paste bringt man 
Dinge zum laufen, die man nicht versteht und auch nicht zwangsläufig 
100%ige durchdenken muss. Beim abtippen ist man eher gezwungen sich mit 
dem Beispielcode zu Beschäftigen und bekommt gleich ein Gefühl für 
häufig verwendete Schlüsselwörter und Syntax. Das kommt beim stupiden 
abkopieren nicht auf. Und auch der ein oder andere Tipp-Fehler zwingt 
zum drüber nachdenken, was man gerade warum tut.

Und am wichtigsten:

Sogut wie alle Anfänger-Beispiele bestehen nur aus wenigen Code-Zeilen, 
selbst sehr komplexe (Anfänger-)Beispiele haben nie mehr als 50, 60 
Zeilen Code. Wenn man nicht die 20 Minuten zum abtippen hat, hat man 
auch nicht die Zeit eine Programmiersprache zu lernen.

von yalu (Gast)


Lesenswert?

> Das ist der größte Nachteil vom Internet. Bei Copy und Paste bringt
> man Dinge zum laufen, die man nicht versteht und auch nicht
> zwangsläufig 100%ige durchdenken muss. Beim abtippen ist man eher
> gezwungen sich mit dem Beispielcode zu Beschäftigen und bekommt gleich
> ein Gefühl für häufig verwendete Schlüsselwörter und Syntax.

Deswegen tippe ich (scheinbar schwachsinnigerweise) auch die Beispiele
aus dem Internet ab.

Damit die Abtipperei nicht zu stupide wird, versuche ich, beim Abtippen
gleich ein paar kleinere Modifikationen einzubauen (z.B. andere
Variablennamen). Wenn das Beispiel dann noch läuft, wird es so lange
verbogen und erweitert, bis es das nicht mehr tut. Dann kann man zum
nächsten Abschnitt des Tutorials übergehen. Ist dieses gut gemacht,
findet man dort die Erklärung, wie man es richtig gemacht hätte.

Auf diese Weise lerne ich am schnellsten und vor allem am
nachhaltigsten. Da hat aber jeder seine eigene Methode.

von Johnny (Gast)


Lesenswert?

Ich lerne am schnellsten, wenn ich gleich mal was praktisches damit 
umsetze. Dann kommt einem das Lernen/Programmieren nicht so unnütz vor.

von Hmm... (Gast)


Lesenswert?

> Ich lerne am schnellsten, wenn ich gleich mal was praktisches damit
> umsetze. Dann kommt einem das Lernen/Programmieren nicht so unnütz vor.

Jap, der Extreme-Programming Ansatz. Keine trockene Theorie, gleich und 
direkt zum Ziel. Ist ganz gut geeignet wenn man sicher in der Materie 
ist, zum lernen ist das allerdings eine echte Katastrophe. Es entsteht 
jede Menge brand-gefärhliches Halbwissen und da der von anderen 
geschriebene Quark vorerst läuft merkt man es noch nicht einmal...

von X. H. (shadow0815)


Lesenswert?

>daniel (Gast)
>irgendwie scheinen sehr viele Menschen Programmiersprache mit
>"imperative Programmiersprache" gleichzusetzen.
>Es gibt ja viel mehr dadraussen ;)


Mein Eindruck von funktionaler Programmierung ist, dass es scheinbar nur
für Akademiker ist und keine Praxis hat. Kann man
Betriebssysteme/Treiber/GUI/Spiele mit einer funktionalen
Programmiersprache erstellen?

Selbst wenn einige Programmiersprachen den Sinn im lösen von
Mathematischen Problemen haben (=nicht universell heul) -
So stellen Anfänger sich meiner Meinung nicht "Mal was programmieren"
vor.

von Michael L. (Gast)


Lesenswert?

Hallo Kurt,

> Ich finde Programmieren ja total faszinierend, kann es aber nicht. Wie
> lerne ich am besten programmieren? Welche Sprache soll ich lernen? Gibt
> es da gute Bücher?
es kommt sehr darauf an, was Du machen willst.

Ich würde als Anfänger mit einer imperativen Programmiersprache 
anfangen. Imperativ bedeutet "durch Befehl". Es geht dabei um eine 
Sprache, bei der Du dem Rechner Zeile für Zeile sagst, was er zu tun 
hat. Das läuft dann etwa so ab:

a = 5;      // Gib der Variablen a den Wert 5
b = 7;      // Gib der Variablen b den Wert 7
c = a+b;    // Addiere a und b und benenne das ganze c.

Das kann auch sein "Zeichne eine Linie von (x1,y1) zu (x2,y2)".

Es gibt auch andere Ansätze (objektorientiert, funktional). Ich empfehle 
Dir aber, solche Spezialitäten erst zu lernen, wenn Du imperativ 
programmieren kannst. Objektorientiertes Programmieren lohnt sich erst 
bei sehr großen Programmen und hilft bei der Organisation des 
Programmier- und Programmablaufs. Für den Mikrocontroller brauchst Du 
das erstmal nicht, und funktionales Programmieren führt ohnehin ein sehr 
bescheidenes Nischenleben.

Wenn Du später einmal Mikrocontroller programmieren willst, würde ich 
empfehlen, mit C anzufangen. C ist eine der am häufigsten verwendeten 
Sprachen für Mikrocontroller und hat ganz ähnliche Strukturen wie viele 
andere Sprachen auch. Ganz grob gilt bei den imperativen 
Programmiersprachen ohnehin: Kennst Du eine, kennst Du alle.

C hat den Vorteil, daß Hardwarezugriffe vorgesehen sind. Genau das 
brauchst Du beim Mikrocontroller.

Empfehlenswert zum Erlernen von C ist beispielsweise das Buch:
http://www.amazon.de/Programming-Language-Prentice-Hall-Software/dp/0131103628

Willst Du in Richtung Signalverarbeitung gehen, kann ich Dir die 
Skriptsprache Matlab empfehlen. Der Vorteil gegenüber C besteht darin, 
daß sie viele mächtige Befehle standardmäßig eingebaut hat (inkl. FFT u. 
ä) und zur Visualisierung von Daten bestens geeignet ist. Trotzdem 
kannst Du auch ganz normale Programmierbefehle (Schleifen, wenn/dann 
Entscheidungen) erlernen und ausführen.

Um Klickibunti-Anwendungen zu programmieren brauchst Du Aufsätze auf die 
üblichen Programmiersprachen, beispielsweise Borland C++ oder Visual C++ 
statt C/C++. Das ist aber der zweite Schritt.


Gruß,
  Michael

von christian (Gast)


Lesenswert?

Linux auf die Festplatte! Für Umsteiger/Einsteiger würde
ich SuSe empfehlen.Ist noch am nähesten an der Windows
"ich-klick-mir-was-zusammen" -Welt.(Installation als
Dualsystem klappt auch für DAU's).

Anschließend gehts schnell:

1. Texteditor wählen(Linux hat viele und die besten!)

2. Programm in C schreiben(Hallo Welt als anfang?):

################################################
           #include <stdio.h>
           int main (int argc, char *argv[])
           {
              printf("Hallo Welt!\n");
              return(0);
           }
#################################################

3. Kompilieren(C-GNU-Compiler ist schon installiert):
        Textkonsole(shell)öffnen,
        folgendes eintippen:
                   gcc -g -o hallowelt hallowelt.c

Wenn fehlerfrei Programm starten mit ./hallowelt

4. Wenn du Interesse hast was hinter den Kulissen
   des Programms vorsichgeht, ist eine -g Option
   eingefügt.Damit kannst du den Debugger starten,
   in SuSe z.b. ddd hallowelt,ddd ist auch schon
   vorhanden.

Alles in allem eine Sache von 5min,bis zum 1.Programm.
Die Möglichkeiten vieles zu probieren und zu erlernen
wird dir nur mit Linux gegeben!Alles ist Opensource!
Alles ist gut dokumentiert.
Windows als Entwicklungsumgebung wird dir schnell
deine Grenzen aufzeigen.
(es gibt auch für windows gute Entw.werkzeuge,aber
unerschwinglich für Privatperson)

Probiers mal aus.

Mfg
Christian

von I_ H. (i_h)


Lesenswert?

Assembler ist auch keine schlechte Wahl. Du freust dich tierisch über 
dein erstes "Hello World", und später hast du mit Zeigern in C/C++ kaum 
Probleme.

von Kai W. (walle79)


Lesenswert?

Stefan wrote:
> [Regieanweisung]
>
> Der Glaubenskrieg ist eröffnet
>
> [/Regieanweisung]
>
> PS: Ich wett alles auf mindestens 50 Antworten in den ersten Tagen...

Das ist eine total sinnlose Frage. Als ob es net tausend Beiträge und 
allen möglichen Foren geht...

Denken, Drücken, Sprechen/Schreiben ...

von Arc N. (arc)


Lesenswert?

> Windows als Entwicklungsumgebung wird dir schnell
> deine Grenzen aufzeigen.

Welche Grenzen?

> (es gibt auch für windows gute Entw.werkzeuge,aber
> unerschwinglich für Privatperson)

Alle Visual Studio Express Versionen sind kostenlos.
Von Codegear/Borland gibt's den TurboExplorer für Delphi/C++/C# 
kostenlos.
Eclipse, Code::Blocks etc. laufen auch, wobei Eclipse nichts für 
schwache Hardware ist und die Debugger (ddd/gdb) wesentlich schlechter 
sind als die von MS.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

http://norvig.com/21-days.html ;)
Ich bin schon bei mehr als 10 Jahren lern aber immer noch was dazu ^^

von Arc N. (arc)


Lesenswert?

Läubi Mail@laeubi.de wrote:
> http://norvig.com/21-days.html ;)
> Ich bin schon bei mehr als 10 Jahren lern aber immer noch was dazu ^^

Wenn das noch die Verantwortlichen verstehen würden, die immer 
Fachkräftemangel schreien...

von Gelegenheitsprogrammierer (Gast)


Lesenswert?

> Windows als Entwicklungsumgebung wird dir schnell
> deine Grenzen aufzeigen.
> (es gibt auch für windows gute Entw.werkzeuge,aber
> unerschwinglich für Privatperson)

Was ist denn das für ein hohles Geschwätz? Da zeigt einer auf wie man 
mit gcc und einem simplen Text-Editor sein erstes 'Hallo, Welt' Programm 
kompiliert und redet dann davon, es gäbe keine Erschwinglichen 
Entwicklungswerkzeuge für Windows?

Hallo! Sag mal, geht's noch? Es gab schon IMMER erschwingliche 
Entwicklungswerkzeuge. Damals nannten die sich Turbo Pascal 5.5, 6.0 und 
Turbo C++ 3.0, 3.1. Die musste man zwar noch kaufen, aber auch die waren 
bezahlbar und billiger als ein MS Office und sogar billiger als ein 
Winword 6.0. Damals hätte man sich alle Finger danach geleckt eine 
komplexe Entwicklungsumgebung wie Visual C# Express für lau benutzen zu 
dürfen oder eine sehr schöne u. einfache integrierte 
Entwicklungsumgebung wie diese hier verwenden zu dürfen

http://www.smorgasbordet.com/pellesc/index.htm

Der Programmieranfänger braucht vor allem gute Codebeispiele, die er 
verstehen und nachvollziehen kann. Eine gute Hilfe mittels F1-Taste, wie 
sie damals die Borland-Produkte aufwiesen, lassen die Fragezeichen im 
Gesicht des Einsteigers deutlich kleiner werden, die sich bei einem 
leeren Texteditor + Compiler sonst schnell einstellen werden. Ein gutes 
Buch das einfache Beispiele schrittweise erläutert hilft Frust zu 
vermeiden (ein gutes Skript geht auch, ist aber oft didaktisch nicht so 
gut aufgebaut und meistens nicht so ausführlich). Der Rest kommt dann 
mit der Zeit. Das Wichtigste ist eigentlich dass man sich wohl fühlt und 
am Ball bleibt. DAS richtige Buch + DIE richtige Entwicklungsumgebung 
muss jeder für sich selber finden. Das kann am Anfang etwas mühsam sein. 
Schon die Frage welche Programmiersprache man sich jetzt "antut" kann 
ein zäher Prozess sein. Meine Empfehlung daher: Nix Exotisches am Anfang 
nehmen und nicht zuviel verlangen (Sätze wie, "ich will programmieren 
lernen, um Spiele selber zu programmieren sind naiv und enden 
schließlich in Frustration). Am besten fängt man mit Konsolenprogrammen 
an und lässt Fenster mit Menüs (egal ob unter Linux oder Windows) erst 
man beiseite. Klappt es mit den Konsolenprogramm(en), dann übergehen zum 
Dialog-orientierten Programm mit einfachen Button und danach zum 
Fenster-orientierten Programm mit Steuerelementen wie Menüleisten. Von 
den Assistenten die gleich ganze Anwendungen zusammenklicken sollte man 
als Einsteiger die Finger lassen. Davon lernt man nix! Man muss die 
Quelltexte im Ganzen verstehen und nicht einen vorgegebenen Quelltext 
irgendwo ergänzen und dann nicht so richtig wissen, an welcher Stelle 
eigentlich was passiert.

von Sven P. (Gast)


Lesenswert?

Gelegenheitsprogrammierer wrote:
> [blablabla]
> Der Programmieranfänger braucht vor allem gute Codebeispiele, die er
> verstehen und nachvollziehen kann.
DAS ist der Punkt.

> Eine gute Hilfe mittels F1-Taste, wie
> sie damals die Borland-Produkte aufwiesen, lassen die Fragezeichen im
> Gesicht des Einsteigers deutlich kleiner werden, die sich bei einem
> leeren Texteditor + Compiler sonst schnell einstellen werden.
Vorallem empfehle ich ein dickes Buch über den C(89,99)-Standard. Das 
bringt gegenüber der üblichen "Jetzt lerne ich"- und 
"C-Für-Anfänger"-Literatur einen ganz gewaltigen Vorteil: Man hangelt 
sich nicht von Beispiel zu Beispiel und steht am Ende im Regen da, 
sondern man sieht, dass C überschaubarer und kompakter ist, als man 
glaubt. Natürlich sollte man schon grunsätzliche Syntaxkenntnisse 
mitbringen, aber immerhin nimmt einem so ein Buch ganz gut das Gefühl, 
nur an der Oberfläche zu kratzen. Denn in C "kommt nach Syntax nicht 
mehr viel", so zu sagen. Ihr versteht schon.

> Ein gutes
> Buch das einfache Beispiele schrittweise erläutert hilft Frust zu
> vermeiden (ein gutes Skript geht auch, ist aber oft didaktisch nicht so
> gut aufgebaut und meistens nicht so ausführlich).
Am besten sogar eine Person, die einem mal ne Viertelstunde lang Schritt 
für Schritt erklärt, wo die { hinkommt und so weiter. Auch das nimmt 
einem ganz schnell die Angst vor wilden Sonderzeichenorgien und taugt 
ewig mehr als irgendwelche Syntaxbäumchen.

> Der Rest kommt dann
> mit der Zeit. Das Wichtigste ist eigentlich dass man sich wohl fühlt und
> am Ball bleibt.
Programmieren, programmieren, programmieren!

> DAS richtige Buch + DIE richtige Entwicklungsumgebung
> muss jeder für sich selber finden. Das kann am Anfang etwas mühsam sein.
Genau, vorallen Dingen bitte "Buch", so richtig aus Papier. Zumindest 
aus eigener Erfahrung hab ich gemerkt, dass man bei Online-Dokus viel 
leichter abschweift oder zu Copy&Paste neigt. Kauf dirn Buch, das 
kannste aufm Weg zur Arbeit weiterlesen bzw. zurücklesen um zu 
rekapitulieren und gut.

> Schon die Frage welche Programmiersprache man sich jetzt "antut" kann
> ein zäher Prozess sein. Meine Empfehlung daher: Nix Exotisches am Anfang
> nehmen und nicht zuviel verlangen (Sätze wie, "ich will programmieren
> lernen, um Spiele selber zu programmieren sind naiv und enden
> schließlich in Frustration).
Und man darf durchaus später wechseln, ohne den Kopf abgerissen zu 
bekommen! Sah bei mir so aus:
- Rohde&Schwartz-Basic
- QBASIC auf dem ersten eigenen Rechner
- National Instruments' LabVIEW
- Visual Basic
- Turbo Pascal
- PHP, Perl (mal sondiert, dann bei PHP hängen geblieben)
- Delphi (in der Schule)
- C
- C++ (auch mal sondiert, aber keinen Gefallen dran gefunden)

> Am besten fängt man mit Konsolenprogrammen
> an und lässt Fenster mit Menüs (egal ob unter Linux oder Windows) erst
> man beiseite.
Auch das ist ne gute Empfehlung.

> Klappt es mit den Konsolenprogramm(en), dann übergehen zum
> Dialog-orientierten Programm mit einfachen Button und danach zum
> Fenster-orientierten Programm mit Steuerelementen wie Menüleisten.
Das ist der schwierigste Schritt.

> Von
> den Assistenten die gleich ganze Anwendungen zusammenklicken sollte man
> als Einsteiger die Finger lassen. Davon lernt man nix! Man muss die
> Quelltexte im Ganzen verstehen und nicht einen vorgegebenen Quelltext
> irgendwo ergänzen und dann nicht so richtig wissen, an welcher Stelle
> eigentlich was passiert.
Das Problem bei der Sache ist, dass es meistens nur noch Assistenten 
gibt: Visual-XXX (ohne .NET) kommt mit Resourcendateien daher, genauso 
wie Borland-C. Da hat man als Programmierer fast schon keinen Einfluss 
mehr auf das Erzeugen der Bedienoberfläche.
Gegenbeispiel wäre dazu das GTK (mit dem auch Gnome geschrieben ist): 
hier schreibt man sich in C seine Oberfläche Stück für Stück zusammen.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Sven Pauli wrote:

>> Am besten fängt man mit Konsolenprogrammen
>> an und lässt Fenster mit Menüs (egal ob unter Linux oder Windows) erst
>> man beiseite.
> Auch das ist ne gute Empfehlung.

Nicht unbedingt - man sollte für solche Aufgaben aber auch das passende 
Werkzeug verwenden. C oder C++ sind für grafische Oberflächen sicherlich 
das falsche.

>> Klappt es mit den Konsolenprogramm(en), dann übergehen zum
>> Dialog-orientierten Programm mit einfachen Button und danach zum
>> Fenster-orientierten Programm mit Steuerelementen wie Menüleisten.
> Das ist der schwierigste Schritt.

Nein :-)
Das ist sogar einfach - z.B. mit Tcl/Tk

>> Von
>> den Assistenten die gleich ganze Anwendungen zusammenklicken sollte man
>> als Einsteiger die Finger lassen. Davon lernt man nix! Man muss die
>> Quelltexte im Ganzen verstehen und nicht einen vorgegebenen Quelltext
>> irgendwo ergänzen und dann nicht so richtig wissen, an welcher Stelle
>> eigentlich was passiert.

Das stimmt.

> Das Problem bei der Sache ist, dass es meistens nur noch Assistenten
> gibt: Visual-XXX (ohne .NET) kommt mit Resourcendateien daher, genauso
> wie Borland-C. Da hat man als Programmierer fast schon keinen Einfluss
> mehr auf das Erzeugen der Bedienoberfläche.

Ja, deswegen verwende ich da Tcl/Tk.

> Gegenbeispiel wäre dazu das GTK (mit dem auch Gnome geschrieben ist):
> hier schreibt man sich in C seine Oberfläche Stück für Stück zusammen.

Ja, das ist ein echter Krampf - musste ich mir nicht lange antun.

Ein Beispiel für die Einfachheit von Tcl/Tk gefällig?
Hier das übliche "Hello World" - als Button im Fenster. Bei Anklicken 
wird dieses geschlossen:
1
button .b -text "Hallo Welt!" -command exit
2
pack .b

Das war's :-)

Für den OP:
Für einen Überblick würde ich mir mal das Wiki zu Tcl/Tk ansehen - dort 
sind schöne Beispiele zu sehen, wie man mit schon mit einigen Zeilen 
eine GUI stricken kann: hier sogar in Deutsch:
http://wiki.tcl.tk/2548

Übrigens kann man Tcl auch auf Controllern verwenden - mache ich hier 
mit großem Erfolg. Allerdings muss ich da meinen Vorrednern Recht geben: 
C sollte man in dem Bereich unbedingt können.

Und noch ein Goodie: Tcl/Tk und praktisch sämtliche Erweiterungen stehen 
unter BSD-Lizenz, dürfen also ohne Quelltexte weitergegeben werden.

Chris

von Sven P. (Gast)


Lesenswert?

Musses wohl klarer ausdrücken, wohl gemerkt, ich rede hier von C/C++. 
Dass es Alternativen gibt, die einfacher sind (z.B. Skriptsprachen wie 
Tcl/Tk, PHP und Co., und die auch alle schöne, bunte Oberflächen machen, 
WEISS ICH).

Chris D. wrote:
> Sven Pauli wrote:
>
>>> Am besten fängt man mit Konsolenprogrammen
>>> [...]
>> Auch das ist ne gute Empfehlung.
>
> Nicht unbedingt - man sollte für solche Aufgaben aber auch das passende
> Werkzeug verwenden. C oder C++ sind für grafische Oberflächen sicherlich
> das falsche.
C und C++ sind für die Programmlogik durchaus die richtige Wahl. 
Blöderweise verschleiern aber solche resourcenbasierten 
Oberflächen-"Designer", was denn nun wirklich im Programm passiert. QT 
(was an sich ne feine Sache ist) treibt das sogar so weit, dass es 
selber noch ne ganze Menge C++-Code dazupackt, den der Programmierer 
garnicht zu sehen bekommt.

Tk ist für GUI ne prima Sache, aber irgendwie zieht es mich bei 
hardwarenaher Programmierung (Auswertprogramme an RS232, Parallelport, 
ISA, wasauchimmer) gerne wieder zu C hin. Und richtig flotte Sachen mach 
ich auch wesentlich lieber in C als in Tcl/Tk, und wenns dann nachher 
wieder als Tcl/Tk-Erweiterung auftaucht.

Was manche (mich eigentlich nicht) noch stören könnte ist, dass die 
Oberflächen von Tk von Haus aus nicht uuuunbedingt sooo toll aussehen, 
also so richtig ins QT-Feeling von KDE oder ins Aussehen von Gnome 
passen die eigentlich nicht.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Sven Pauli wrote:
> Musses wohl klarer ausdrücken, wohl gemerkt, ich rede hier von C/C++.
> Dass es Alternativen gibt, die einfacher sind (z.B. Skriptsprachen wie
> Tcl/Tk, PHP und Co., und die auch alle schöne, bunte Oberflächen machen,
> WEISS ICH).

Gut ;-)

>> C oder C++ sind für grafische Oberflächen sicherlich
>> das falsche.
> C und C++ sind für die Programmlogik durchaus die richtige Wahl.

Eben. Man beachte den Unterschied: Programmlogik <-> grafische 
Oberfläche :-)

> Blöderweise verschleiern aber solche resourcenbasierten
> Oberflächen-"Designer", was denn nun wirklich im Programm passiert. QT
> (was an sich ne feine Sache ist) treibt das sogar so weit, dass es
> selber noch ne ganze Menge C++-Code dazupackt, den der Programmierer
> garnicht zu sehen bekommt.

Tja :-/

> Tk ist für GUI ne prima Sache, aber irgendwie zieht es mich bei
> hardwarenaher Programmierung (Auswertprogramme an RS232, Parallelport,
> ISA, wasauchimmer) gerne wieder zu C hin. Und richtig flotte Sachen mach
> ich auch wesentlich lieber in C als in Tcl/Tk, und wenns dann nachher
> wieder als Tcl/Tk-Erweiterung auftaucht.

Ja, klar - genau dafür ist Tcl/Tk ja auch gemacht worden: der 
Allerweltskram wird skriptmäßig erschlagen und hardwarenahe 
Funktionalität wird in C implementiert und als neuer Tcl-Befehl 
eingebunden. Die Schnittstelle zu Tcl ist mMn die bestdokumentierte und 
einfachste, die ich je gesehen habe.
Wobei ich sagen muss, dass ich selbst bei hardwarenahen Kundenprojekten 
selten mehr als 5% wirklich in C implementieren muss.
Das erstaunt mich immer wieder selbst :-)

> Was manche (mich eigentlich nicht) noch stören könnte ist, dass die
> Oberflächen von Tk von Haus aus nicht uuuunbedingt sooo toll aussehen,
> also so richtig ins QT-Feeling von KDE oder ins Aussehen von Gnome
> passen die eigentlich nicht.

Oh, dann hast Du länger nicht mehr bei Tk vorbeigeschaut. 
Themenbasiertes Aussehen ist enthalten. Unter Windows und Mac sowieso, 
unter X11 auch seit einiger Zeit (Stichwort: ttk).
Das zugegebenerweise hässliche Motif/X-Outfit ist damit glücklicherweise 
Geschichte.

Chris

von Sven P. (Gast)


Lesenswert?

Gut so :-)

von Magnifico (Gast)


Lesenswert?

Ich benutze ein wirklich kleines Entwicklungsboard mit NXP LPC11U68 
Cortex-M0 + von dieser Seite (https://eigerdb.eu/), wo ich auch einige 
interessante grundlegende Tutorials gefunden habe. Deshalb benutze ich 
es. Ich denke, dass der Mikrocontroller alle Peripheriegeräte hat, die 
Sie benötigen.

von Ach nee (Gast)


Lesenswert?

Hallo,

Über diese Antwort wird sich der Threadersteller aber freuen.

Ach nee

von Mr.Mainfold (Gast)


Lesenswert?

Für grafische Oberflächen ist, ohne Scherz, Lazarus Pascal, super.
C/C++ ist gerade für den Anfang frustrierend, meist gibt es dann auch 
nicht den bedarf, Wenn Du gut mit Lazarus Pascal arbeiten kannst, gibt 
es faktisch keinen Grund zu C++ zu wechseln.
Python hat sicher auch seine Vorteile, ist meines Wissens aber nach wie 
vor, für größeres und Grafisch nicht optimal.
Weshalb Lazaraus eine Option ist?
Es ist sehr einfach, gibt sehr günstig unzählige Bücher(Einfach Bücher 
für Delpi kaufen) eine sehr freundliche hilfreiche Community, die ein 
nicht ständig bei jeder Frage an den Kopf wird, das man sich ein Buch 
kaufen und lesen soll, oder google bemühen soll ;-) Solche Antworten 
braucht halt wirklich niemand.
Ursprünglich wurde Pascal ja mal als Lehrsprache entwickelt, mit Turbo 
Pascal, Delphi / Lazarus ist es aber voll Alltagstauglich geworden.
Das Erstellen geht damit super fix und auch große Projekte sind damit 
problemlos möglich.
Unter C++ fällt mir nur MS Visuell C++ ein, was als Alternative taugt.
Im Basic Bericht, wäre Visuell Basic sicher auch nicht schlecht.
Sowohl BAsic als auch PAscal eignen sich später zur µC Programmierung 
dank Mikro.com gibt es für alle gängigen µC auch basic und Pascal
http://www.lazarus-ide.org/

von Mr.Mainfold (Gast)


Lesenswert?

der Themenstarter evtl. nicht. aber der nächste den diese Frage 
beschäftigt..vielleicht erweiterst Du mal etwas Deinen Horizont?...

von kommt einer um die Ecke (Gast)


Lesenswert?

...und empfiehlt: Arduino.

von Istdochso (Gast)


Lesenswert?

Delphi,C++,Assembler,Basic,Java (zeitl. Reihenfolge)

Fazit: Ein motivierendes Buch holen (egal welches oder welche Sprache) 
und das durcharbeiten bis du alles verstanden hast.

Tipp: Ohne Codeergänzung usw arbeiten. Besser alles im Kopf. Und: Scheiß 
auf deine Eltern usw, wenn die das nicht verstehen oder gut finden. Mach 
dein Ding.

von A. (Gast)


Lesenswert?

30 Jahre später gibt es eine Lösung auf ale Probleme. Ok, es sind nur 10 
Jahre, aber immerhin.

von Mr.Mainfold (Gast)


Lesenswert?

vielleicht wäre ja auch Feedback interessant, was er nun gemacht hat?
Können sich die Leute , die nichts zum Thema Beitagen, einfach mal 
enthalten?!?

von imonbln (Gast)


Lesenswert?

Andreas S. schrieb:
> Basic ist sicher nach wie vor keine schlechte Wahl, aber inzwischen gibt
> es modernere Sprachen die auch nicht schwieriger zu lernen sind. Ruby
> oder Python fallen mir da zuerst ein.

Dem würde ich mich Anschließen, ich denke Python ist heute eine gute 
Wahl für Anfänger als erste Sprache. Als Ergänzung würde ich allerdings 
denn Trick meines Informatik Lehrer nehmen und dem TO empfehlen ein, 
zwei Gebrauchsanleitungen vorher zu schreiben. Zum Beispiel für die 
Kaffeemaschine oder den Rasenmäher. Dabei sollte eine kleine Anleitung 
raus kommen welche es ermöglicht den Gegenstand zu benutzen. Der Vorteil 
von diesen Anleitungen ist, das man lernt strukturiert zu denken ohne 
Programmieren zu können.

hier mal ein Beispiel für die Kaffeemaschine:
1
Anleitung für eine Kaffeemaschine:
2
3
1.) Maschine aufmachen, nachsehen ob noch ein filter drin ist, wenn einer drin ist raus nehmen und entsorgen. 
4
2.) Neuen Filter in die Maschine einlegen, wenn kein Filter im Haus, filter auf die Einkaufsliste und Programm beenden.
5
3.) Kaffee in den Filter einführen, pro Tasse einen Teelöffel Kaffee. Keinen Kaffee im Haus gibt es nicht ;) 
6
4.) Wassertank überprüfen ob genügend Wasser drin ist, wenn das Wasser zu wenig ist nachfühlen bis mindestens die Marke für die gewünschte menge Kaffee erreicht ist oder der tank voll ist. 
7
5.) Kaffeemaschine Einschalten, wenn die Kaffeemaschine nicht startet stecker überprüfen und ggf einstecken, wenn dann immer noch nicht geht Wartungstechniker Anfordern. 
8
6.) Warten bis der Kaffee durch ist.
9
7.) Kaffee genießen!

Das schöne an dieser Art der Anleitung, ohne viel Programmiererfahrung 
oder  Informatik Kenntnisse fängt man an zu denken wie ein Software 
Entwickler, gerade am Anfang kann das eine Hilfe sein.

von DPA (Gast)


Lesenswert?

Ich finde C & Konsolenanwendungen zum anfangen am besten. C ist eine 
sehr minimalistische imperative Programmiersprache mit statischer 
Typisierung. Man hat alle Standard Sprachkonstrukte, wie z.B. 
Datenstrukturen, Funktionen, Schleifen, Bedingungen, etc. aber nicht 100 
Konstrukte um das selbe mit ein paar anderen Gewürzen zu Backen, wie 
dies z.B. bei C++ der Fall ist. Und dank der statische Typisierung kann 
man alle Fehler bei der falschen Nutzung von Variablen und Funktionen 
schon im voraus beim Kompilieren erkennen. Bei anderen 
Programmiersprachen mit dynamischer Typisierung merkt man Dinge wie den 
Typo beim Methodenaufruf erst zur Runtime. Das fehlende bound Checking, 
welche es einfach macht sich das Programm zur Runtime zu zerschiessen, 
ist ein wenig ein nachteil. Pointer zu haben, und sich selbst mit dem 
Memory Management auseinander setzen zu können, ist ein grosser Vorteil. 
Klar, man kann schnell mal was vergessen oder doppelt freigeben, aber 
mit etwas Übung lernt man recht schnell, damit umzugehen. Bei anderen 
Programmiersprachen mit Garbagecollection machen sich viele keine 
Gedanken mehr um Memory Management, aber der GC löst die Probleme nicht 
magisch. Es gibt immer noch Memoryleaks, wenn man noch irgendwo 
Referenzen herumhängen hat, man weiss nie so genau, wann der GC wieder 
zuschlagen wird, bei Programmen wie z.B. Games kann man Latenzprobleme 
bekommen, wenn der GC sich mal wieder ein paar Frames zeit nimmt, und in 
JS hatte ich schon mal eine sich regelmässig updatende Datenstruktur, 
bei welcher das herausfinden was noch referenziert ist mit den 
Algorithmen der gängigen Browser als derart ineffizient herausstellte, 
dass ich 100% CPU last hatte von der der Browser 99% der Zeit mit GC 
beschäftigt war, bis ich das gedebugt hatte...

Ich selbst hatte damals mit einer Webseite angefangen. Mit JS kann man 
erstaunlich viel machen, es gibt für alles APIs, man hat schon ein GUI 
Framework, etc. Irgendwie scheinen aber bei JS viele Probleme zu haben 
ihren Code sauber zu strukturieren und werfen weitere Frameworks und 
Libraries auf Probleme, noch bevor sie die APIs die der Browser schon 
anbietet überhaupt gelernt haben... Nach meiner ersten Webseite hatte 
ich damals ein 3D Game mit C++ und OpenGL geschrieben. Es funktioniert, 
aber der Code ist eine Katastrophe, würde der heute jemand lesen bekäme 
dieser sofort einen Herzinfarkt.

Das wichtigste ist, viel üben, auch Code anderer anschauen, versuchen 
Probleme selbst zu lösen, auch mit Debuggern und co., keinen Code 
einfach so kopieren, und sich auch mit Algorithmen beschäftigen und sich 
verschiedene Lösungen für seine Problem ausdenken. Und nie vergessen, es 
gibt immer für alles einen Grund. Ich habe schon Läute gesehen, die 
konnten Programmieren ohne die geringste Ahnung zu haben was sie 
eigentlich tun. Ich bin nie dahinter gekommen, wie das möglich war.

Ausserdem ist es von Vorteil, von Grund auf alle Abläufe zu kennen, und 
sich beim Programmieren nicht nur auf Tools zu verlassen. Eine IDE z.B. 
ist ja praktisch, aber man sollte schon in der Lage sein seinen Code 
auch ohne diese zu compilieren.

Und zu guter letzt, ich finde auf Linux ist das Entwickeln wirklich am 
bequemsten. Dort ist alles vollkommen transparent. Die ganzen Werkzeuge, 
die es darauf gibt, und wie viel einfacher man diese darauf nutzen kann, 
ist phänomenal. Einige davon gibt es auf anderen OSen noch nicht einmal. 
Man sollte beim Programmieren aber allgemein keine Angst vor 
Kommandozeilen haben, gerade hier machen diese vieles einfacher.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Dieser Thread ist von 2008.

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.