Kontakt 61 macht Kunststoff spröde

Der kämpft an vielen Fronten :)

Ich schrub an anderer Stelle, das man den interaktiven Mode braucht, damit der Gedankenflow nicht unterbrochen wird. Das ist der Grund, warum Forth Programmierer schneller sind um Faktor 2-40. Sie können schneller mehr Fehler machen und draus lernen :)

Auch das merkste schneller als der C-Mensch, der lange sucht, was der Compiler gerade mal wieder wegoptimiert hat.

Keine Ahnung, für mich ist objektorientiert sowas wie RPN für andere :)

Ich bin nicht objektorientiert, sondern zielgerichtet :p

Saludos (an alle Vernünftigen, Rest sh. sig) Wolfgang

--
Wolfgang Allinger, anerkannter Trollallergiker :) reply Adresse gesetzt! 
Ich diskutiere zukünftig weniger mit Idioten, denn sie ziehen mich auf 
ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p 
(lt. alter usenet Weisheit)      iPod, iPhone, iPad, iTunes, iRak, iDiot
Reply to
Wolfgang Allinger
Loading thread data ...

hihi

So mache ich es auch immer. Schreibe eine Sammlung von Worten in der Sprache des Anwenders. Also volle Kommandos und Abkürzung könnten so sein:

Aufzug halten Ah Aufzug nach oben Ao Aufzug nach unten Au Tür öffnen Tö Tür schliessen Ts nach 5 fahren 5 ZS! ( ZielSetzen) .Stockwerk .St .Richtung .Ri Nothalt NH Ventilator ein Ve Ventilator aus Va Licht ein Le Licht aus La

12.7 m/s Vmax! 0.273 m/s Vmin!

Irgenwann werdense neugierig und ich zeige denen wie man mit den einzeln Worten ein Fahrprofil anlegen kann:

Muss einfach : und den Namen des Profils eingeben, wassu vorher hier zeilenweise ausprobiert hast. Nimm die Zeilen, die ok waren, die anderen lass raus. und am Ende das ; nicht vergessen FEDDICH und ab die Post

Eyh lass mich auch mal... und garantiert fährt die Versuchseinrichtung 1 Tag Jojo :)

There are always strange people doing strange things. Watch them!

Saludos (an alle Vernünftigen, Rest sh. sig) Wolfgang

--
Wolfgang Allinger, anerkannter Trollallergiker :) reply Adresse gesetzt! 
Ich diskutiere zukünftig weniger mit Idioten, denn sie ziehen mich auf 
ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p 
(lt. alter usenet Weisheit)      iPod, iPhone, iPad, iTunes, iRak, iDiot
Reply to
Wolfgang Allinger

Thomas 'Tom' Malkus :

Aua.

Auch wenn RPN anders aussieht, so bleibt die Arithmetik doch dieselbe.

Also ganz langsam ...

"Addieren" ist der Operator, der zwei Werte verknüpft. Nur zwei Werte.

Und wo vorher zwei Werte waren, da ist hernach dann einer. Nur einer. Die Stacktiefe wurde damit um 1 verringert. Der verbliebene Wert ist die Summe der beiden vorherigen Werte.

Zum mitschreiben als Stackkommentar -

im Largo sostenuto:

1 ( 1 ) 2 ( 1 2 )
  • ( 3 )

Und wenn anschließend dann eine Operation aufgerufen wird, die wiederum zwei Werte erwartet (wie zuvor eine Division), dann wird hierzu auf einen Wert zugegriffen, der hier im Zusammenhang nicht vorgestellt wurde. Den gibt es hier nicht. Der kommt, wenn schon, dann aus einem Niemandsland.

Eine halbwegs brauchbare Maschine wirft dann "stack underflow" zurück.

Oder es war tatsächlich im Niemandsland noch ein Wert übrig, von irgendwann früher, bevor man Kaffee trinken gegangen ist, der wird nun für die Division verbraucht.

Der ist aber hier nicht spezifiziert.

Vielleicht ist auch die Maschine schlecht aufgebaut und statt eines "stack underflow" werden stillschweigend Werte nachgeschoben.

Das ist dann vielleicht ein Zufallsgenerator, aber kein Rechner. Und wenn man sich darauf verlässt, dann ist das ein Denkfehler.

Vielleicht ist dies überraschend für Benutzer von Schuhkartonlogik (vulgo Frames, auf Maschinenebene), wo man sich Werte nur so vorstellen kann, dass sie immer in Funktionsschachteln kaserniert sind: Das sind dann ganz andere Dimensionen von Denkfreiheit, dass da Werte frei herumgeistern können, mit womöglich einer schon etwas längeren Geschichte, und ob sie da sind oder nicht, liegt alleine in der Verantwortung des Benutzers ... und nicht an einer irgendwo für diese Schuhweite dann an den Haaren herbeigezogenen künstlichen Grammatik. Die Maschine arbeitet auch ohne solche Grammatik und ein Wert von vor dem letzten Spaziergang kann munter weiter benutzt werden.

Ob das seine Richtigkeit hat, muss der schon selbst wissen, der da tätig ist. Aber wer sich an solche Freiheit gewöhnt hat, der will sie dann eigentlich nicht mehr so gern missen. Umgekehrt sind die Nachbarn denen die Vorzüge von Denkfreiheit immer wieder mit tausend Ausreden ausgeredet wird, dann gern notorischerweise und komplett unnötigerweise auf der Suche, warum es ausgerechnet auch da eine Ausrede braucht, weiterhin und immer wieder Werte zu kasernieren.

Man kann sich das auch ganz anders zurechtlegen:

Mit der algebraischen Notierung verinnerlicht man die Metapher, bei den Rechnern sei quasi die Mathematik leibhaftig in de Welt gekommen (was dennoch kompletter Unsinn ist).

Mit der anderen Art, Rechenschritte vorzugeben, wenn zugleich diese schräge Allerwelts-Metapher (plausibel und dennoch Unsinn) auf Abstand gebracht wird, andet man wieder bei einem Vorzug für die einfache trockene Logik vor der Mathematik.

Damit wird man tunlichst wieder eher fragen, ob das, was man da tut, stringent auf die Reihe zu bringen ist - und das steht gern auch einmal im Widerspruch zu dem, dass mit obiger Metapher immer zuerst einmal danach gekräht wird, ob es für dies und jenes bittesehr eine Formel zu kaufen gäbe.

Reply to
Ewald Pfau

Marc Santhoff ( snipped-for-privacy@t-online.de):

Einige Leute mögen in letzter Zeit dieses hier recht gerne:

formatting link

Ich werde damit nicht so richtig warm, auch mit Arduino nicht.

73 de Tom
--
DL7BJ|DL-QRP-AG #1186|DARC OV I18|FISTS #15933|AGCW #2737|ARRL 
http://www.dl7bj.org                 https://twitter.com/dl7bj
Reply to
Thomas 'Tom' Malkus

Thomas 'Tom' Malkus schrieb:

Sieht intressant aus. Für jemand der z.B. als erste Programmiersprache Java (-> alles ist ein Objekt) gelernt hat wahrscheinlich durchaus geeignet. Erinnert etwas an Python.

Mir ging es aber darum, schneller zu sein. Forth kann ich bereits bzw. könnte es sofort auffrischen. Aber eine neue Sprache lernen liegt mir grad' fremd, dann benutze ich eben weiter C mitsamt Compiler, Linker & Flash-Load-Tools.

Zum "mal eben was ausprobieren" auf den keinen Dingern wäre Forth genau passend. Dann soll es aber auch dauerhaft laufen, wenn aus dem Experiment etwas statisches wird.

Marc

Reply to
Marc Santhoff

Hä? Du fragst/sagst dass 2-4k zu knapp für Forth wären und ich antworte, dass es sogar in 1k passt, ist das der Grund warum Du es nicht verwenden willst? Strange :(

Kommt ganz auf Deinen Forth Stil an, man kann in jeder Sprache schlechte Programme schreiben, in Forth ist das am einfachsten.

Vernünftiges ausfakturieren, passende Namen finden und auch die Kommentare reinschreiben. Dann könen sogar Nicht-Forther verstehen, was Du da gemacht hast.

Ja, wenn Du willst. Ich dachte Du willst Forth auf dem Target haben, damit Du interaktiv drauf fummeln kannst.

Wenn Du nur die reine Anwendungs SW ohne Forth Unterstützung im Endprodukt haben willst, dann nehm halt ein Nabelschnur-Forth. Da ist

99% auf dem Host-PC und im Target sind nur ein paar dutzend Byte für den Loader...

Egal wie, Du bestimmst, welche Worte ins dictionary kommen und welche nicht und auch wo das dictionary haust.

Ja und? Was soll mir das sagen?

Saludos (an alle Vernünftigen, Rest sh. sig) Wolfgang

--
Wolfgang Allinger, anerkannter Trollallergiker :) reply Adresse gesetzt! 
Ich diskutiere zukünftig weniger mit Idioten, denn sie ziehen mich auf 
ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p 
(lt. alter usenet Weisheit)      iPod, iPhone, iPad, iTunes, iRak, iDiot
Reply to
Wolfgang Allinger

Marc Santhoff :

Letzteres wird es schon brauchen.

Aber es kommt ein Punkt hinzu, der für Forth spricht, der begründet sich beginnend damit, dass der brave Coder bei Forth recht elementar mit seinen eigenen Grenzen konfrontiert ist, ergo, wenn er dauerhaft damit umgehen will, sich einen Arbeitsstil zurechtlegen muss, mit dem er sich nicht selbst ein Bein stellt.

Dem kommt das Sprachkonzept insoweit entgegen, als Aufrufe von Subroutinen quasi billig sind, als da nicht mit Frames hantiert wird, die flüchtigen Parameter stets sichtbar sind (soweit man nicht z.B. elaboriertere Objekte in Wordlists bzw. Vokabularen versteckt).

Typisch ist hernach eine Arbeitsweise, mit der übersichtliche kleine Module gebaut werden, die leicht in Gruppen zu ordnen sind.

Mit dem Blick von solchen Software-Paketen aus, die mehr Atem brauchen als nur einmal kurz husten, stellt sich damit ein anderes Paradigma in der Vorgangsweise ein:

Wo der brave Coder im Algol-Dunst seine Funktionen und Prozeduren vom Stapel lässt, stets so tut, als ob alle Welt eine Kette von Variablenzuweisungen wäre, da schreibt der Nachbar hier vielmehr quasi ein _Wörterbuch._ Er schreibt eine Applikation, indem er eine Sprache erfindet, mit der die Details der Aufgabe dann durch einfache kurze Nennungen abzuhaken sind.

Dass da Variablen zugewiesen werden, ist plötzlich nurmehr nebensächlich. Es ändert sich stattdessen der ganze Aufbau, wie man sich den Aufgaben nähert.

Programme bestehen dann schlicht aus Folgen von Nennungen, in einem viel abstrakteren Sinn, als wenn Architekturen fast nur um den Zuweisungsoperator herum gestrickt werden, dieser Metapher für Identität, kraft welcher der Faktor von verstrichener Zeit hinausverheimlicht wird, um die andere Metapher von so etwas wie mathematischen Maschinen irgendwie verteidigen zu können (plus einer mehr oder weniger barocken Kiste voller kunstreicher Ausdifferenzierungen was denn nun schon wieder zugewiesen wird, wohl, dass einem bei der ständigen Variation zum immer nur selben Thema von Zuweisung kraft Identität und Zuweisung kraft Identität und Zuweisung kraft Identität nicht langweilig wird).

Dem kommt auch entgegen, dass der Compiler in Forth trivial ist, der Parser im großen ganzen ebenso. Damit aber lässt sich per Laden eines Quelltexts die ganze Maschine kurzerhand auf den Kopf stellen, etwa, dass tatsächlich nun doch algebraische Formulierungen hingeschrieben werden können, die dann von einem im Vorbeiflug erweiterten Compiler inhaliert werden. Man startet mit Forth und plötzlich war so etwas wie ein Basic. Warum auch nicht? Nun ja, wenn man auf Monster-Compiler geeicht ist, passen solche Ausblicke schon allein von der Idee her nicht mehr auf das Radar.

Es stellen sich damit ganz andere Fragen an die Herangehensweisen, wenn dem Menschen, der an einer Maschine seine Denkschemata einbetoniert, ganz andere Dimensionen von Freiheit zukommen, was er da so alles anstellen kann.

Und damit kurz eben wieder zum Anfang zurück: Um sich damit nicht ständig selbst ein Bein zu stellen, verlangt das eine ganz andere Art von Disziplin in der Umgangsweise, wahrscheinlich ist die Disziplin schon rein freiwillig härter, die Lernkurve steiler, wie man sich selbst an der Hand nimmt, dass man beim Bedienen solcher Freiheitsgrade nicht ständig auf die Schnauze fällt.

Bei Forth-Inc gibt es diverse Langzeiterfahrung mit Schulungen, dort finden sich Anhaltspunkte, wie rasch so eine Angewöhnung vor sich geht, also eher in dem Kontext, wo obige Fragen der Disziplin schon hereinspielen (wo der Hobbybastler nach dem x'ten Frust das Zeug dann lieber hinwirft, wenn er damit konfrontiert ist, dass er doch nicht so ein Genie ist, wie er sich gerade beweisen wollte).

Es muss nicht die Maschine geschützt werden vor dem Coder der da hektisch und gedankenlos etwas hinkleistert, der Compiler wird's schon richten, im Gegenteil muss die Arbeitsumgebung hier die Freiheit einer bewusst und wach agierenden Person unterstützen.

Man muss hier also auch die Frage der Qualifikation anders stellen: es geht dann nicht darum, dass einer einen Compiler in- und auswendig kennt, sodass er weiß, wie er den austricksen kann, vielmehr geht es eher darum, dass einer in der Lage ist, ein größeres Konvolut von Quelltext in einer verantwortlichen Art so abzusondern, dass er und andere darin auch mit etwas Distanz noch locker navigieren kann ...

und zwar nicht, weil man von Kommentaren erschlagen wird, sondern weil der modulare Aufbau und die Präsentation im Detail quasi selbstsprechend ist (netterweise dann noch ein paar muntere Worte zu je einem funktionalen Block, dann geht das schon etwas leichter dahin).

Nicht dass man hoffen kann, dass dieser Level ständig erreicht wird - aber eine Verfehlung in der Richtung rächt sich bei diesem Werkzeug ungleich härter. So wird man erwarten können, dass sich das prinzipiell auf ein Mindestniveau einpendelt, wenn jemand ständig damit umgeht.

Definitionen sind typisch, so gut wie immer, weniger als etwa 10 Zeilen lang! Namen sind kurz kommentiert, verlässlich immer das Stackverhalten als Kommentar angegeben, stets mitlaufende Stackkommentare lassen flüssig die Bedienung der (flüchtigen und anonymen) Parameter verfolgen.

So wird man umgekehrt produktiver sein, wenn diese Selbstverständlichkeiten halbwegs manierlich abgehakt sind, als wenn die ganze Werkzeugumgebung auf Misstrauen und arger Reduktion der möglichen Perspektiven und Vorgangsweisen aufbaut.

Reply to
Ewald Pfau

Das ist ein Grund, warum ich Emulatoren auf Smart Phones und sonstigen Medien etwas skeptisch gegenueber stehe. Sie sind von Leuten nachempfunden worden, die (meist) nicht beim Hersteller des Rechners in der entsprechenden Entwicklungsabteilung gearbeitet haben. Viele der ehemaligen Mitarbeiter kann man auch nicht mehr fragen. Auch neuere Rechner des gleichen Herstellers koennen was haarig sein, wenn man die Bedienung des alten Rechners gewohnt ist.

Xcalc musste ich nicht kompilieren, das war einfach so als Executable laeuffaehig.

Ist Gewoehnungssache. Ich benutze besonders die Addition von zwei gleichen Werten ohne doppelte Eingabe des Wertes oft. Wenn das bei einem neuen Rechner oder Emulator zu falschen Ergebnissen fuehrt, waere das unschoen. Deshalb kaeme kein Feuerball vom Himmel, aber Rechenfehler sind irgendwie peinlich, besonders wenn sie waehrend der Hektik eines Online-Meetings geschehen.

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Ewald Pfau schrieb:

Das ist der wirklich elegante Aspekt von Forth, die dynamische Erweiterbarkeit. Und auch die schönen Sondierungs- bzw. Debuggingmöglichkeiten, die Wolfgang vorgeführt hat. Sonst würde es m ich eigentlich garnicht reizen.

Solche Qualitäten bei Menschen wollen aber auch erstmal gefunden oder entwickelt werden. Bei der heutigen Ausbildungsqualität zweifle ich schon daran, daß das eine mit vernünftigem Aufwand zu lösende Aufgabe ist. Und es wird um so "teuerer", wenn mal ein Arbeitnehmer woanders neue Herausforderungen sucht.

Ds ist leicht, wenn alles in einer Zeile steht. Die Parameterlosigkeit, weil implizit der Stack übergeben wird, tut den Rest. C oder viele andere Sprachen kann man auch so schreiben, daß der Code kurz und schlecht lesbar wird. ;)

Mit der Eleganz in einer Beziehung erkauft man sich eben andere Unzulänglichkeiten, z.B. daß die Typprüfung in den Kopf des Programmierers verlagert wird, ich behaupte mal, daß es keine statischen Prüfwerkzeuge gibt, die Zahl derjenigen die Forth beherrschen ist wahrscheinlich ähnlich groß wie die derjenigen, die Hiroglyphenschrift flüssig lesen, usw.

Ich mag Forth irgendwie, aber eben nur irgendwie. Das reicht nicht für professionellen Einsatz sondern nur für Bastelprojekte, aber für diese sporadische Nutzung eignet sich Forth eben nicht.

Marc

Reply to
Marc Santhoff

Anfang der 90er. Einige benutzten die noch lange danach, hatten sich welche "eingekellert". Das was ich auch mit dem HP-11C haette machen sollen.

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Och, da habe ich keine Probleme mit, da XP recht robust ist. Alles danach habe ich (bisher) erfolgreich ausgesessen. Nur die Memory Leaks mancher Software nerven, muss man alle paar Tage einen Re-Boot machen, um zu entruempeln.

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Seltsam, dass Tri-State nichts veraendert. Ich habe solche Tastklicks noch nie erlebt, allerdings damals auch nie ICs zur NF Verstaerkung benutzt. Weil sie zu teuer waren und weil ich denen nicht traute.

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Ach Gottele da gabs den fx-570 schon lange - völlig ohne Klappe.

Reply to
Eric Brücklmeier

Das ist aber die alte Version 2.9.4 gewesen. Die neue Version ist 3.0.5. Scheint allerdings aktuell weniger Features als die alte Version zu haben. Aber da es ein QtCreator-Projekt war, hatte ich mir gedacht es selber zu compilieren. Man weiss ja nie, was in vorcompilierten exe-Dateien sonst noch so alles drin ist. Hier meine Compilierung:

formatting link

Inklusive Bugfixes, damit es überhaupt unter Windows compiliert werden konnte (man merkt, daß er kein Windows mehr einsetzt) und das die Hilfeseite wieder funktioniert. Werde dem Autor auch mal schreiben und ihm die Änderungen schicken.

--
Frank Buss, http://www.frank-buss.de 
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Ist wahrscheinlich für Ingenieure und nicht für Programmierer gedacht :-) Wenn man in xcalc (und scheinbar auch auf älteren HP-Rechnern, aber nicht HP48GX) eine Zahl eingibt, ohne Enter zu drücken, wird direkt der TOS überschrieben (bei xcalc ist der Stack scheinbar immer 4 Elemente groß, anfangs alle mit 0 gefüllt, und alle Rechenoperationen füllen den wieder mit Nullen auf). Eine Rechenoperation verwendet diesen TOS dann natürlich. Ein Enter führt ein DUP aus. Sobald man aber dann eine neue Zahl eingibt, wird wieder der TOS mit dieser Zahl überschrieben. Also als Beispiel:

1 enter 2 +

gibt 3 im TOS, Stack davor drei Nullen. Und z.B.

2 "1/x"

gibt 0,5.

Ist aber vielleicht wirklich nicht schlecht, man spart sich einige "Enter"-Drücke.

--
Frank Buss, http://www.frank-buss.de 
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Die mochten die anderen Modelle aber nicht. Galt aber nur fuer SW-Leute.

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Guck aber nach einer aktuellen Email Adresse, er arbeitet nicht mehr bei Tordivel AS.

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Den Stack kannst Du in Xcalc riesig hoch setzen in der Config. Aber nicht kleiner als 4.

[...]
--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Dann ist ihnen auch nicht zu helfen...

Reply to
Eric Brücklmeier

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.