Habe ich noch in der Schule gelernt. Mit Delphi und Lazarus.
Glaube das war so 2015-2017.
Delphi war da ja schon etwas neuer (Weiterentwicklung) von Object Pascal.
Habe ich noch in der Schule gelernt. Mit Delphi und Lazarus.
Glaube das war so 2015-2017.
Delphi war da ja schon etwas neuer (Weiterentwicklung) von Object Pascal.
Ich kann mich sogar an den noch erinnern:
https://de.wikipedia.org/wiki/PET_2001
Da stand bei uns im Karstadt einer in der Taschenrechnerabteilung.
Wir haben dann in den Schulpausen immer drauf rumprogrammiert. Die Verkäufer haben das wohl geduldet, weil es die beste Werbung für das Ding war. ![]()
das läßt Erinnerungen an meinen ultimativen Taschenrechner¹ mit grafischer Oberfläche aufkommen,
den ich damals in der Schule in Assembler programmiert hatte;
mein PC war damals ein i286 / i287
¹ so komisch es klingt, der assemblierte und gelinkte File ist heute noch lauffähig;
bei 64-bit Windows muss man etwas nachhelfen, aber er geht ![]()
ein numerischen Co-prozessor ist ja seit den i486 mit dabei, also auch ken Problem ![]()
Hay,
das ist zwar kein PET, sondern ein CBM 4032 (also neumodischer Kram), aber steht noch bei mir rum. Damit habe ich in der Schule programmiert (und im Kaufhaus natürlich auch)
CU, Peter
Wer hier kennt den eigentlich noch solche Sachen wie "Turbo Pascal"?
Lang lang ist es her
Turbo Pascal 6 mit dem legendären Turbo-Vision Framework ![]()
Delphi war da ja schon etwas neuer (Weiterentwicklung) von Object Pascal.
Achja, stimmt, mein Fehler. Das war schon Object Pascal. Lazarus ebenfalls. Aber im Kern war es schon noch Pascal. ![]()
Gebe aber ehrlich zu, dass ich mich mit dieser Sprache nie wirklich gut anfreunden konnte. Also ich konnte es und alles, aber Spaß hat das eher nicht gemacht.
Ich hatte es damals auch (von BASIC kommend) kurz mit Pascal versucht. ("Wie? Kein GOTO? Wie soll das denn bitte gehen?"
)
Dann zeigte mir ein Mitschüler aber glücklicherweise C und das wurde dann meine Standardsprache. (bis heute)
Ich hatte es damals auch (von BASIC kommend) kurz mit Pascal versucht. ("Wie? Kein GOTO? Wie soll das denn bitte gehen?"
)
Ja, Pascal hat auch ein goto
Aber das hat man mir Anfangs verschwiegen.
Und später hieß es, es wäre sowieso "böse"
Und später hieß es, es wäre sowieso "böse"
Linktip: "Edgar Dijkstra: Go To Statement Considered Harmful" (Communications of the ACM. 11 (3): 147–148)
PL/SQL reicht mir - wenn ich die Pascal Syntax schon sehe.
in C gibts auch ein goto; wobei sowas wie es das 'Spezial'-GOTO in FORTRAN gibt, hab ich bis jetzt in keiner Programmiersprache gesehen;
die Problemstellung: prüfe die Variable und je nachdem
- ob diese 0
- ob diese positiv
- ob diese negativ
führe entsprechendes aus;
in FORTRAN ist dies in etwas so gelöst;
GOTO ( 100, 200, 300 ) var
die 3 Werte sind Sprungmarken;
und tatsächlich ist dies auch in Assembler direkt so möglich
MOV EAX,[VAR]
OR EAX,EAX
JG positive
JL negative
zero: ...
jmp next
negative: ...
jmp next
positive: ...
next:
Alles anzeigen
ich kenne keinen C-Compiler welcher folgendes analog durch Optimierungen abbildet
int func( int value )
{
if ( value > 0 ) return 1;
else if ( value < 0 ) return -1;
else return 0;
}
ergibt beim Intel Compiler unter Linux folgendes
.globl func
func:
# parameter 1: %edi
..B2.1: # Preds ..B2.0
..___tag_value_func.21: #28.1
testl %edi, %edi #29.16
jle ..B2.3 # Prob 33% #29.16
# LOE rbx rbp r12 r13 r14 r15
..B2.2: # Preds ..B2.1
movl $1, %eax #29.27
ret #29.27
# LOE
..B2.3: # Preds ..B2.1
movl $-1, %edx #
movl $0, %eax #
cmovl %edx, %eax #
ret #
Alles anzeigen
das cmovl führt intern eine 2te Vergleichsoperation aus, welche aber völlig fürn Hugo is;
man kann nicht alles haben ![]()
wer in Hochsprachen bei Tests ein goto verwendete wurde automatisch mit 'Nicht genügend' beurteilt;
Ich mag Python bekanntlich nicht. Aber bevor ich mir Pascal antun muss, gebt mir bitte Python! ![]()
@ mainziman:
Was macht der Compiler daraus?
return ( v>0 ? 1 : ( v<0 ? -1 : 0 ) );
Leider nur am Handy, aber am Computer sollte die Seite das sagen können: https://godbolt.org
Ich mag Python bekanntlich nicht. Aber bevor ich mir Pascal antun muss, gebt mir bitte Python!
Oder so:
Was macht der Compiler daraus?
return ( v>0 ? 1 : ( v<0 ? -1 : 0 ) );
haarscharf des gleiche ![]()
hätte mich auch gewundert wenn er was anderes daraus gemacht hätte;
bis auf die Tatsache, dass das etwas sophisticated und damit f. den weniger geübten Programmierer schwerer lesbar ist,
ergibt es das gleiche in grün ![]()
weil CmdrXay auch von Turbo C sprach; hier hatte sich Borland (so hieß der Laden damals) mit Microsoft irgendwie ein Wettrennen geliefert;
der erste C++ compiler von Microsoft war Microsoft C++ 7.0, welches aber erst erschien, da war Borland's Turbo C++ 1.0 bereits eine weile am Markt;
ich wurde aber von Borland's C Compilern was Optimierungen und damit Laufzeit betraf damals bitter enttäuscht;
der Microsoft C 6.0 compiler füllte zwar die Platte nicht unbeträchtlich an, aber der generierte Code konnte sich sehen lassen;
Hay,
in Ruby (auch mal gelernt) gibt es den Spaceship- (oder Ufo-) Operator <=>, der diesen dreifachen Vergleich macht. Aber Ruby darf man da wirklich nicht als Maßstab heranziehen, denn das ist mega-unperformant und als Antwort auf "Wie bekomme ich Ruby schneller" ist die offzielle Aussage "schmeiß mehr Hardware rein".
CU, Peter
Bildschirmfoto zu 2022-04-21 21-40-18.png
Dem schließe ich mich an. ![]()
Hay,
ich habe da gerade mal ein Update gemacht...
CU, Peter