Hello, Guest the thread was viewed2.7k times and contains 39 replies

last post from ZeHa at the

Frage: Ist es möglich eine Blockprogrammierung für C64-BASIC zu erstellen?

  • Mittels Blockprogrammierung wird heute schon Grundschülern das Programmieren kinderleicht beigebracht. Der Erfinder dieser genialen und einfachen Art des Programmierens ist der italienische Informatikprofessor Alessandro Bogliolo (nicht zu verwechseln mit dem gleichnamigen Chef von Tiffany) von der Universität Urbino. Bei der Blockprogrammierung können grafische Blöcke auf dem Bildschirm in einer Art Baukasten-System verschoben werden. Diese grafischen Blöcke sind nur eine grafische Verpackung, denn sie beinhalten in Wirklichkeit Programmier-Einheiten einer bestimmten Programmiersprache (z.B. Phyton). Die Blockprogrammierung wird mittlerweile in vielen Ländern angewandt. Das System dient nicht nur für die Bildung der Kinder und Jugendlichen, sondern kann auch von Erwachsenen genutzt werden. Ziel ist es die Bevölkerung mit dem Thema Informatik in der Praxis vertraut zu machen. Wir benutzen heute die Informatik in vielen (allen?) Lebensbereichen. Es existieren heute mehrere Webseiten, auf denen man online z.B. Einplatinencomputer programmieren kann. Als Beispiel hier dieser Link https://lab.open-roberta.org


    In diesem Zusammenhang habe ich eine Frage an die Programmierer hier: Ist es technisch grundsätzlich möglich einen solche Blockprogrammierung für das C64-BASIC zu erstellen und vielleicht als neues Projekt auf einer neuen Webseite online zu stellen?


    Das ist hier nur eine laienhafte Frage von mir. Bin selber ein alter Kerl, der nur über Grundkenntnisse von C64-BASIC verfügt. :)


    Warum meine Überlegungen? Natürlich werden viele der Forum-Mitglieder hier Kenntnisse in BASIC haben und viele werden auch selber programmieren können. Aber was passiert, wenn die Generation der heutigen C64-Nutzer mal nicht mehr gibt? Wer wird dann den Cevi mittels Programmierkenntnissen noch weiter am Leben erhalten? Bei einer Möglichkeit der Programmierung mittels Blockprogrammierung wäre die weitere Existenz des C64 (und seiner modernen Nachbauten) sicherlich besser gewährleistet...

  • tux64

    Changed the title of the thread from “Frage: Ist es möglich eine Blockprogrammierung für C64-BASIC zu erstellen.” to “Frage: Ist es möglich eine Blockprogrammierung für C64-BASIC zu erstellen?”.
  • Wie ich gerne sage: "Technisch ist alles möglich, es ist nur eine Frage des Aufwandes" :)


    Dir schwebt so etwas wie Scratch (doch ziemlich low-level) vor? Oder ein bisschen high-level wie Lego?

    Da müsste man sich klar werden, auf welchem Level man arbeitet. Das Bild ist von Scratch, das ist ja quasi wie BASIC, nur mit (mühsamen) zusammenklicken.


  • Endurion Prima, dass sich mal ein Programmierer zu Wort meldet. :thumbsup:


    Habe selber von der Materie wenig Ahnung. Wollte halt nur einmal einen Denkanstoß liefern, wie das Programmieren für den Cevi deutlich vereinfacht werden könnte. Ein Low-Level ist meines Dafürhaltens vorzuziehen, also ähnlich wie Scratch.


    Durch eine solche Programmieroption (Blockprogrammierung für BASIC V2) würde gewährleistet werden, dass a) auch in der Zukunft Programme für den C64 und seine Anverwandten geschrieben werden können und b) auch in der Gegenwart Personen, ohne BASIC-Kenntnisse den C64 programmieren könnten. Dann würde ZeHa von Listings-Einsendungen für "Weihnachten auf dem Commodore" quasi überflutet werden. ^^

  • Frage wäre auch, ob das auf dem PC laufen und C64 Basic ausspucken soll, oder direkt auf dem C64 laufen. In letzterem Fall könnte das von wegen verfügbarer Speicherplatz wohl etwas eng werden, gerade wenn auch noch Möglichkeiten Bilder zu verwenden etc dazu kommen sollen.

    Außerdem, wenn man schon nicht in Basic programmiert kann die Umgebung eigentlich auch gleich Maschinencode erzeugen :P

  • Erstmal vorweg, es gibt schon mehrere Visuelle Programmiersprachen für 8-Bitter, was mir als erstes in den Sinn kommt ist Mindstorm von Lego, der Ur-Mindstorm war irgend so ein 8051.
    Man könnte sicherlich auch Beispielsweise Scratch dazu treten statt JavaScript BASIC zu emitten, aber AndyDTV hat schon recht das man das Teil auch gleich ein Kompilat ausspucken lassen könnte, vielleicht mit cc65 als Backend.

    Auch auf dem Cevi selber könnte man da was stricken, aber zumindest ich will mir nicht das X-te Projekt ans Bein binden. Aber für Inspiration wie ich mir das vorstellen würde schau dir mal die Minecraft Mod MineFactory Reloaded und den darin enthaltenen Programmable RedNet Controller an. So etwas sollte auch ohne weiteres nativ aufm Brotkasten laufen. Emittiert dann zwar kein BASIC, aber der Interpreter wäre einfach genug.

  • Bitte beim Thema bleiben: Es geht um die Frage ob Blockprogrammierung für BASIC V2 möglich ist. Nicht mehr und nicht weniger!


    Bitte hier dieses Thema nicht für persönliche Ansichten kappern, ob denn das sinnvoll ist oder nicht. Danke. :)


    Wenn Ihr unbedingt diskutieren wollt, ob es SINNVOLL Eine Blockprogrammierung für BASIC ist, dann macht bitte einen neuen Thread auf:

    z.B."Ist eine Blockprogrammierung für BASIC V2 sinnvoll?"


    Dieser Thread hat den Sinn Programmierer zu kontaktieren und wenn möglich jemanden zu finden, der eine solche Blockprogrammierung in die Praxis umsetzt.

  • Entschuldigung!

    Bitte beim Thema bleiben: Es geht um die Frage ob Blockprogrammierung für BASIC V2 möglich ist. Nicht mehr und nicht weniger!

    Die Frage wurde in Post #2 von Endurion bereits beantwortet. Damit ist das Thema m.E. ja dann ausführlich besprochen.

    Bitte hier dieses Thema nicht für persönliche Ansichten kappern, ob denn das sinnvoll ist oder nicht. Danke. :)

    Dieser Thread hat den Sinn Programmierer zu kontaktieren und wenn möglich jemanden zu finden, der eine solche Blockprogrammierung in die Praxis umsetzt.

    Diese Info hätte sich im Eröffnungspost ganz gut gemacht! Das steht da so explizit nämlich nicht. :huh:

    Aber dennoch viel Erfolg! ;)

  • Also für alle, die über den Sinn einer Blockprogrammierung für BASIC V2 diskutieren möchten, habe ich folgenden neuen Thred hier eroffnet:


    Ist eine Blockprogrammierung für BASIC V2 sinnvoll?


    Bitte diesen Thread hier nur verwenden, wenn Ihr zur Realisierung eines Projekts "Blockprogrammierung für BASIC V2" beitragen möchtet. Also ist dieser Thread in erster Linie an Programmierer gerichtet. Bitte um Entschuldigung, dass ich diesen Umstand im meinem einleitenden Beirag hier nicht explizit erwähnt habe. :)

  • Dir schwebt so etwas wie Scratch (doch ziemlich low-level) vor? Oder ein bisschen high-level wie Lego?

    Da müsste man sich klar werden, auf welchem Level man arbeitet. Das Bild ist von Scratch, das ist ja quasi wie BASIC, nur mit (mühsamen) zusammenklicken.

    Ne, ne. Basic 2 auf das Level von Scratch zu heben finde ich schon sehr gewagt.

    Scratch enthält objektorientierte Ansätze. Objekte haben eigene (gekapselte) Methoden. Man kann die Objekte instanzieren.

    Es hat Gründe, warum Scratch häufig im Informatikunterreicht verwendet wird und Basic nicht (mehr).


    Mindstorms ist high-level, weil es hochspezialisiert ist. Versuch damit mal irgendwas anderes zu programmieren als eine Robotorsteuerung.

  • Ich wollte mit meinem Post #16 nicht überheblich erscheinen, aber mit dieser von Dir im Eröffnungspost gestellten Aussage bzw. Überlegung

    Warum meine Überlegungen? Natürlich werden viele der Forum-Mitglieder hier Kenntnisse in BASIC haben und viele werden auch selber programmieren können. Aber was passiert, wenn die Generation der heutigen C64-Nutzer mal nicht mehr gibt? Wer wird dann den Cevi mittels Programmierkenntnissen noch weiter am Leben erhalten? Bei einer Möglichkeit der Programmierung mittels Blockprogrammierung wäre die weitere Existenz des C64 (und seiner modernen Nachbauten) sicherlich besser gewährleistet...

    hast Du die Sinnfrage eigentlich selbst gestellt was die nachfolgenden Posts logisch erseinen lässt. Dein eigentliches Anliegen war leider nicht klar erkennbar.

    Wie auch immer, jetzt ist ja alles klar! ;)



    Machbar und mit entsprechendem Aufwand technisch möglich ist eine Blockprogrammiersprache auf dem C64 ganz sicher. Ob sich ein fähiger Programmierer jedoch dazu überreden lässt halte ich für fraglich, da (wie Diddl auch meint) es bereits ziemlich gute Programmiersprachen auf dem C64 gibt, die in der letzten Zeit auch erheblich aufgewertet wurden (wie z. Bsp. COMAL80 oder auch TSB). Blockprogrammierung hat für mein Empfinden auch so ein "Point & Click" Feeling. Konnte ich mich bisher nicht mit anfreunden. Aber nun mit fortschreitendem Alter wird´s mit neuen Dingen ja auch immer schwieriger. X/

  • Zusätzlich zu ogd's Frage, auf @detlef's Beitrag:

    Stimmt, Objekte sind natürlich eine Herausforderung.


    Letztendlich die Frage an tux64:

    Je nach Fähigkeiten, die man BASIC überstülpt, wird das, was dabei herauskommt, sehr sehr unleserlich sein.

    Man kann recht "schnell" generische Code-Schnipsel basteln, die aber dann tonnenweise Redundanz mitbringen (Einsprung zu Subroutine - GOSUB, ggf. "Aufräumen" beim Rücksprung). Das wird ziemlich schnell eine Art Byte-Interpreter werden, wenn man auch nur ansatzweise an Komplexität geht. Man hat ja nur begrenzt Speicher.


    Da könnte man mit einem Optimizer ansetzen, der versucht, Redundanz zu entfernen, und dann einen Prettifier, der gestopften BASIC-Code schön umbricht.

  • ogd und Endurion


    Vielen Dank für Eure Beiträge hier, weiß ich wirklich sehr zu schätzen. :)


    Bin leider selber kein Fachmann, nur ein alter Kerl, der eine Idee hat. Deshalb kann ich weder a) Eure technischen Fragen verstehen noch b) irgend etwas dazu sagen. Tut mir leid, es ist eben so.


    Nochmal zu meiner Motivation anzufragen, ob denn eine Blockprogrammierung für BASIC V2 möglich ist: Erst auf meine alten Tage im Rentenalter habe ich mein Interesse nicht nur für Computer im allgemeinen, sondern für alle Bereiche der Informatik entdeckt. Bastele auch Spielzeug-Roboter zusammen. Gerade baue ich den KOSMOS Proxi. Der hat einen BBC Micro:Bit-Einplatinen-Computer. In diesem Zusammenhang bin ich auf die Blockprogrammierung aufmerksam geworden. Da kam mir der Gedanke, dass man vielleicht auch BASIC V2 mit Blockprogrammierung für Laien realisieren könnte. Bin davon überzeugt, dass es in der Gegenwart genug Personen gibt, die sich für den C64 interessieren, sei es das sie selber einen haben, sich mit ihm vielleicht zum ersten Male überhaupt beschäftigen (so wie ich erst seit ein paar Jahren!) oder die über den VICE-Emulator auf den C64 stoßen. Viele dieser Personen können kein BASIC und haben vielleicht auch keine Lust sich diese Programmsprache anzueignen. Mit Blockprogrammierung würde diesem Personenkreis die eigene Programmierung auf dem C64 überhaupt erst möglich sein.

  • Ist's eigentlich klar, dass das eigentlich nichts zwingend mit BASIC V2 zu tun hat? Man könnte vermutlich sogar das im Ursprungsposting erwähnte Roberta-Dings um den C64 als Zielplattform erweitern, indem man eine kleine Runtime eben für den C64 schreibt, vermutlich eher in C und mit cc65 oder llvm-mos umgesetzt. Dann kann man auch vernünftig und ohne Klimmzüge eben die namensgebenden Blockfunktionen umsetzen, was in BASIC V2 wegen der fehlenden echten Prozeduren doch eher ein ziemliches Gebastel wäre, ganz davon ab, dass schon einfache Mess-/Regelschleifen in BASIC V2 unangenehm langsam würden.


    Aber was konkret sollten die Blockfunktionen eigentlich sein? Also sowas wie in den Beispielen "Drehe nach links" oder "Lichtsensor auslesen" ist? Im Gegensatz zu den anderen Zielplattformen ist der C64 ja nun kein Roboter oder eine Robotersteuerung.

  • 1570 Danke auch für Deinen Beitrag. :)


    Habe die Idee, dass eine Blockprogrammierung für BASIC V2 erstellt wird, bei der man mittels Eingabe am PC in Blockprogrammierung ein BASIC V2-Programm erstellten kann. Die Gründe für ein solches Projekt habe ich hier in meinen Beitrag #16 noch einmal explizit genannt. Nur dazu ist dieser Thread hier da!


    Suche hier Programmierer, die

    a) gewillt sind sich in die Realisierung eines solches Projektes einzubringen und

    b) natürlich auch das entsprechende KnowHow haben.


    Bei allen anderen Fragen, Einwänden und Ideen bitte diesen Thread hier benutzen:

    Ist eine Blockprogrammierung für BASIC V2 sinnvoll?