Seite 2 von 2

Re: Warum ist Structure global?

Verfasst: 16.01.2014 23:10
von ts-soft
Jetzt wird es langsam Zeit für die Frage: Warum ist Procedure global? :mrgreen:

(Spaß muß sein)

Re: Warum ist Structure global?

Verfasst: 16.01.2014 23:36
von Derren
NicTheQuick hat geschrieben:
Därrän hat geschrieben:Ja gut. Aber Prozeduren sind auch nur Goto-Anweisungen.
Wenn dem so wäre, dann könnte man nicht rekursiv Funktionen aufrufen und dann gäbe es auch nicht in jeder Rekursion einen neuen Heap für die lokalen Variablen.
Genau wie zwei Protected variablen zwei verschiedene Speicherbereiche belegen. Mit entsprechendem Overhead (der beim Procedure-Schlüsselwort eben vom Compiler übernommen wid), kann auch Goto rekursiv benutzen und dabei bei jedem Sprung einen neuen Speicherbereich reservieren.
Aber es geht ja vielmehr darum, dass es für manche Zwecke sinnvoll wäre lokale Strukturen zu haben. Was der Compiler dann im Endeffekt daraus macht ist doch völlig egal. Deswegen schreib ich meine Programme je in PB und nicht ASM.

und, Ja, ts-soft: Lokale Prozeduren wären auch nicht schlecht. Aber dafür haben wir ja jetzt auch die Module.
Es geht mir ja nicht darum OOP zu erzwingen, Gott weiß ich hab selber lang genug gebraucht um OOP zu kapieren, aber für Includes wäre es doch echt nicht schlecht gewesen.
Hier wurde bestimmt das ein oder andere mal gepostet dass es Überschneidungen zwischen mehreren Includes verschiedener Programmierer gegeben hat. Oder gar nach eine Änderung der Befehlsnamen in PB.
Die Module bringen ja nun die abgekapselte Funktionalität von OOP mit.

Problem gelöst.

Re: Warum ist Structure global?

Verfasst: 16.01.2014 23:52
von ts-soft
Sinn macht das ganze ja nur bei Namenskonflikten. Gleiche Namen für versch. Strukturen wird wohl keiner nutzen wollen
und bei Fremdcode sind dann die Module oder UserLibs die Lösung.
Derren hat geschrieben:Problem gelöst.
So sehe ich das auch :D