Ich finde die Diskussion hier insofern etwas lustig, als das Delphi selbst globale Variablen kreiert.
Es geht natürlich Ohne.
Es geht auch ohne Goto-Befehle.
Es geht auch alles nur mit
OOP.
Das ist aber genauso hirnrissig und engstirnig, als zu behaupten, alles ginge mit
ASM.
Manchmal sind globale Variablen praktischer, weil sie eben Global sind. Wozu soll ich sie in eine Klasse schmeissen? Wenn ich aber recht drüber nachdenke, ist das reine Faulheit...
Goto: Es gibt wirklich Anwendungsfälle, bei denen ein Goto einfach eleganter, weil schneller, ist. Allerdings nimmt die Anzahl der Argumente seit 'break' und 'continue' rapide ab. Aber mal im Ernst, sind die beiden Befehle nicht einfach nur GOTO's aber im hübscheren Gewand?
OOP: Das ist schon eine feine Sache, aber für kleine Geschichten einfach überdimensioniert. Ich brech mir bei einem 100 Zeilen Teil doch nicht Einen ab und erzeuge erst eine Klasse...
----
Ich denke, es wird klar, woraum ich hinaus will: Man sollte seine Werkzeuge sorgfältig aussuchen und genau den Bedürfnissen entsprechend einsetzen:
Wenn's die Performance verlangt, hüpfe ich in meinen Code mit GOTO's (ordendlich dokumentiert) durch die Gegend.
OOP setze ich natürlich weitestgehend ein, aber auch nicht für jeden Furz.