CFW Basic

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
sven
Beiträge: 2750
Registriert: 18 Okt 2010, 18:13
Wohnort: Rahden
Kontaktdaten:

CFW Basic

Beitrag von sven » 18 Mai 2017, 22:29

Hallo!

Mir geht da grad so eine Idee durch den Kopf:
Sicherlich erinnert sich noch der eine oder andere an thkais Basic.
Das war ja damals fürs RoBo auf gedacht.
Wäre es nicht möglich ein Basic für den TXT mit der cfw zu machen?

Nicht jeder kann c etc.
So ein Basic wäre dann eine einfache textbasierte Möglichkeit den TXT zu programmieren.
Ans RoBo Pro kommt man ja nicht um dort eigene Befehle einzubauen.

Bei so einem Basic wäre man komplett offen.

Das müsste dann so sein das man einen Editor hat von dem
aus man direkt die Programme auf dem TXT ausführen kann.
Upload und speichern auf dem TXT sollte auch machbar sein.

Gruß
sven
Dieses Posting gibt ganz allein meine persönliche Meinung wieder!

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: CFW Basic

Beitrag von MasterOfGizmo » 18 Mai 2017, 22:42

Klar geht das. Als Editor kann man einen Webeditor nehmen, so dass man mit dem Browser direkt auf dem TXT programmiert. So ähnlich wie Brickly das auch macht. Sowas wollte ich schon lange für Python machen. Aber Basic geht natürlich auch.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: CFW Basic

Beitrag von ski7777 » 18 Mai 2017, 22:43

Zu Python:
Wir haben Jupyter.

Raphael

sven
Beiträge: 2750
Registriert: 18 Okt 2010, 18:13
Wohnort: Rahden
Kontaktdaten:

Re: CFW Basic

Beitrag von sven » 19 Mai 2017, 07:55

Hallo!

Also als Basic würde ich mir sozusagen RoboPro textbasierend vorstellen.

Das könnte dann so aussehen:

Code: Alles auswählen

start
motor(1,left,80)
break 5
end
Aber im Browser, ich weiß nicht.
Andererseits hat es den Vorteil das das Basic dann Plattform unabhängig ist.

Gruß Sven
Dieses Posting gibt ganz allein meine persönliche Meinung wieder!

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: CFW Basic

Beitrag von MasterOfGizmo » 19 Mai 2017, 08:11

Welchen Nachteil hat der Browser denn? Was würdest Du denn lieber verwenden?
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
PHabermehl
Beiträge: 2429
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: CFW Basic

Beitrag von PHabermehl » 19 Mai 2017, 11:21

Also, wenn überhaupt, macht das nur Sinn, wenn es direkt auf dem TXT läuft. Generell wäre ich dann aber auch für Python statt Basic, also eine webbasierte Python-IDE.
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

sven
Beiträge: 2750
Registriert: 18 Okt 2010, 18:13
Wohnort: Rahden
Kontaktdaten:

Re: CFW Basic

Beitrag von sven » 19 Mai 2017, 11:31

Hallo!

Also ich finde Anwendungen im Brower immer ein wenig unschön.
Im Browser schaue ich Webseiten an.
Es kommt immer mal vor, das der Browser mal hängt,
oder ich schließe ihn versehendlich.
Aber ich sehe da auch den großen Vorteil der Plattformunabhängigkeit.
Daher kann ich damit leben.

@phabermehl:
Ich meine das Python doch eh schon lange geht.
Hier gehts ja auch nicht um Python, sondern um ein einfaches Basic.

Gruß
sven
Dieses Posting gibt ganz allein meine persönliche Meinung wieder!

Benutzeravatar
PHabermehl
Beiträge: 2429
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: CFW Basic

Beitrag von PHabermehl » 19 Mai 2017, 14:57

Hallo Sven,

ich muß zugeben. daß mir Python immer Basic-artig genug war...

Natürlich geht python schon "ewig", aber das könnte komfortabler sein, daher webbasierte IDE. Wenn ich recht verstehe, wünschst Du Dir also eine noch weiter abstrahierende Sprache?

Gruß
Peter
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

Torsten
Beiträge: 308
Registriert: 29 Jun 2015, 23:08
Wohnort: Gernsheim (Rhein-Main-Region)

Re: CFW Basic

Beitrag von Torsten » 19 Mai 2017, 23:39

Python mit WebIDE gibt es doch schon lange auf dem TXT ... und zwar sowohl mit als auch ohne cfw ... ich habe das bereits 2016 auf der Convention in Dreieich vorgeführt.

Benutzeravatar
PHabermehl
Beiträge: 2429
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: CFW Basic

Beitrag von PHabermehl » 20 Mai 2017, 22:39

Hallo Torsten,
das war mir bislang nicht bekannt.... Das wäre doch was für die cfw...
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: CFW Basic

Beitrag von richard.kunze » 20 Mai 2017, 23:41

PHabermehl hat geschrieben:Hallo Torsten,
das war mir bislang nicht bekannt.... Das wäre doch was für die cfw...
Das ist in der CFW drin :D

Mit

Code: Alles auswählen

PYTHONPATH=/opt/ftc jupyter notebook --no-browser --ip $ip_des_txt
als Benutzer ftc startest Du auf dem TXT den Jupyter-Server, und unter http://ip_des_txt:8888/ kannst Du dann iPython-Noteboos anlegen und ausführen.

Ist aber ziemlich resourcenhungrig, der Jupyter-Server allein nimmt sich gleich mal 50MB Speicher, und ein laufender Kernel, der ein simples Notebook ausführt, will dann nochmal gut 90MB dazu...

Benutzeravatar
EstherM
Beiträge: 1466
Registriert: 11 Dez 2011, 21:24

Re: CFW Basic

Beitrag von EstherM » 21 Mai 2017, 17:35

Ist Basic nicht völlig aus der Mode gekommen?
In den Schulen scheint Python jetzt ziemlich verbreitet zu sein. Es gibt auch solche netten Bücher wie "Programmieren supereasy: Einfacher Einstieg in SCRATCH und PYTHON". Statt Scratch haben wir in der cfw Brickly, und das ist auch gut so. Die Programmierschüler, die aus Brickly rausgewachsen sind und mehr wollen, werden auch mit Python zurecht kommen. Dann lernen sie auch gleich eine "richtige" Programmiersprache.
Ich persönlich halte Basic auf dem TXT für eine Fehlinvestition.

Gruß
Esther

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: CFW Basic

Beitrag von ski7777 » 21 Mai 2017, 17:42

@Esther:
Genau so.
Python bot sich gerade perfekt an (Danke an Torsten und co.)
Und Brickly ist ja nur ein Python für Kinder, den ich für sehr gelungen halte. (Ich brauche es zwar nicht, aber das kann ja noch werden..., dann aber auf dem TXTX)
Basic? Ich musste erst googlen, was das ist. Also ich finde Basic schrecklich und dafür müssten wir jetzt noch einen Wrapper in Python schreiben. :oops: Da lernt man besser Python. Python hat geschätzt 20-30 Grundbefehle und der Rest sind alles Bibliotheken, die man wie auch bei anderen Programmiersprachen (kann Basic sowas überhaupt?) lernen muss bei Bedarf.
@sven: lerne besser Python, damit bist du zukunftssicherer.

Raphael

Benutzeravatar
geometer
Beiträge: 595
Registriert: 28 Jan 2011, 12:24
Wohnort: Bochum
Kontaktdaten:

Re: CFW Basic

Beitrag von geometer » 21 Mai 2017, 20:30

ski7777 hat geschrieben: Basic? Ich musste erst googlen, was das ist.
Bildungslücke, sorry! BASIC in seiner ursprünglichen Version mit Zeilennummern und GOTO/GOSUB könnte man als die einzige Weltsprache bezeichnen, die es je gegeben hat. Auf jedem Heimcomputer in den 80er und frühen 90er Jahren lief es in irgendeiner Form. In wissenschaftlichen oder technischen Büchern wurden in dieser Zeit Algorithmen fast immer in Form eines BASIC-Pseudocodes angegeben. Computerzeitschriften wie die MC waren voll mit BASIC-Listings.

Klar ist BASIC für Programme, die länger als zwei bis drei Bildschirmseiten sind, komplett ungeeignet. Aber als Erstsprache war es ideal. Nur drei Variablentypen, nur wenige Befehle LET, PRINT, INPUT, IF, FOR, NEXT, GOTO, GOSUB, RETURN, END, BREAK, REM, NEW, CLS (fehlt noch etwas?), die meist tokenisiert wurden ( = sofortiger Syntax-Check oder der ganze Befehl wurde wie beim ZX81 gleich mit einem Tastendruck eingegeben).

Natürlich kommt man damit aus heutiger Sicht nicht weit. Es ist nicht strukturiert, nicht funktional, nicht objekt-orientiert, ... Aber funktionales Denken erfordert deutlich mehr Abstraktion und objekt-orientiertes Programmieren ist Programmieren im Großen. Für Kinder ist die Vorstellung eines Befehlszeigers, der durch die Zeilen läuft und vor und zurückspringt, sehr einfach zu begreifen. Außerdem ist sie sehr nah an der realen Arbeitsweise eines Prozessors.

Ohne BASIC würde es heute bei weitem nicht die Zahl an qualifizierten Programmierern geben. Es war für so viele der Einstieg. Viele (so wie ich auch) haben es schnell hinter sich gelassen und zunächst abfällig zurückgeblickt (Spaghetticode usw.). Aber einen so universellen Einstiegs-Standard hat es nie wieder gegeben.

Es wird bestimmt viele hier im Forum geben, die älter als 40 sind, mit BASIC klarkommen, für die aber zum Beispiel Python und Programmieren mit Bibliotheken ein nahezu unüberwindliches Hindernis darstellen. Die wären sicher sehr dankbar, wenn jemand ein BASIC implementieren könnte, sei es auch noch so minimalistisch.

VIele Grüße

Thomas

sven
Beiträge: 2750
Registriert: 18 Okt 2010, 18:13
Wohnort: Rahden
Kontaktdaten:

Re: CFW Basic

Beitrag von sven » 21 Mai 2017, 22:19

Hallo!

Danke an geometer. Das ist perfekt und genau richtig erklärt.

Das ist genau der Punkt, Basic ist sehr einfach und super schnell zu erlenen.
Python ist da schon wieder ein ganz anderes Geschoss.

Basic existiert nach wie vor auf verschiedene Art und Weise. Sie es als VB .net oder wie auch immer.

Ich werf noch eine Idee zu dem ganzen in den Raum:

Ich weiß das thkais gerne http://www.purebasic.com/german/index.php nutzt. Das wäre übrigens auch eine Überlegung.
Vielleicht gibt es eine Möglichkeit mit einer cfw Bibliothek den TXT mittels Purebasic zu programmieren.
Dann müsste man nicht selber nen Basic Compiler schreiben.
Purebasic gibt's übrigens für Windows, Linux, OSX und sogar auch für AmigoOS. Somit ist man plattformunabhängig.
in der kostenlosen Version sind max. 800 Zeilen Code möglich. Das sollte fürs erste reichen.

Gruß
Sven
Dieses Posting gibt ganz allein meine persönliche Meinung wieder!

Karl
Beiträge: 2212
Registriert: 24 Sep 2016, 17:28

Re: CFW Basic

Beitrag von Karl » 21 Mai 2017, 23:01


Benutzeravatar
geometer
Beiträge: 595
Registriert: 28 Jan 2011, 12:24
Wohnort: Bochum
Kontaktdaten:

Re: CFW Basic

Beitrag von geometer » 21 Mai 2017, 23:38

Bevor ich hier missverstanden werde:

a) Ich nutze Brickly und RoboPro zwar nicht, da wir keinen TXT haben, finde beide aber - bei aller Unterschiedlichkeit - als Programmiereinstieg klasse.

b) Es ging mir hauptsächlich um den historischen Wert von BASIC. Dass es jetzt noch so viele Anhänger von BASIC gibt, hat vor allem psychologische Gründe. Vieles, was ab der Mitte der 90er Jahre BASIC hieß, hatte eigentlich mit BASIC nicht mehr so viel zu tun, sondern war oft ganz schön COMPLEX. Aber die Hemmschwelle war des Namens wegen klein. Das ist beim Mathelehren/-lernen oft nicht anders. Es gibt Begriffe, die lösen Ängste aus und einige bauen sie ab.

c) So ein minimalistischer BASIC-Interpreter für die potentielle Seniorkundschaft wäre doch eigentlich ein wirklich schönes Projekt für unsere jungen aufstrebenden Informatik-Experten. Uns zwar am besten ALLES selbst programmieren. Muss nicht perfekt sein, nur laufen.
Zuletzt geändert von geometer am 22 Mai 2017, 21:55, insgesamt 1-mal geändert.

thkais
Beiträge: 381
Registriert: 31 Okt 2010, 21:45

Re: CFW Basic

Beitrag von thkais » 22 Mai 2017, 07:13

Moin,

zwischen dem BASIC der 80er Jahre und den heutigen Dialekten liegen Welten - strukturiertes Programmieren, nutzen von Libraries etc. sind auch für BASIC heute kein Problem mehr.

Mein Basic wurde seinerzeit speziell für das Robo-Interface entworfen und hatte damals Features, die RoboPro nicht kannte (z.B. Floating-Point Variablen und Zugriff auf die serielle Schnittstelle). Es ist für den Einsatz für Robotik optimiert, so kann es bis zu 10 Threads verwalten (mit re-entranten Funktionsaufrufen - Rekursionen sind möglich, Threads können jederzeit gestartet/pausiert/beendet werden), globale/lokale Variablen, 2-dimensionale Arrays, hat spezielle Befehle die z.B. auf Flanken warten, Motoren ansteuern etc... Zeilennummern und GOTO kennt dieses Basic hingegen nicht.
Ein weiterer Optimierungsansatz bestand darin, dass auf der PC-Seite der Code vorübersetzt wurde - auf dem Interface läuft dann ein Bytecode mit vorberechneten Variablen- und Sprungadressen, außerdem wird eine eigene (sehr schlanke) Threadverwaltung installiert (durch den Bytecode-Interpreter ist das sehr einfach).

Prinzipiell würde ich heutzutage auch eher Python empfehlen, weil diese Sprache a) schon da ist und b) recht weit verbreitet ist.

Der einzige Charme, das Basic auf den TXT zu portieren bestünde darin, dass es sehr wenig Ressourcen benötigt (es ist immerhin "nur" für einen kleinen 16-Bit Microcontroller geschrieben worden). Sollte da wirklich größeres Interesse bestehen, würde ich den Source mal raussuchen (der ist mehr als 10 Jahre alt...).
Gruß
Thomas

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: CFW Basic

Beitrag von MasterOfGizmo » 22 Mai 2017, 12:38

Unabhängig davon, ob das wirklich jemand auf den TXT portiert solltest Du das m.E. unbedingt raussuchen und auf githib o.ä. ablegen. Ist doch immer schade, wenn sowas verloren geht und vielleicht findet es ja doch der ein oder andere hilfreich.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: CFW Basic

Beitrag von MasterOfGizmo » 23 Mai 2017, 21:45

Wie schon geschrieben spukt mir die Idee einer Web-basierten einfachen Programmierumgebung ja schon seit den Anfängen von Brickly im Kopf rum. Und nun habe ich's mal ausprobiert. Ist quasi eine Kombination aus noVNC, CodeMirror und Brickly.
BOA interactive Python
BOA interactive Python
Das ist eine App, in der ein Python-im-Python läuft. Und weil man direkt am TXT keine Tastatur hat übernimmt der Browser den Part. Im unteren Teil des Bildschirms hat man daher eine interaktive Python-Shell in der man alles machen kann, was man will wie im Beispiel z.B. die ftroboby laden und benutzen

Und damit man später auch komplette grafische Oberflächen schreiben kann ist oben rechts ein VNC-Client, der ein Live-Video des TXT zeigt und per Maus durch den Browser voll bedienbar ist. Man kann sogar Boa verlassen und andere Apps starten, wenn man will. noVNC halt ...

Und das oben links ist CodeMirror, ein kompletter HTML-basierter Programmeditor. In dem kann man Programme schreiben und dann auf dem TXT laufen lassen. Letzteres ist noch nicht implementert. Aber wer zur Karlsruher Gulasch-Programmiernacht vom kommenden Donnerstag bis Sonntag geht sieht mich ggf. irgendwo sitzen und ein wenig an Boa basteln. Wenn ich nicht gerade Gulasch esse oder Werwolf spiele ...

Und ob da letztlich ein Python läuft oder ein basic macht dann technisch praktisch keinen Unterschied.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Antworten