Ja, genau. Letzten Mittwoch war eine Freundin meiner Freundin kurz bei uns. Ich hatte noch den Laptop mit den Ausgaben des a2dpd auf dem Sofa stehen, besagte Freundin sieht das zufällig und ruft mir "Du, da steht was auf Deinem Laptop!" zu. Scheint ihr wohl Angst gemacht zu haben. :-) Meine Freundin hat sich mittlerweile an sowas gewöhnt. Sogar, daß ich in der Werbepause mal eben das console-Plugin für meinen Linux-VDR starte, um dann vorm Fernseher sitzend mal eben auf meinen Desktoprechner im Nachbarzimmer zu sshen.
Das hat nichts mit "schwachbrüstig" zu tun. Es gibt einfach Sprachkonstrukte, die fehlerträchtig sind. Und "Interpreterfehler", die sich über Jahrzehnte gerettet haben.
Da wäre zunächst mal die implizite Variablendeklaration die zu tollen Sache führt wir:
" For i = 1 to 100 next j "
Oder Gosub ohne zwingendes return, was schnell zum Stacküberlauf führt Oder Garbage Collection, was zu merkwürdigen Pausen im Programmablauf führte
Rekursion geht schon. Ich hab mal in 5 Zeilen oder so den Lösungsalgorithmus von "Die Türme von Hanoi" in Basic programmiert. Was allerdings nicht so schön lesbar wie in Pascal oder C.
Eher Wozniak, der hat auch Float für 6502 in DDJ veröffentlicht. Im Gegensatz zu Gates der anfangs bei Microsoft noch mitprogrammiert hat ist nicht bekannt daß Jobs überhaupt programmieren oder löten konnte.
Einzelne Bits setzen oder löschen kann auch der Z80, allerdings nur Register bzw. Speicher. Indirekt kan es aber auch der 8051 nicht; ein "SET @R0" gibt es nicht.
--
Dipl.-Inform(FH) Peter Heitzer, peter.heitzer@rz.uni-regensburg.de
HTML mails will be forwarded to /dev/null.
Psssst, Du sollst keine Geheimnisse ausplaudern, wie man schnell und erfolgreich zu Potte kommt :-) Besonders wenn man interaktiv in der HW rumstochern kann/muss.
Saludos Wolfgang
--
Meine 7 Sinne:
Unsinn, Schwachsinn, Blödsinn, Wahnsinn, Stumpfsinn, Irrsinn, Lötzinn.
Wolfgang Allinger Paraguay reply Adresse gesetzt !
VoIP 02173 / 99 39 209 ca. 15h00..21h00 MEZ SKYPE:wolfgang.allinger
Erstens ist es eh nicht geheim und zweitens ist die Deppenhürde so hoch (Streber straucheln an der Freiheit), daß nix passiert.
MfG
--
"5 Köpfe denken in 1 h produktiver als 1 Kopf in 5 h".
Das sagen die 4 Köpfe mehrheitlich, die sich nach der
1-h-Besprechung mit dem 5-h-Einzeldenker selber
auch für Produktive halten.
Ja, wird immer schlimmer mit meinem Gedächnis. pi und e kann ich offensichtlich auch nicht mehr auseinanderhalten... :\
Wozniak, Stephen: The Impossible Dream: Computing 'e' to 116,000 places with a personal computer. Byte magainze, June 1981. Discusses his effort to calculate 116,000 digits of 'e' (the natural logarithm) on a 48k byte Apple II. Not really relevant to pi, but interesting for his continued fraction method, and general technique.
Bei Windows NT wurden definitiv Tastendr=FCcke unterschlagen, wenn man die Tasten zu sehr gleichzeitig gedr=FCckt hat. Beispiel der Smily ":)" Ich mach den bei meinem Tippsystem so, da=DF ich das rechte Shift dr=FCcke und mit dem rechten Zeigefinger den Doppelpunkt haue, w=E4hrend der linke Zeigefinger auf die 9 herabst=FCrzt. Treffen beide Finger ungef=E4hr gleichzeitig, erscheint nur ein Doppelpunkt oder die Klammer. Ich hab das auf vielen verschiedenen NT-Rechnern ausprobiert, immer dasselbe Ergebnis. Ab Windows 2000 tuts wieder. V=F6lliger Witz, selbst der C64 konnte Tasten schneller dekodieren als ein Mensch sie dr=FCckte. Ich vermute, Bill hat ab NT da was an der Tastaturtreiberei ge=E4ndert. Eigentlich senden die Controller doch so sch=F6ne Signale f=FCr Taste gedr=FCckt und sp=E4ter f=FCr losgelassen, und die durften sich fr=FCher au= ch beliebig =FCberschneiden.
Auf meinem lahmen 400er Pentium mit Windows 2000 hab ich daf=FCr das Problem, da=DF Maus- und Tastaturwarteschlange nicht synchronisiert sind. D.h. ich tippe im einen Browsertab mein Passwort+Enter und hole mit der Maus das n=E4chste Tab nach vorn. Ergebnis: das halbe Pa=DFwort wird verschluckt oder erscheint gar im neuen Fenster. Gruselig. Egal wie lahm die Kiste ist, bei 400 Millionen Zuckungen pro Sekunde sollte Zeit sein, die Benutzereingaben korrekt zu verarbeiten.
"to point at something": Auf etwas hinweisen, auf etwas zeigen, auf etwas hinzeigen,.....
Eine Zeichenkette ist nicht notwendig ein Zeiger, der auf etwas hinzeigt.
Die Adresse mit der Nummer $fffe0000 besteht aus den Zeichen f,f,f,e,0,0,0,0 und ist damit eine Kette aus acht Zeichen, also eine Zeichenkette.
Eine Integervariable ist eine Folge von Zeichen, die jeweils als Ziffer interpretiert werden. Diese Ziffernfolge wird als Darstellung einer Zahl behandelt.
Eine Integervariable ist ein Datentyp mit einer Reihe von Operationen, die für den Datentyp "Integer" festgelegt wurden, Konkret sind dies
+,-, mod, div, und =. Eine Zahl ist ein Element des Vektorraumes, hier des R1, auf die alle Axiome angewendet werden können, die den Vektorraum definieren.
Naja, direkt geheim ist es nicht, ich kenne aber einige Firmen, die nicht nach aussen hin bekannt geben wollen, dass sie Forth benutzen. Sollen sich deren Mitbewerber die Augen ausweinen, weil sie die Funktionalität und/oder den Service nicht hinbekommen.
Das mit der Freiheit ist für mich das wichtigste geworden. Ansonsten diskutier ich nicht mehr mit den Leuten über Fort Einsatz. 99% begreifen eh nicht, was Forth ist. Komischerweise schnallen Maschinenbau Ings das schneller, als die Elektrickser (ich selbst bin mA-Männchen).
Meine Theorie dazu (auch wenn ich während dem Studium ganz anderer Meinung war) die M-Ings sind typischerweise die besseren Ings (im klassischen Sinn). Beim E-Studium kannste mit Fleiss und Formelpauken eine Abschluus kriegen, ohne dass Du nur einen Hauch von 'Ahnung' oder ein Gefühl für die Dinge bekommst.
Die M-Ings schaffen das nicht, sie müssen immer noch einen Daumenfaktor berücksichtigen und empirisches Verhalten erlernen. Demnach ein Gefühl für das machbare entwickeln, da sie mit den (Seitens der E-ings, ich war auch auf dem Trip) zugeschnittenen Größengleichungen etc. Leben (müssen).
Was nicht heißt, dass es nicht auch grottenschlechte M-Ings gibt.
Ich will jetzt keine E-Ing verärgen, aber Fingerspitzengefühl ist bei uns leider nicht (immer) erforderlich.
Aber die M-Ing sind es gewohnt, an Teilen rumzufrickeln, bis es passt und so eine try&error Methode wird durch Forth hervorragend unterstützt.
Die E-Ings sind IMHO einfach zu formelgläubig.
Ich tauf den Thread mal um, da kommt bestimmt noch viel popcorn dazu :-)
Saludos Wolfgang
Wenn ein E-Ing Mist baut, fliegen ein paar Chips oder Bauelemente durch die Gegend, es stinkt, qualmt und zischt und das wars dann.
Wenn der M-Ing Mist baut, kommt er ins Fernsehen und auf den Bild Titel. Im harmlosesten Fall, kann man seine Schande noch lange sehen.
Mal aus dem Nähkästchen (der Betreffende ist lange in Pension): Ich hatte 6-7 Ings in der Gruppe, einer davon M-Ing, da wir Prüfanlagen gebaut/entwickelt haben. Für irgendeinen Versuch brauchten wir eine runde Stahlplatte von ca. 10mm Dicke und 1500mm Durchmesser aus einem ganz bestimmten Stahl. Mein M-Ing hat alles abtelefoniert, keiner hatte sowas am Lager oder konnte es besorgen. Irgendeiner hatte dann aber ein
600mm dickes Teil am Lager, aber keine Möglichkeit da was abzumachen. Mein M-Ing: Egal, dann nehm ich das ganze Stück! In einem Abfall von geistiger Umnachtung, wie er später gestand.
Als dann 3 Tage später ein Sattelschlepper auf das Firmengelände kam, hörte ich nur ein: Ach Du Schexxx! hinter dem M-Ing Zeichenbrett :-o Das Teil konnte auf unseren Maschinen latürnich nicht bearbeitet werden. IIRC waren das um die 7to Schrott :-) die jahrelang in der Halle rumlagen und bei jeder Inventur durchgeschleppt wurden.
Irgendwann kam dann noch de Spruch: na grins Du nur, wenn Du 1000 verkehrte ICs bestellst, passen die locker in einen Papierkorb und keiner siehts, bloss ich werd mindestens einmal im Monat deswegen aufgezogen, weil man das nicht verschwinden lassen kann :-)
Saludos Wolfgang
--
Meine 7 Sinne:
Unsinn, Schwachsinn, Blödsinn, Wahnsinn, Stumpfsinn, Irrsinn, Lötzinn.
Wolfgang Allinger Paraguay reply Adresse gesetzt !
VoIP 02173 / 99 39 209 ca. 15h00..21h00 MEZ SKYPE:wolfgang.allinger
Basic ist Pfusch, schon weil Variablen niemals ausdrücklich deklariert werden müssen, sondern immer zur Verfügung stehen, mit impliziter Deklaration. So ist eine Zahl gleich eine Zahl, Format immer dasselbe, meist so eine Realzahl, es sei denn, man hatte das Integer-Basic auf dem Apple II laufen. An boolsche Variablen kann ich mich nicht erinnern. Ebensowenig an lokale Variablen, wohl aber an Unterprogramme.
Dabei hat der 6502 einen Stack mit 256 Speicherstellen, zwischen den Adressen $0100 und $01ff, der später unter UCSD prima für lokale Prozeduren und ihre Parameter herhalten konnte.
Zur Laufzeit muß auch ein vom Compiler übersetztes Programm lauffähig sein.
Compiler scannen den Quelltext, bauen eine Repräsentation davon in Form eines Syntaxbaumes auf und generieren aus dem Syntaxbaum heraus den Code. Manchmal wird der erzeugte Code auch nachträglich noch optimiert.
wie du siehst, interessiert das nicht hier in der .sci. Gruppe.
Ich habe FORTH an meine Bedürfnisse angepaßt (wie vermutlich die meisten, die es kommerziell nutzen).
habe ich es ROM-fähig gemacht (EPROM) (in meiner eigenen Hardware)
habe ich es interruptfähig gemacht, geschachtelt interruptfähig.
die compilierten Wörter bleiben mitsamt den symbolischen Namen erhalten.
Das hat den Vorteil, daß ich die Variablen, Konstanten und die Prozeduren (das schreib ich hier°° den Nicht-FORTHern zuliebe) mit ihren symbolischen Namen auch im compilierten Programm noch aufrufen kann, abrufen, die Variablen ändern, auf dem Bild- schirm. Sogar beim Service am Telefon kann ich den Betriebs- elektriker anweisen, Variable abzufragen in Hex oder dezimal oder Prozeduren aufzurufen um Ausgänge zu setzen und Eingänge abzufragen oder ... - einfach alles - und das mit den symboli- schen Namen vom sourcecode.
Nur compilieren geht nicht mehr, sobald das Ding im EPROM ist.
MfG
--
"5 Köpfe denken in 1 h produktiver als 1 Kopf in 5 h".
Das sagen die 4 Köpfe mehrheitlich, die sich nach der
1-h-Besprechung mit dem 5-h-Einzeldenker selber
auch für Produktive halten.
Floating point = Fließkomma. Unterprogrammsammlung die Float in Software realisiert.
Auf 8 Bit CPUs ist Float für übliche (Echtzeit-)Anwendungen meist zu langsam. Die Anwort in BASIC war oft kurze Wortlänge und dann hat man häufiger numerische Probleme. Manche Programmiersprachen z.B. FORTH haben auf Controllern keine Float, bei anderen wie C wird sie selten benutzt.
In Festkomma verändert sich Wortlänge: 8 Bit + 8 Bit -> 9 Bit Wortlänge ; 8 Bit * 8 Bit -> 16 Bit Wortlänge. Muß der Programmierer zu Fuß zurückskalieren. Es gäbe auch Integer-Formate wie Fractional die feste Länge haben (
formatting link
Heft 4 aber kostenpflichtig ).
Integrator bei dem man zu sehr grossem Wert sehr kleinen Wert addiert: bei kurzer Float-Wortlänge ändert sich die Summe nicht. Kein Problem bei Integer.
lesen. Es ist imho wenig sinnvoll, Inhalte im Internet nachträglich kostenpflichtig machen zu wollen. Irgendwo findet man immer noch eine Kopie der freien Version.
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.