Welche Programmiersprache zum Lernen?

Hallo,

wenn man Teenagern Programmieren beibringen will (einen Einblick geben, damit sie dann selbst entscheiden, ob sie damit weitermachen wollen), was nimmt man da am besten?

Ich selber kann nur Java, aber objektorientierte Sprachen sind zu schwierig als Einstieg, finde ich.
Dann fällt mir noch ein, mit HTML und CSS zu beginnen, aber das ist ja nicht wirklich Programmieren.
Bei uns war’s damals Pascal, aber soweit ich weiss, ist das keine gängige Sprache, wenn man wirklich in der Realität was machen will. Ich will ihnen ja sagen können: Wenn Ihr das weiter lernt, könnt ihr das und das damit machen, sogar Geld verdienen usw.

Was würdet Ihr wählen?

Was würdet Ihr wählen?

Hallo Mike,

Suche doch im Archiv dieses Brettes nach
welche programmiersprache

„Suche“ findest du wenn du die hiesige Brettbeschreibung anklickst
oben rechts.

Gruß
Reinhard

Hallo,

wenn man Teenagern Programmieren beibringen will (einen
Einblick geben, damit sie dann selbst entscheiden, ob sie
damit weitermachen wollen), was nimmt man da am besten?

schau mal nach „Small Basic“.

Bei uns war’s damals Pascal, aber soweit ich weiss, ist das
keine gängige Sprache, wenn man wirklich in der Realität was
machen will.

Aber Delphi basiert auf Pascal.
/t/welche-programmiersprache–9/7027199/3

Ich will ihnen ja sagen können: Wenn Ihr das
weiter lernt, könnt ihr das und das damit machen, sogar Geld
verdienen usw.

Wenn jemand später wirklich programmieren lernen will,
dann spielt die Programmiersprache eh nur noch eine
untergeordnete Rolle.
Gruß Uwi

hallo

die frage ist: was genau sollen die teenager lernen?

wenn es um das verstehen von ablauflogik an sich geht - also die tatsächliche sprache unerheblich ist - bietet sich z.b. was in der art von lego mindstorms an: dort kann man sich aus speziellen bauteilen kleine roboter basteln und diese programmieren - dank verschiedener sensoren kann so ein roboter tatsächlich auf verschiedene ereignisse reagieren.

vorteil: man hat einen viel unmittelbareren zugang zur programmierung - immerhin sieht man sofort, ob der roboter das tut, was er soll. und man kann es „mit den fingern angreifen“ - das ganze ist also weniger abstrakt als die üblichen programmierbeispiele.

allerdings hat die „programmiersprache“ wenig bis nichts mit an sonsten am markt üblichen programmiersprachen zu tun. wer also erfolgreich einen roboter durch einen hindernis-parcour geschickt hat, kann deshalb noch lange nicht ein simples rechenprogramm schreiben. aber zumindest die grundkonstrukte einer programmiersprache (entscheidungen, schleifen, statusabfragen etc.) sollten vermittelt werden.

generell würde ich sagen, dass man eine programmiersprache nur dann lernen kann, wenn man sie tatsächlich anwendet. ich kann zwar die java-syntax auswendig lernen - wenn ich aber keinen wirklichen bedarf an java-programmen habe, werde ich nie ein guter java-programmierer.

es hängt also davon ab, was die teenager sonst noch so am computer treiben - was sie also dazu motiviert, etwas zu automatisieren.

wird z.b. viel mit textverarbeitung gearbeitet, bietet es sich an, mit der makro-programmiersprache zu beginnen. sofern ms office eingesetzt wird wird als makro-sprache visual basic for applications genutzt - mit dem zusatznutzen, dass man dann auch leicht auf „echtes“ visual basic umsteigen kann. auch hier gilt: man hat sofort den praktischen anwendungsnutzen und daher mehr motivation, in die tiefe zu gehen. allerdings sind die möglichen ausbaustufen von office-makros zugegebenermassen sehr eingeschränkt.

java an sich ist nicht so schlecht. man kann mit java wunderbar prozedural programmieren, ohne auch nur ansatzweise mit objektorientierung in kontakt zu kommen. einfach vor jedes feld und vor jede methode ein „static“ und schon schauts fast so aus wie c-code…

v.a. hat man extrem mächtige entwicklungswerkzeuge, die gratis zu haben (eclipse, netbeans, etc.), gleichzeitig aber auch recht komfortabel sind. und wenn man später in die echte programmierung umsteigen will, hat man gleich die häufigst verwendete sprache intus. nebenbei wäre es auch ein einstieg in die app-entwicklung für android - auch gerade kein kleiner bereich.

lg
erwin

Hallo,

generell würde ich sagen, dass man eine programmiersprache nur
dann lernen kann, wenn man sie tatsächlich anwendet.

es hängt also davon ab, was die teenager sonst noch so am
computer treiben - was sie also dazu motiviert, etwas zu
automatisieren.

Guter Gedanke. So genau weiss ich das noch gar nicht.

java an sich ist nicht so schlecht. man kann mit java
wunderbar prozedural programmieren, ohne auch nur ansatzweise
mit objektorientierung in kontakt zu kommen. einfach vor jedes
feld und vor jede methode ein „static“ und schon schauts fast
so aus wie c-code…

War mir noch gar nicht so klar. :smile:

nebenbei wäre es auch ein einstieg
in die app-entwicklung für android - auch gerade kein kleiner
bereich.

Also vielleicht erst mal ein Smartphone schenken wär so eine Möglichkeit.

Danke für die Anregungen!

???

generell würde ich sagen, dass man eine programmiersprache nur
dann lernen kann, wenn man sie tatsächlich anwendet.

es hängt also davon ab, was die teenager sonst noch so am
computer treiben - was sie also dazu motiviert, etwas zu
automatisieren.

Guter Gedanke. So genau weiss ich das noch gar nicht.

Entweder Du lebst ihnen das vor, weil Du selber Spaß daran hast, oder ein Kumpel reisst sie mit oder ein Fernsehausschnitt fasziniert sie… Programmiersprachen wollen entdeckt, erforscht, genutzt, angewendet werden, nicht „gelernt“. Beibringen geht quasi nur unter Zwang/Geld in Schule oder Beruf. Ähnlich wie ein Instrument spielen…

Also vielleicht erst mal ein Smartphone schenken wär so eine
Möglichkeit.

ich glaube das ist eher das Ende. Als würde man einen MP3-Player statt ein Instrument schenken. Also eher Mindstorm, Asuro, Ferienjob Deine Homepage aufpeppen, Basic Briefmarke, C-Control …

Gruß
wilbert

hoi,

ich denke viele werden sagen das z.b. basic am besten zum lernen ist, was ich aber nicht bestätigen kann (allerdings liegt das an meiner persönlichen abneigung gegen diese abartige syntax).
wie auch schon in einer vorherigen antwort erwähnt, kann man mit oop sprachen wie java, oder c# sehr gut prozedural entwickeln (wenn man das denn will).

ich persönlich habe damals auf c/c++ „gelernt“, was am anfang nicht immer einfach war (da wir in der phase ja keine builtin funktionen nutzen durften, sondern allen mist, wie sortieren, etc. selber schreiben mussten). rückblickend muss ich jedoch sagen das es das beste war was mir passieren konnte!

später bin ich dann auf c# umgestiegen, und war total begeistert was doch in .net alles schon quasi „onboard“ dabei ist. später stellte sich heraus das c# auch für anfänger sehr gut geeignet ist, auch wenn man nicht gleich auf die gepflogenheiten der oop eingeht -> denn nüchtern betrachtet ist es dem anfänger doch piepegal ob die funktion die er gerade schreibt nun funktion, prozedur, routine, methode oder pfefferkuchen genannt wird. hauptsache es funktioniert :wink:
gerade am anfang wirst du sicherlich viele kleine konsolenprogramme machen, die in c# eh als statisch definiert sind (zumindest die die klasse program, die die Main() methode beherbergt) -> das heisst das es nicht nötig ist zuerst ein objekt zu erzeugen, um dann auf die member des objektes zugriff haben zu können

von daher würde ich dir abschliessend auch c# zum einstieg empfehlen.
warum?
->du als java-kenner wirst keine großen probleme beim einarbeiten haben,
->deine schüler werden die sprache schnell lernen,
->projekte, oder die erzeugten binaries lassen sich zur kontrolle sehr gut per usbstick einsammeln und später testen ohne das irgendwelche probleme mit fehlenden versionen von laufzeiten (redistributables, usw.) auftreten,
->c# ist eine moderne sprache, ihre verwendungsmöglichkeiten sind zukunftsorientiert, und auch die erweiterung der kenntnisse ist recht einfach sobald ein schüler die basics „erlernt“ hat
->c# wird langsam auch platformunabhängig(er)

und zu guter letzt, es gibt tonnen von tutorials und hilfen im netz um sich auch an schwierigen stellen mit infos zu versorgen…

schau es dir doch einfach mal :wink:

greetz, me

p.s.: die express versionen von visual studio sind kostenfrei, und zum lernen einfach nur genial :smiley: