BASIC mit Zeilennummer - Programmieren

Heute würde man wohl mit dem weiter machen was eh überall läuft wie C++ und Co.
Aber irgendwie fehlt dann das berühmte einfache Plot, Draw und Co - womit "es" meist irgendwie beginnt.
Na, wenn man sich das Webzeug ansieht gibt es genau das nicht, Sprites, Soundkram auf kleiner Ebene und diese einfachen Mal-Flächen Sachen.
Eigentlich schade. Damit ging es einfach leicht mal irgendwo anzufangen.
Bitte nicht C++ ... auch wenn es leider immer noch industrieweit eingesetzt wird, es wurde genug darüber geschrieben, warum nicht. Ich weiß nicht, wie der aktuelle Stand bei Rust oder Swift ist, meinerwegen auch Scala, wer auf Java steht, aber das hat schon deutliche Gründe, C++ nicht zu nehmen. Nicht selten kämpfen wir alle täglich mit den Auswirkungen.

Rust oder Swift wären meine Wahl, würde ich ein neues Softwareprojekt aus dem Boden stampfen. (Gehen die eigentlich auf den aktuellen Miniboards ERSP32 oder RP2040?)

Für Python gibt es meiner Wissens nach nicht gerade wenig (selbst wenn man Mathplot mal außen vor lässt), womit man Dinge visualisieren kann (PyGame und was weiß ich, das PyPi ist riesig). Den aktuellen Stand der Projekte kenne ich aber nicht (Bin seit Jahren raus, aber dank @aliced25 und seinem MidiTrac bekomme ich wieder Lust.)
 
Bisschen Python hab ich schon gemacht weil Webkram und insgesamt nimmt sich das nicht mal viel PHP hab ich hier viel selbst gecoded, schon weil die ganzen Tools die ich nutze eh php sind. Manche sind auch kleine Python Skripte. Also keine Sorge - das ist da.

Ich bin nach Basic wegen Beruf und Trend zu C++, Java, JS gegangen, weil das so vor 20 Jahren das Ding war und auch die Sachen die man genutzt hat, C und C++ setze ich mal gleich in dem Falle - mir ist klar, dass das nicht identisch ist.

Rust ist interessant - Swift ist als Appleuser auch naheliegend. Ich mag übrigens eh Sprachen die nicht so Typenradikal sind, weil das brauche ich nicht - ich muss mich aber auch nicht wirklich kümmern.
Allerdings müsste ich bei MacOS Sachen wirklich ein bisschen Einstieg haben damit ich das coden könnte, glaube das wären die Grundlagen was wie wo sein muss damit das klappt, ich hab da selbst einfach zu wenig gemacht. Ggf. gibt es da ja auch nette Videos oder sowas, wo wirklich dann quasi die wichtigsten Sachen drin sind.
Schätze aber dass man sich das rel. schnell drauf schaffen kann - das was ich hier schreibe im #1 ist ja wirklich reine Nostalgie.
Ich find das einfach nice - weil ich damit angefangen habe und gemerkt, dass es natürlich auch Unfug wäre nen ZX zu haben oder so, weil wirklich ernsthaft Rumstehgeräte zu haben mit altem Zeug ist auch Quark - so krass bin ich nicht drauf. Aber es ist schön, was man mit 30 Zeilen Code für Einsteiger schon machen kann. Gerade weil heute viele Farben und so normal sind.
Das ist also reine hmm, Freude über das was geht weil man das damals gelernt hat oder so.
Und mein Grund damals war eigentlich KI und kluge Software und Ideen - ich wollte so eine Denkmaschine haben und verstehen.
Und das ist super.

Aber du hast wohl Recht - Python ist für mich ok - liegt auch nahe, ist nicht zu weit weg von dem was ich kenne, sind ja nur "Dialekte", am meisten gemacht habe ich wohl in PHP, weil das natürlich lange das Ding war was hier alles zusammenbringt. Die SynthDB war auch PHP. Selbstbau.
Ich hab es nur dummerweise als Hack gemacht und nicht anständig, sonst würde es heute noch laufen.

Ich hab die Zeit nicht mehr so große Projekte zu machen - aber war schon auch cool, sowas mal zum Spaß anzufangen.
und bis zu einer gewissen Reife zu bringen.

Ja, deR MIDItrac ist cool - das ist wahr - und mit kleiner HW was zu bauen - ich glaube das könnte sogar wirklich cool sein und ggf. sogar die Lösung für die eigenen Ziele werden.
Er sagt ja selbst, dass er nicht "alles wisse" und macht einfach - genau mein Motto heute - ich bin nicht mehr so ein Nerd - aber ein bisschen Gebastel war schon cool - wobei lieber mit Soft basteln - bei der HW ist mir lieber dass die funktioniert - aber man kann sich das heute auch eher zusammenkaufen.
Sequencer ist sogar ziemlich perfekt - weil das nur Steuerkram ist und Timing.
Das kann man hin kriegen.

Von daher - nur nicht die Versuchung - weil dann schafft man das andere Zeug nicht mehr *G*
Ich will am Ende lieber Musik machen und Sounds und sowas - dafür bin ich da - und damit könnte man schon auch ein bisschen Kunst machen, Zeug realisieren und so weiter.
Das Potential mit einer einfachen Sprache Dinge zusammenzukleben und das interoperabel zu machen ist schon reizvoll.

Ich bin in Python nicht in GFX sondern nur mit dem was man für's Web braucht gegangen, kein Plotzeugs oder so, weil lustig - das ist vielleicht "der Fehler" ;-)
 
...
Ja, deR MIDItrac ist cool - das ist wahr - und mit kleiner HW was zu bauen - ich glaube das könnte sogar wirklich cool sein und ggf. sogar die Lösung für die eigenen Ziele werden.
Er sagt ja selbst, dass er nicht "alles wisse" und macht einfach - genau mein Motto heute - ich bin nicht mehr so ein Nerd - aber ein bisschen Gebastel war schon cool - wobei lieber mit Soft basteln - bei der HW ist mir lieber dass die funktioniert - aber man kann sich das heute auch eher zusammenkaufen.
Sequencer ist sogar ziemlich perfekt - weil das nur Steuerkram ist und Timing.
Das kann man hin kriegen.

Von daher - nur nicht die Versuchung - weil dann schafft man das andere Zeug nicht mehr *G*
Ich will am Ende lieber Musik machen und Sounds und sowas - dafür bin ich da - und damit könnte man schon auch ein bisschen Kunst machen, Zeug realisieren und so weiter.
Das Potential mit einer einfachen Sprache Dinge zusammenzukleben und das interoperabel zu machen ist schon reizvoll.
Das ist genau der Punkt, an dem ich mich befinde: WILL ICH Software schreiben? Einerseits ist der Reit der alten Tage da, andererseits macht man das Designed von Sounds so viel mehr Spaß ... etliches erstellt, aber ich bin da auch mein grö0ter Kritiker und unter 99% Perfektion würde ich nichts veröffentlichen, ich glaube, das konnte man im Grundtenor schon lesen bei mir. Deswegen vorerst nur viel Spaß ohne "sichtbare" Erfolge. Der Lernprozess war es schon immer, der mich so sehr gereizt hat, jetzt habe ich ihn wieder, nach langer Zeit. Das verdanke ich auch dem Enthusiasmus einiger Mitforisten hier, von denen ich mich habe mitreissen lassen ...

Aber nicht, dass AliceD dass am Ende noch missversteht, nachdem er mich heute gefühlte 90 Minuten per VIdeocall an das Konzept seines Livesequencers herangeführt hat: ich habe da noch gar nichts dran zu kritisieren, denn dazu muss ich ihn erstmal vollumfänglich in Fleisch und Blut verinnerlicht haben. Und selbst wenn, der ist ja da, und sehr gut ist er auch, wenn man das Konzept verstanden hat. Muss man sich erstmal mit auseinandersetzen. Ist nichts für Menschen, die sofort Erfolge haben wollen. Damit habe ich kein Problem.

Aber man kann ja noch so viele andere Dinge coden. Und so langsam komme ich wieder auf den Geschmack. Entwickeln von solchen Dingen kostet ja nichts mehr, nicht so wie früher, wo man erstmal ein Entwicklungsboard für X Tausend DM/€ kaufen musste in einigen Bereichen. Und das ist eigentlich ein ganz positives Ding. Aber ich will mir trotzdem vorher ganz sicher sein, denn die Dinge anschaffen und dann nicht benutzen passt nicht zu meinem Lebenskonzept.

Aber hier soll es um Basic gehen, also sorry für den OT.
 
Rust oder Swift wären meine Wahl, würde ich ein neues Softwareprojekt aus dem Boden stampfen. (Gehen die eigentlich auf den aktuellen Miniboards ERSP32 oder RP2040?)

Für Python gibt es meiner Wissens nach nicht gerade wenig (selbst wenn man Mathplot mal außen vor lässt), womit man Dinge visualisieren kann (PyGame und was weiß ich, das PyPi ist riesig). Den aktuellen Stand der Projekte kenne ich aber nicht (Bin seit Jahren raus, aber dank @aliced25 und seinem MidiTrac bekomme ich wieder Lust.)

Der MidiTraC ist in C programmiert, ohne die Möglichkeiten von Zeiger Arithmetik, Bitmasken und ähnlichen Techniken wäre so ein Projekt auf einem ESP32 gar nicht möglich, weil Interpreter Sprachen leider nicht die Performance bieten.
Lediglich das ESP Tool zum Updaten der Firmware ist ein Python Script. Grundsätzlich lässt sich der ESP32 natürlich auch mit Python programmieren. Es gibt sogar neuerdings ein Rust Framework für ESP basierte Sachen.

Ich gebe Dir Recht, Rust und Swift UI (auf dem Mac) sind die Sprachen, die zukunftsorientiert daher kommen.

Trotzdem würde unsere Welt wohl still stehen ohne C / C++. Fast alle Betriebssysteme basieren unter der Haube auf C / C++, vom Kühlschrank, über Waschmaschine bis hin zu Satelliten, Audio Hard-Software... minimal mehr Performance geht dann nur in Assembler. Wobei es schwierig sein dürfte besser in Assembler zu programmieren als es moderne Compiler können.

Web basierte Sachen sind dann wieder eine andere Baustelle, wo andere Sprachen punkten können...
 
Prinzipiell gebe ich dir da natürlich Recht, deswegen wird ja C/C++ immer noch eingesetzt. Aber das ist ja auch gleichzeitig die Kehrseite der Medaille: wir werden Altlasten anscheinend immer ganz schlecht los, auch wenn es schon lange konzeptionell Besseres gibt, was man tunlichst nutzen sollte. Die Prozesse dauern immer, und so manche Entwicklung bleibt dann dabei auf der Strecke und wir fahren immer noch Altlasten.

Zeiger sind aus Performancegründen natürlich eine gute Sache, aus anderen Gründen Teufelszeug, das immer noch (nach 60 oder so Jahren) zu Problemen führt. ;-)

C ist für so ein Projekt sicherlich eine gute Wahl. Da Rust aber möglich sein soll ... ich wollte schon immer mal Rust richtig verstehen (aus der praktischen Sicht, nicht nur vom Lesen.) Danke für den Hinweis.

EDIT: Das war meinerseits auch kein Plädoyer für Interpretersprachen bei solchen Projekten, sondern eher für andere Sprachen als C/C++. Ich bin mir K&R aufgewachsen, Pointer haben mich früher trotzdem oft genug in den Hintern gebissen, um sie nicht zu mögen. ;-)

Back to BASIC ...
 
Zuletzt bearbeitet:
C++ wird auch bei uns noch locker die nächsten 20-30 Jahre die Hauptsprache sein. Andere Sprachen lohnen sich nur wenn man komplett neu anfängt und das Ökosystem auch für das Vorhaben schon existiert und gut erprobt ist. Für Experimente ist im Unternehmensumfeld kein Platz. Persönlich finde ich Sachen wie Rust spannend, ob das zu Lebzeiten irgendwas ersetzen wird kann ich nicht sagen, bei uns jedenfalls nicht. JavaScript und Python sind die zweitwichtigsten Sprachen hier auf Arbeit. Alles andere spielt in unserem Umfeld keine Rolle. Linux und Macs sind bei den Industriekunden überhaupt kein Thema, von daher entwickeln wir auch nur ausschließlich für Windows. Gut die Webapps funktionieren ja automatisch überall. Aber was den Desktop angeht, so ist es auf Arbeit, bei den Industriekunden und bei uns zuhause zu 100% Windows. Glaub auch nicht, dass sich da was in den nächsten 20 Jahren ändern wird.
 
Basic auf dem C64 fand ich immer langweilig und umständlich, die coolen Sachen auf dem C64 gehen halt nur in Assembler -> Taschenrechner anschmeißen, Taktzyklen zählen und immer den Rasterstrahl im Auge behalten...
 
Basic auf dem C64 fand ich immer langweilig und umständlich, die coolen Sachen auf dem C64 gehen halt nur in Assembler -> Taschenrechner anschmeißen, Taktzyklen zählen und immer den Rasterstrahl im Auge behalten...
Kommt mir vom ATARI ST bekannt vor, während ATARI 8Bit und Amiga User Interrupts für sowas hatten.
 
Schau dir die "Handy" Spiele an, gute Ideen müssen nicht aufwendig sein um Erfolg zu haben und es gibt wie bei den Synths auch sowas wie 'ne Retro Welle mit 2D Kram, Neuauflagen div. erfolgreicher Arcade Spiele.

Auch diese Projekte sind zumeist in Unity gemacht. Auch ein 2D Game ist viel zu komplex für den Anfang. Ich habe schon viel ausprobiert für Kinder, microbit, caliope, javascript, phyton…da die Motivation hochzuhalten istextrem schwierig. Am besten funktioniert Scratch (weil man da realtiv einfach grafische Spiele entwickeln kann), leider ist der Sprung von der visuellen Blockebene auf die Textebene dann wieder schwierig für die Kinder.
 
Auch diese Projekte sind zumeist in Unity gemacht. Auch ein 2D Game ist viel zu komplex für den Anfang. Ich habe schon viel ausprobiert für Kinder, microbit, caliope, javascript, phyton…da die Motivation hochzuhalten istextrem schwierig. Am besten funktioniert Scratch (weil man da realtiv einfach grafische Spiele entwickeln kann), leider ist der Sprung von der visuellen Blockebene auf die Textebene dann wieder schwierig für die Kinder.
*lol* Für Kinder gibts sicher geeignete Tools um eigene Spiele zu bauen, da hab' ich keine Bezug zu, dafür mangelt mir an Kindern. Aber es ging ja eher darum womit man Erfolg haben kann und das muss sich ja nicht zwangsweise an Kinder richten und Spiele im Retro Look sind ja eher für Kind gebliebenen spannend. Ich kann mir gut vorstellen dass man Unity für 2D Spiele im Retro Look nutzen kann, wahrscheinlich gehts damit auch was schneller, würde es aber nicht als Voraussetzung sehen um eine gute Idee im Pixel Look umzusetzen.
 
Der VIC des C64 konnte auch bei einer im Register abgelegten Rasterzeile einen Interrupt auslösen.
Sag das nicht mir sondern @aliced25 , ich hab zwar mittlerweile einen C64, aber eher verspätet Ende der 90er von einer netten älteren Dame geschenkt bekommen, mit der ich zudem ein kleines Abenteuer hatte.😊
 
Da mein Vater Ingenieur war, der sich mit Digitaltechnik tatsächlich auskannte, gab es bei uns keinen C64, sondern einen IBM-kompatiblen PC aus irgendeiner Hinterhof-Garage, die den Zusammenbau bewerkstelligt hatte. Ich habe mit 13 Jahren - im Jahr 1985 - ein Programm für das Spiel "Mastermind" in Basic programmiert und war dann sehr stolz, es ein oder zwei Jahre später in "Turbo Pascal" mit etwa der Hälfte der notwendigen Befehlszeilen neu programmieren zu können.
Ich habe mal Mastermind in Generator/Reaktor programmiert: https://www.native-instruments.com/en/reaktor-community/reaktor-user-library/entry/show/201/
 
Sag das nicht mir sondern @aliced25
Wieso, habe ich was gegenteiliges behauptet?

Wenn Du mit der Rasterzeile und Interrupts arbeiten willst, bleibt Dir gar nichts anderes übrig als Taktzyklen zu zählen... ein einfacher LDA kann zwischen 2-6 Taktzyklen haben je nach Adressierung usw.
Wenn Dein Code nicht Synchron zur Rasterzeile läuft, kommt auf dem Bildschirm nur Murks an...

BTW: Interrupts kann man auch in Basic nutzen...
 
Zuletzt bearbeitet:
Woran machst du das fest?
nur an mir selbst - sorry, das ist einfach nur eine Laune - und nur so - der innere Nerd. Es ist klar, dass das heute keine Rolle mehr spielt.
und an den wirklich vielen YT Kanälen und Leuten die sich allein für div. 8Bit Maschinen stark machen.

Ein Musiker-OS ... hmmmm, die Idee finde ich reizend ... ich muss mal in mich gehen, da findet noch ein innerer Kampf statt, ob ich überhaupt nochmal größere Dinge progammieren möchte.

Aber die ESP32 RP2040 Kombi reizt mich derzeit auch ein wenig ... aber der Pfad....
Naja, es wird nicht kommen, weil Musiker eine kleine Gruppe sind, die Maschinen teuer wären und kaum eine Firma sich darauf einlässt, wenn man eh schon für MacOS und Windows anbietet. Das ist dann was, was einfach besser sein "muss" und da ginge es zB mit MIDI 2.0 direkt los, kann alles was wir uns wünschen und zwar so wie man sich das auch als Performer, Artist oder Stockhausen wünschen kann - etwas wo Standardrechner nicht klar kommen - sei es auch nur ein entkerntes spezielisiertes HW oder SW Paket. Das könnte ggf. auch schon passen.

Die ESP TEile sind aktuell das neueste für kleine Projekte post Microcontroller - das ist auf jeden Fall super für eine neues Modul oder ein kleines nettes Gerät oder sogar ein Synth. Heute macht man das meist mit nem ARM Multicore - weniger ist es wirklich heute kaum noch - wenn man die Power braucht und ja, das ist ja auch schon gut - das sind dann Linüxe, die da für das System frei von komischen Diensten ist und damit auch frei.
Das ist natürlich auch schon was.

Sowas hab ich früher mit dem OS auch gemacht und kann jeder der sich mit dem OS gut auskennt zumindest verbessern,
Das wäre auch etwas, was Hersteller ja auch anbieten könnten.
Ich geh jetzt in den Künstlermodus und mach mein Zeug.
 
Rust war als Ablöse von C gedacht, ich schau mal, was da geht ... ;-) Bei C ist mir das durchaus klar.
Die neuen Sprachen haben alle keine Paradigmen mehr, aber Eignungen, wenn du zB eine Sprache für Verteilte Systeme und Nebenläufigkeit nutzt, kann es gut sein, dass man dann die Standardsachen wie Datenbank einfach klassisch lässt oder andocken lässt - und die Sache ist dann heut oft eine Kombination mit Anleihen aus einer Reihe von Sprachen.

Erlang kommt ZB aus der Kommunikationswelt und war mal dafür da das zu vernetzen - und da ist natürlich auch cool wenn Prolog oder Lisp als KI Vorläufer mit drin ist - manche Sprachen sind eher für Matritzen da, schnelles Rechnen oder verteilen und andere sind eher streng bei Variablentypen oder oder oder --
zB weil man eine kleine oder gar keine Garbage Collection haben will und Speicher spart - andere nutzen einfach was da ist und lassen es so - kümmern sich aber mehr um Sicherheit und so weiter..

Daher ist die Wahl einer Sprache auch an dem orientiert was man grob machen möchte.
Ich denke Musikerkram wären idR keine Netztwerke - aber es wäre interessant, wenn man das auch machen kann - also eine Gruppe Rechner netzt und macht eine Berechnung - bei uns im Audiobereich ist Echzeit das große Ding - aber ich hab das hier eher aus spielerischen Gründen als Nerd geschrieben - und meinte ganz kleine Aufgaben - weil es Spaß macht und da ist die Sprache fast egal - sogar besser wenn man sich Zeit spart und wenig zu tippen hat.
Da braucht man nicht unbedingt einfach oder doppelt verkettete Listen.
Die sparen zB Platz aber sind sicher weniger komplex als ein altes Dim Feld. Aber wenn das DIM Feld gelöscht wird, kriegt das System den Müll dazu besser weg.

So Sachen halt.
Ich hab hier eher was was HiRes Zeug malen kann, nicht komplex, und so --
Aber cool wäre schon was, was Soundkram oder Sequencing oder beides machen könnte.
Jaja, natürlich könnt man auch VCV oder Reaktor oder MaX oder PD oder so nehmen - das ist schließlich dafür auch da. Kontrollstrukturen sind da oft wichtig, damit wir unsere Kompositionen und Ideen bauen können. Ich meine etwas was über Ableton DAW und so hinaus geht brauchen könnte.
Aber das ist nur ein Nebengedanke - den ich eher als eigenen Thread machen würde - ich bin kein App Enwickler - ich würde sowas dann aus mehreren Perspektiven sehen wollen -
also als User und Nutzer und es ist ja auch ein bisschen weil es geht - der Nerd will halt nur wissen wie das geht und macht es weil es geht ;-)
Und der Künstler will das wissen und schnell zum Ziel kommen, die Strukturen bauen können wo vielleicht Licht und Motoren auch noch eine Rolle spielen ..
Oder Raumklang, Multichannel Audio..
 
Und wer sich die intellektuelle Kugel, aber Old School, geben möchte:
(2 = 0 +.= T ∘.| T) / T ← ιN
Berechnet die Prinzahlen bis N.

Oder:
life ← {⊃1 ⍵ ∨.∧ 3 4 = +/ +⌿ ¯1 0 1 ∘.⊖ ¯1 0 1 ⌽¨ ⊂⍵}
Game of Life.

APL. Da weiß man,was man hat. Guten Abend.

Grüße
Omega Minus
 
Ich glaub sowas gibts in Erlang auch, so in der Art. Nicht gleich aber so ähnlich - Boar, ich hab das in im Studium diese ganzen Quicksorts und so, das ist schon cool für ein junges Gehirn. Ich bin zugegeben etwas fauler geworden, stelle das also nur mal so dagegen oder dazu.

Wissenswertes über Erlangen..

-module(test).
-export([fac/1,fac_tr/1]).

%%% nicht-endrekursive Version
fac(0) -> 1;
fac(N) -> N * fac(N-1).

%%% endrekursive Version (tail recursive)
fac_tr(0,Yet) -> Yet;
fac_tr(N,Yet) -> fac_tr(N-1,Yet*N).

%% Hilfsfunktion
fac_tr(N) -> fac_tr(N,1).
 
Und wer sich die intellektuelle Kugel, aber Old School, geben möchte:
(2 = 0 +.= T ∘.| T) / T ← ιN
Berechnet die Prinzahlen bis N.

Oder:
life ← {⊃1 ⍵ ∨.∧ 3 4 = +/ +⌿ ¯1 0 1 ∘.⊖ ¯1 0 1 ⌽¨ ⊂⍵}
Game of Life.

APL. Da weiß man,was man hat. Guten Abend.

Grüße
Omega Minus
Game of life kann's auch..

⎕←world←2 2 2 2⊤0 12 5 2 4 1
0 1 0 0 0 0
0 1 1 0 1 0
0 0 0 1 0 0
0 0 1 0 0 1
{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵} world
1 1 0 1 0 0
0 1 1 1 0 0
0 1 0 1 1 0
0 0 1 0 0 0

Buah, aber da sitzt du lang an der Zeile - bei BASIC kann man es geradezu lesen, bei Prolog auch

Hab mal bei Haskell geguckt, auch ganz schön.. auch ein bisschen davon ist da drin..
imgrunde schreibst du die Formel hin und alles andere geht mit dem Code.
Auch cool, aber ich bin ein zu schlechter Mathematiker..

Bei Prolog gibt es sowas - das hielt ich früher für klug und KI'ish..

?- frau(X).
X=eva
X=daniela
X=lisa

Und das KI heute nicht so funktioniert wissen wir auch - aber ein bisschen.

Spannend aber - und genau deshalb hab ich mich für Computer interessiert -ich wollte das wissen, wie man denken kann und wie man das angehen kann.
 
Zuletzt bearbeitet:


News

Zurück
Oben