Welche Einstiegs-Sprache für Kind?

Hallo zusammen,

mein Sohn, 13 Jahre alt, möchte gerne programmieren lernen.
Er hat erste Gehversuche unternommen mit der Eingabeauforderung in Windows mit Hilfe eines Youtube-Tutorials und er hat auch über die Zusammenhänge in einem Computer-Einsteiger-Buch gelesen.

Als ich in seinem Alter war, konnte man schon tolle Sachen machen mit der Programmiersprache „Basic“, damals auf Sinclair-Computern, die man an den Fenrseher anschloss (Aus mir ist allerdings kein Programmierer geworden, aber das kann ja auch nicht jeder werden.)

Welches wäre heute die empfohlene Programmiersprache, die er leicht erlernen kann und realtiv schnell erste Erfolge bringt mit kleinen erstellten Programmen und ihm Spaß macht? Zu der es evtl. auch gute Tutorials gibt?
Am besten wäre es, wenn es dazu auch eine gute Open-Source-Benutzeroberfläche für Windows gäbe.
(Ich selbst nutze und schätze seit Jahren z.B. sehr das Programm „Open-Office“.
Gibt es so etwas Tolles auch zum darin Programieren?)

Danke im voraus für Eure Antworten!

Hallo Pit2010,

meine Empfehlung ist, mit C oder C++ zu beginnen, denn wenn man es gelernt hat, ist es auch nicht so schwer, sich andere Programmiersprachen beizubringen. C/C++ ist im Vergleich zu anderen Programmiersprachen auch relativ restriktiv, sodass man sich auch ziemlich nah mit den Details befassen muss. Ein gutes Tutorial kann man auf www.learncpp.com finden. Passende Compiler befinden sich in GCC. Als Entwicklungsumgebung kann ich Code::Blocks (etwas einfacher zu bedienen) und/oder Eclipse for C/C++ Developers (etwas mehr „Komfort“) empfehlen.

Um das Ganze zu relativieren, muss ich aber auch dazu erwähnen, dass es schon darauf ankommt, was man hinterher so vor hat. Bei Web-Entwicklung wäre C und C++ sicher nicht passend, obwohl man mit C+±Können auch wiederum ein relativ leichtes Spiel mit PHP hat.

Hallo Pit,

Eingabeauforderung in Windows mit Hilfe eines
Youtube-Tutorials und :

was genau meinst du mit Eingabeaufforderung in Win, Start—
Ausführen?

er hat auch über die Zusammenhänge in
einem Computer-Einsteiger-Buch gelesen.

Okay.

Sinclair-Computern, die man an den Fenrseher anschloss

Hatte ich auch, alle hatten C64, ich hatte Sinclair Spectrum :smile:

mir ist allerdings kein Programmierer geworden, aber das kann
ja auch nicht jeder werden.)

Ist auch kein Platz für alle. Übrigens, kaufe dir mal Freitags
die Frankfurter Rundschau und überflieg die Stellenangebote.
Bei Programmierern o.ä. schlackerste mit den Ohren was da alles
grad mal so verlangt wird an Kenntnissen.

Gruß
Reinhard

Hallo,

mein Sohn, 13 Jahre alt, möchte gerne programmieren lernen.
Er hat erste Gehversuche unternommen mit der
Eingabeauforderung in Windows mit Hilfe eines
Youtube-Tutorials und er hat auch über die Zusammenhänge in
einem Computer-Einsteiger-Buch gelesen.

Wenn er denn keine so hohen Anfangsanaforderungen hat
(also nicht gleich alles super toll mit grafischen Bedienoberflächen in Windows ) und es ihm wirklich ums
Programmieren geht, wäre eine alte rein prozedurale Sprache,
die man im Eingabefenster nutzt schon nicht so verkehrt.
Alte Basic-Varianten wie GW-Basic oder Q-Basic gibt es
frei.
Viele ältere PC-User haben das auch noch auf dem PC herumliegen.

Moderner und relativ aktraktiv ist dann SmallBasic von MS.
Das ist als Objektorientiert mit grafischer Oberfläche
direkt für Programmierlaien und Kinder gedacht (Freeware).
In der deutschen Fassung auch gut für Kinder mit nicht so
guten Englischkenntnissen.
Das hat eine sehr gute Bedienunterstützung und ist in
dem Umfang der Befehle noch rel.begrenzt.
Viele Beispielprogramme zum Ausprobieren lassen sich finden.

Als nächste Stufe würde ich dann z.B. Delphi empfehlen.
Das wird auch von Schulen in den höheren Klassenstufen
genutzt.
Delphi ist ähnlich leistungsfähig wie CC++, nur mit weitaus
gerigeren Frustrationspotential. C++ würde ich nie einem
Anfänger oder Kind anraten, weil da das Scheitern vorprogrammiert ist und es eher einen Einsteiger abschreckt.
Gruß Uwi

Als ich in seinem Alter war, konnte man schon tolle Sachen
machen mit der Programmiersprache „Basic“, damals auf
Sinclair-Computern, die man an den Fenrseher anschloss (Aus
mir ist allerdings kein Programmierer geworden, aber das kann
ja auch nicht jeder werden.)

Welches wäre heute die empfohlene Programmiersprache, die er
leicht erlernen kann und realtiv schnell erste Erfolge bringt
mit kleinen erstellten Programmen und ihm Spaß macht? Zu der
es evtl. auch gute Tutorials gibt?
Am besten wäre es, wenn es dazu auch eine gute
Open-Source-Benutzeroberfläche für Windows gäbe.
(Ich selbst nutze und schätze seit Jahren z.B. sehr das
Programm „Open-Office“.
Gibt es so etwas Tolles auch zum darin Programieren?)

Danke im voraus für Eure Antworten!

Hallo,

mein Tipp: Python (www.python.org, wegen größerer Verbreitung und mehr Literatur vielleicht eher Version 2.7 als 3.3) . Auf vielen Platform verfügbar, es gibt ein nettes Buch dazu „Python für Kids“, man kam bequem auf der Kommandozeile (in der Python-Shell, bzw. mitgelieferten GUI namens Idle) anfangen und schrittweise zu Schwierigerem komplexen Konstrukten (Klassen, List Comprehensions, Reguläre Ausdrücke, Generatoren ) vorankommen und die mitgelieferte Bibliothek bietet SEHR viel Anschauungsmaterial.

Der sachte Einstieg verringert die Gefahr, deinen Sohn zu verschrecken, die ich beim vorgeschlagenen C++ eher hoch einschätze, ohne auf ein Spielzeug festzulegen, das in in eine Sackgasse führt.

Grüße, guidot

Warum schlägt keiner Java vor?
Dann tu ichs mal - natürlich auch (wie schon beschrieben mit IDE eclipse, da kann man sich hochhangeln, weil alles gut erklärt wird, z.B. Maus drüber ruhen lassen (wie von Win gewohnt) und es werden Infos und Manipulations-Möglichkeiten (Funktionen …) etc. angezeigt.

VT Java:

  • universell verwendbar wie C…
  • später erweiterbares Wissen (da fast gleiche Denke und Syntax wie C u.a. Hochsprachen)
  • macht Spass
  • viel Material im web vorhanden zum Lernen und darauf aufbauen

NT:

  • es hat sehr viele Möglichkeiten, Biblotheken, Datentypen etc. / aber ganz ruhig eins nach dem anderen lernen, Rom wurde ja auch nicht … (1000x umfangreicher als die Basics der 80ger mit ihren GOTOs…)
  • schließlich solls nach 2 Jahren auch noch Spass machen und nicht wie bei Basic oder Spezialsprachen zur Entdeckung kommen, dass man sich auf einer Insel weit ab der Programiierer-Masse befindet…
  • Sprache ändert sich ständig etwas / wird ja weiterentwickelt

Das ist (natürlich nur) meine persönliche Ansicht.

Gruß dani

VT Java:

  • universell verwendbar wie C…

Stimmt nicht. C und C++ sind um längen performanter als Java und haben bedeutend mehr Möglichkeiten.

  • später erweiterbares Wissen (da fast gleiche Denke und
    Syntax wie C u.a. Hochsprachen)

Eigentlich jede Programmiersprache hat die gleiche Grundsyntax momentan gibt es eigentlich nur drei große syntaktische Darstellungen:

  • Die XML Syntax
  • Die C-Syntax
  • Die Basic Syntax
  • macht Spass

Ansichtssache. Es gibt Momente wo man mit Java echt keinen Bock mehr hat und sich nur noch quält. Bestes Beispiel ist einen Text über die Konsole einzulesen.

  • viel Material im web vorhanden zum Lernen und darauf
    aufbauen

Gibt es auch für viele andere Sprachen.

NT:

  • schließlich solls nach 2 Jahren auch noch Spass machen und
    nicht wie bei Basic oder Spezialsprachen zur Entdeckung
    kommen, dass man sich auf einer Insel weit ab der
    Programiierer-Masse befindet…

In Java musst bzw. kannst du dich auch sehr stark spezialisieren. Das kann sehr große Probleme geben.

  • Sprache ändert sich ständig etwas / wird ja weiterentwickelt

Ja, das ist das größte Problem bei Java.

Das ist (natürlich nur) meine persönliche Ansicht.

Bei mir basiert es teilweise auf Erfahrung und Meinung ^^

Gruß dani

Lg Knerd

Hi,

erstmal ein paar Fragen:

  • Kommt eine berufliche Karriere in Frage?

  • Hat er sonstige Kenntnisse in diesen Bereichen?

  • Wie gut ist er in Mathe?

Ich habe mit 13 Jahren mit C angefangen und habe NICHTS auf die Reihe bekommen. Nachdem ich C konnte, bin ich weiter zu C#. Danach kamen C++ und Java. Momentan bin ich an JavaScript und Fortran dran.
Für den Einstieg kann ich dir Small Basic empfehlen. Eine sehr einfache Sprache und ist sehr einsteigerfreundlich.
http://smallbasic.com/ Macht wirklich Spaß :smile:
Ansonsten, hier ein paar Buchtipps zu verschiedenen Sprachen:
C#:
http://www.galileocomputing.de/katalog/buecher/titel…
http://www.galileocomputing.de/katalog/buecher/titel…
C++:
http://www.galileocomputing.de/katalog/buecher/titel…
http://www.galileocomputing.de/katalog/buecher/titel…
Java:
http://www.galileocomputing.de/katalog/buecher/titel…
Du darfst dich nicht wundern, bei den fortgeschrittenen Büchern steigen die Preise enorm. Du zahlst locker mal 50-70€ für ein Buch.

Lg Knerd

Hallo zusammen,

Danke für Eure netten, informativen Antworten!

Wir versuchen es jetzt erst mal mit „Small Basic“ von Microsoft.

Es gibt dazu ein sehr schönes Einsteiger-Original-Tutorial (PDF, 70 Seiten) und auch nette Videos dazu bei Youtube.
Die Benutzeroberfläche ist meines Erachtens sehr benutzerfreundlich und intuitiv (Befehle werden automatisch vervollständigt und erklärt angezeigt; Fehler bei der Programmierung werden mit der genauen Zeile und Zeilenstelle leicht findbar angezeigt).

Bin mal gespannt, was mein Sohn damit nun alles so programmiert und ich habe gute Lust, da auch ein bisschen damit zu experimentieren.

Angenommen, er entwickelt damit ein praktisches Programm, wäre es dann unter Umständen später möglich, dies in andere Sprachen übersetzen zu lassen, damit es auch auf anderen Systemen kompatibel laufen kann? Gibt es quasi ein „Übersetzungsprogramm“, das ein „Small-Basic“-Programm in ein C++ Programm (oder anderes) einfach automatisch übersetzt? Oder müßte dann komplett neu geschrieben und strukturiert werden?

Grüße
Pit

Hallo,

Angenommen, er entwickelt damit ein praktisches Programm, wäre
es dann unter Umständen später möglich, dies in andere
Sprachen übersetzen zu lassen, damit es auch auf anderen
Systemen kompatibel laufen kann? Gibt es quasi ein
„Übersetzungsprogramm“, das ein „Small-Basic“-Programm in ein
C++ Programm (oder anderes) einfach automatisch übersetzt?
Oder müßte dann komplett neu geschrieben und strukturiert
werden?

a) wahrscheinlich gibt es ein Übersetzungsprogramm für so eine (imho:smile: eher abgelegene Ausgangssprache nicht, so richtig verbreitet ist die Methode seit Pascal->C-Umsetzern ohnehin nicht. Denn einen Umsetzer so schlau zu machen, dass er die Eigenheiten der Zielsprache wirklich ausnutzt, ist extrem anspruchsvoll und aufwändig.
b) das ist aber nicht schlimm, weil das „Schreiben“ sowieso nur einen Bruchteil ausmacht. Wenn das Problem erst einmal verstanden ist und ein (im Idealfall) fehlerfreies Ausgangsprogramm vorhanden ist, ist der Rest trivial. Nicht umsonst wird häufig empfohlen, die erste Version eines humpelnden Programms wegzuwerfen und noch einmal neu anzufangen.

Viele Erfolg, guidot

Ich empfehle eine Roboter Sprache , am besten mit so einem Roboter set,
das ist nciht so theortisch und macht unheimlich spass, und es gibt auch diverse Events wo man wirklich was machen kann und vorführen etc.

Reines Programmieren für ein 13 Jährigen ist wohl nur gut wenn der 13 Jährige wirklich interressiert ist am selber Programmieren .

Praxisorientiert ist auch einfacher , weil man wirklich an der Lösung praktisch interressiert ist und nicht nur virtuell irgendwas, wie Hausaufgaben von der Schule, löst und kein schimmer hat warum mann das übt.

z.b. http://de.wikipedia.org/wiki/Niki_%E2%80%93_der_Roboter

aber was immoment angesagt ist im Roboter Markt , weiss ich nicht :smile:
Conrad bietet da bestimmt auch was einfaches :smile:

Hallo Pit,

vielleicht wäre ja auch eine Script-Sprache wie php etwas. Das ist, wie ich finde, schon kompliziert genug und man hat auch gleich ein echtes Ziel (die eigene Internet-Seite). Außerdem kann man sehr einfach Datenbanken einbinden (z.B. MySQL) und es gibt sogar Kompiler dafür.

Viele Grüße
Andreas

Compiler?
Hallo Andreas,

vielleicht wäre ja auch eine Script-Sprache wie php etwas. Das
ist, wie ich finde, schon kompliziert genug und man hat auch
gleich ein echtes Ziel (die eigene Internet-Seite). Außerdem
kann man sehr einfach Datenbanken einbinden (z.B. MySQL)

Das ist ein guter Gedanke - man hat gleich ein nutzbringendes Resultat, selbst wenn man nur vorhandene CMS (z. B. Joomla!) erweitert. Wichtig erscheint mir auch: Es gibt in PHP auch Klassen und Objekte. Allerdings keine typspezifischen Variablen.

und es gibt sogar Kompiler dafür.

Welche meinst Du? PHP-Compiler? Jetzt bin ich neugierig :smile:

Gute Nacht.

JayKay

Hallo JayKay,

Allerdings keine typspezifischen
Variablen.

Das ist richtig, aber vielleicht nicht all zu wichtig. Hier will ja jemand „lernen, was Programmieren eigentlich ist“. Und hier weiß jeder der antwortet, wie schwer Programmierung letztlich ist, wenn man sich ein ernsthaftes Projekt vorgenommen hat und über „hello world!“ hinausgeht.

und es gibt sogar Kompiler dafür.

Welche meinst Du? PHP-Compiler? Jetzt bin ich neugierig :smile:

Dann will ich das mal nicht vorenthalten :smile:

  1. phc - the open source php compiler
    http://www.phpcompiler.org/

  2. HipHop for PHP
    https://github.com/facebook/hiphop-php/wiki
    HipHop ist ein OpenSource Projekt von Facebook (der Firma selbst).

Viele Grüße
Andreas

Moin,

es gibt da noch Robot Karol, der wohl auch an Schulen eingesetzt wird.

Gruß,
-Efchen

P.S.: Mit Niki hatte ich schon vor 25 Jahren mit UCSD-Pascal auf einem Apple II das Vergnügen :wink:

mit link

es gibt da noch Robot Karol, der wohl auch an Schulen
eingesetzt wird.

Hallo Pit,

hast Du deinen Sohn den mal gefragt, was er denn will?

Ich finde das größte Problem beim erlernen einer Programmiersprache ist nicht die Sprache selber sondern die Motivation.
Selbst eine so einfach Sprache wie das gute alte Spectrum Basic (es hatten überigens NICHT alle den C64, es gibt sogar welche, die hatten noch ZX81 auf ihrem Gerät stehen :smile: … aber ich schweife wieder ab), jedenfalls macht einfach keinen Spass, wenn man nicht weiss, was man damit eigentlich machen soll.

Ich persönlich finde die diversen programmierbaren Roboter sehr schön… nur falls Programmieren doch keine Option für einen 13jährigen ist, weil er doch viel lieber draussen Fussball spielt, ist das eine etwas kostspieliger Versuch.

Zurück zur Motivation, es bedarf also einen konkreten Projektes, an dem man seine Fähigkeiten testen und erweitern kann.

Sofern er gerne kreativ tätig ist und nicht unbedingt bunte Bilder braucht, kann er sich ja vielleicht auch mit der Programmierung von MUDs beschäftigen. Im Ergebnis sind die zwar nur Textadventures, aber man kann dort ziemlich viel über Objektorientierter Programmierung lernen und sich dabei kreativ voll austoben.

Wer sich für sowas interssiert, kann sich ja mal http://www.unitopia.de/misc/programmierung/downloads… anschauen oder zu einem (für meine Begriffe) guten Buch greifen z.B. „Jetzt lerne ich OOP - Der einfache Einstieg in die objektorientierte Programmierung mit LPC“.

Falls man noch die Zeit hat, ist das eine wirklich schöne Art, diese zu verbringen. Man kann sich auch mit Freunden oder dem Papa zusammentun und gemeinsam Abenteuer entwickeln.

Viele Spass (euch Beiden) mit dem, für das Ihr euch auch immer entscheidet.

Jörg