Und zwischen all dem wandelt der Compiler dann hin und her ohne mich zu fragen. *Grusel*
R
Robert Loos
Am 25.03.2015 um 12:27 schrieb Hans-Peter Diettrich:
deshalb so, wie es ist.
Zuweisung) ist.
enum{Hund,Katze,Maus} und eine Funktion die das Viehzeug im Klartext darstellt. Diese Funktion mit einem anderen Enum aufgerufen erzeugt keine Warnung aber die Ausgabe
nachgedacht hat. Z.B. bei Rechnungen der Form a*b/c, in denen Zwischenergebnisse den Wertebereich verlassen, das Endergebnis aber wieder passt. Oder bei Mittelwertbildungen.
hab' ich's jetzt nicht).
Robert
R
Reinhardt Behm
Wahrscheinlich gibt Delphi die Warnung aus: Sprache und Programmierer nicht geeignet. ;-)
Reinhardt
B
Bernd Laengerich
Am 25.03.2015 um 12:27 schrieb Hans-Peter Diettrich:
hier "der Verlust von signifikanten Stellen droht". Und auch der
type SMALL = 0..100; BIG = 0..1000;
var myBigValue : BIG; mySmallValue : SMALL;
Procedure doSomething( value : SMALL ) begin [...] end;
begin myBigValue := 12; mySmallValue := myBigValue; doSomething(mySmallValue ); end;
Bernd
J
Johannes Bauer
so zu verurteilen.
Johannes
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt?
Kosmologen: Die Geheim-Vorhersage.
M
Myn Seudop
Hans-Peter Diettrich:
Wenn man bedenkt, dass du am Montag noch nicht einmal den Unterschied zwischen C, C++ und der "Arduino-Sprache" kanntest, hast du dich aber schnell zum Experten entwickelt, wenn du jetzt schon das Typsystem beurteilen und deine Abneigung kundtun magst.
Myn
PS: Wie programmiert man den Arduino eigentlich in dem ach-so-tollen Delphi?
H
Hans-Peter Diettrich
Martin Schoenbeck schrieb:
Ja, so ist es.
mit Deinem Lieblingcompiler.
DoDi
H
Hans-Peter Diettrich
weil das eine herrliche Entwicklungsumgebung auf dem ST war - im Gegensatz zu den ganzen damaligen C Compilern und Entwicklungssystemen.
System, das gleichzeitig Graphik und I/O treiben konnte, ohne dabei
Borland-C hinzu, da habe ich als Betatester auf dem PC und ST mitgemacht, und mit meinem Decompiler Fehler in den (damals
Fehler in den Beispielprogrammen von Microsoft gefunden. Seitdem wundert
C++ selbst entwickelt, das war mein WinHelp-Decompiler. Ansonsten kenne
als Newbie bzgl. C ansieht, mangels praktischer Erfahrung damit bin ich das ja auch. Umgekehrt wie viele Pascal Programmierern benutze ich aber
zweiten Teil noch Informationen, wie ich mich in C sinnvollerweise
werden kann, je weiter man in die Tiefen von C/C++ hinuntersteigt, ist
DoDi
H
Hans-Peter Diettrich
Myn Seudop schrieb:
Siehst Du, so schnell lassen sich neue Informationen mit vorhandenem
Schreiben von Programmen oder mit der Entwicklung eines besseren Compilers befassen soll.
Und geh mir weg mit Delphi, das ist seit dem Verkauf von Borland zur
Version mehr vergreifen, die neuer ist als Delphi 7.
DoDi
H
Hans-Peter Diettrich
Bernd Laengerich schrieb:
Bei der *expliziten* Verwendung von Modulo geht (aus matehmatischer
katastrophaler Verlust, wenn man eine Variable auf Null setzt ;-)
Bei einer ganzzahligen Division ist das durchaus der Fall, und das sollte jeder Programmierer beachten. Beim Rechnen mit Gleitkommazahlen sind Verluste systembedingt, auch das sollte jeder Programmierer wissen und beachten. Oder worauf wolltest Du hinaus?
[...]
DoDi
H
Hans-Peter Diettrich
Robert Loos schrieb:
In Pascal ist eine enum ein eigener Datentyp, der (dank Typsicherheit) mit anderen Datentypen inkompatibel ist, selbst wenn diese die gleiche
Texten in Frage: type THKM = (Hund, Katze, Maus); const HKM: array[THKM] of string = ('Hund', 'Katze', 'Maus');
Und noch etwas Reklame: Ein "set" ist die Abbildung einer enum auf einen ganzzahligen Typ, womit sich Bitfummeleien bei Conroller-Ports leicht einsparen lassen: type TPortBits = (pinLED1, pinButton1, ); TPortSet = set of TPortBits; var Pins: TPortSet absolute PORTB; //Abbildung auf physikalischen Port Pins := Pins+[pinLED1,pinLED2]; //Ausgabe if pinButton1 in Pins then ... //Abfrage
kann, und immer noch eine Meldung ausgeben kann, wenn keine Funktion auf
Das ist ein kritischer Punkt, weil ein Compiler da (als Optimierung) oft
(Ich auch nicht ;-)
Recherche nicht mal leicht zu erkennen. Eigentlich sollten unkommentierte Typecasts verboten werden, das hilft aber nicht wirklich weiter. Deshalb wurde ja schon in C++ eine ganze Reihe von
DoDi
M
Martin Schoenbeck
Hallo Hans-Peter,
Hans-Peter Diettrich schrieb:
Ist schon eine kuriose Definition von Datentyp.
B
Bernd Laengerich
Am 25.03.2015 um 22:43 schrieb Hans-Peter Diettrich:
eigentlich egal) ohne typecast eine Warnung und MIT explizitem typecast keine Warnung gibt und Du wolltest es da genau anders herum. Bei Delphi sollte das nun wieder anders sein? Das erschliesst sich mir alles nicht
des zu schreibenden Quelltextes definiert und keineswegs die Methodik, Algorithmen und Datenstrukturen.
das immer den gleichen Eindruck wie Visual Basic) und meine Erfahrungen
PROM giessen konnte und viele Dinge die die Hardware betrafen mit Assembler-Code angehen musste.
Bernd
H
Hans-Peter Diettrich
Bernd Laengerich schrieb:
mit "int cnt" und typedef. Da war ohne Typecast keine Warnung notwendig,
Die Syntax einer Programmiersprache ist doch wirklich nur Geschmackssache, wesentlich ist die Semantik. Wenn jemand Pascal nur
Oder hast Du nur Syntax und Semantik verwechselt?
damit Anwendungsprogramme zu schreiben. Und weil es so einfach war, einen Pascal Compiler aufzubohren, kamen viele Bastler auf die Idee, daraus eine praxistaugliche Sprache zu machen - mit unterschiedlichem Erfolg, je nach ihren Kenntnissen und Anforderungen. Und zu den
sondern auch noch der komplette Compiler!
sein Maschinencode erzeugt wurde :-]
DoDi
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.