Ist Byob/Snap!/Scrach eine Programmiersprache ?

...komplette Frage anzeigen

2 Antworten

(full disclosure: Ich bin der Autor von BYOB und Berkeley Snap!, und habe auch an MIT Scratch mitentwickelt)

Programmiersprachen werden nicht nach ihrem "Wert" qualifiziert, sondern danach, ob sie "Turing-vollständig" sind (lies das mal nach auf Wikipedia, ist sehr spannend), also ob man mit ihnen eine sog. universelle Turingmaschine emulieren kann. Das trifft auf die allermeisten Programmiersprachen zu, selbstverständlich auch auf Scratch, BYOB und Snap.

Außerdem werden Programmiersprachen nach ihrer "Höhe" eingeordnet, je nachdem welche und wie viele Abstraktionsgrade sie unterstützen. "Höhere" Programmiersprachen (z.B. LISP, Smalltalk, JavaScript, Python) unterstützen z.B. anspruchsvollere Steuerungs- und Datenstrukturen (z.B. Funktionen als Daten, Objekte, Klassen, Vererbung, Prozesse, dynamische Typen, usw.) als "niedere" Sprachen, sind dadurch allerdings oftmals langsamer als "low level" Sprachen (z.B. Assembly, C).

Scratch unterstützt viele Strukturen, die auch in anderen Programmiersprachen zur Grundausstattung gehören (Schleifen, Bedingungen, Variablen) und ein paar, die in vielen sog. "echten" Programmiersprachen ganz fehlen, oder nur sehr schwer zu finden sind (Ereignisse, Parallelismus).

BYOB und Snap! unterstützen darüber hinaus das sog. funktionale Paradigma und das Lambda-Kalkül, und sind damit um einiges "höher" als z.H. Java oder C++. Aber Vorsicht: "Höher" heißt nicht "besser", und schon gar nicht "schneller"! Alle diese Sprachen sind Lehr- und Lernsprachen, deren Ziel es ist, die "big ideas" der Informatik zu vermitteln, und nicht eine spezielle Profi- Programmiersprache. Wenn du "Snap" verstehst, insbesondere die Bedeutung von "Ringen" in Snap (Lambda), dann bist Du bestens gerüstet, um dir künftig jede andere Mode-Programmiersprache selbst beizubringen.

Tl;dr

BYOB und Snap! sind echte Programmiersprachen, und informatisch viel ernsthafter als z.B. Python, C++ oder Java. Aber du wirst mit Ihnen keine professionellen Produkte implementieren, weil sie dafür nicht optimiert sind.

pauker99817 04.06.2016, 00:00

Hallo,

ich bin Informatik Lehrer und habe dieses Schuljahr erstmalig BYOB als Werkzeug mit meinen Schülern (Grundkurs 11) benutzt. ICH finde es super, denn es befreit uns vom leidigen Syntax und wir haben mehr Zeit, uns auf die Algorithmen und Datenstrukturen zu konzentrieren.

Das Erstellen von eigenen Prozeduren und Funktionen (Blöcken) ist eine mächtige Erweiterung im Vergleich zu Scratch und ermöglicht das Lösen von anspruchvollen Aufgaben.

Den Schülern macht es auch mehr Spaß, denn es werden schnell auch optisch ansprechende Ergebnisse erziehlt.

Meiner Meinung nach ist das Vermitteln von Konzepten und Algorithmen im Bereich Schule vorrangig - welche Sprache (Werkzeug) ich dafür verwende, ist mir egal!

Die Frustration, die bei "normalen" Schülern bei Turbo-Pascal, Java, Delphi, ... schnell auftrat, habe ich dieses Jahr nicht erlebt.

Eine "richtige" Sprache können diejenigen erlernen, die es im Studium brauchen bzw. die damit Anwendung erstellen möchten.

Für Schule gelten andere Regeln - meiner Meinung nach!

Letztendlich wollen wir doch auch gerade die Lust am Programmieren entwickel/fördern und dafür finde ich BYOB einfach genial!

DANKE für das kostenlose, unkomplizierte Unterrichtsmittel!!!

pauker99817

0

Eindeutig Nein !

Denn das hat nicht sehr viel mit programmieren zu tun, das ist eher Drag & Drop.... Wenn du richtig programmieren willst dann kannst dir mal Programmiersprachen wie C#, C++, Java oder Python angucken. Das sind alles richtige Programmiersprachen. Scratch ist nur ein Programm.

Ich hoffe ich konnte dir das etwas erklären. Wenn du noch Fragen hast kannst du mich gerne einfach anschreiben.

MFG

dante02403

Was möchtest Du wissen?