Aktuelle Zeit: 15.11.2018 12:00

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 22 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: 22.12.2005 23:33 
Offline
Benutzeravatar

Registriert: 21.04.2005 22:08
Wohnort: Braunschweig
Weil Goto und Gosub so viele Nachteile haben, hat man die Funktionen und Proceduren entwickelt.
Die Prozeduren sind also eine Weiterentwicklung.
Wer sich Programmiertechnisch weiter entwickeln will, nutzt Prozeduren.
[Edit]
Und bereitet sich dadurch, für OOP vor.
[/Edit]

_________________
Wir Schreiben ein PureBasic Buch.
Auch du kannst mitmachen!
http://www.purearea.net/pb/english/pure ... :Main_Page


Zuletzt geändert von PAMKKKKK am 23.12.2005 00:19, insgesamt 2-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 22.12.2005 23:40 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
Darf man nicht ganz so verbissen sehen, weil der PBCompiler macht ja doch wieder "Goto = JMP" draus :mrgreen:

_________________
PureBasic 5.70 | SpiderBasic 2.10 | Windows 10 Pro (x64) | Linux Mint 19.0 (x64)
"Ich möchte gerne die Welt verändern, doch Gott gibt den Quellcode nicht frei."
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 23.12.2005 10:45 
Offline
jaAdmin
Benutzeravatar

Registriert: 13.09.2004 17:48
Was der compiler macht ist egal.

Letztlich geht's ja nicht drum maschinennah zu coden oder so
wie der Compiler das macht sondern darum, einigermaßen
verständlichen Source zu schreiben, d.h. für den Menschen (oder
wenn schon nicht für Menschen so doch wenigsten für Program-
mierer) lesbar und verstehbar zu gestalten.

Ich nutze selber auch Gotos wenn's mich überkommt, nach dem
Motto : geht und gut. Gerade vorgestern habe ich erst eins be-
nutzt.

Allerdings möchte ich den Code in eigentlich in drei Jahren
nicht nochmal überarbeiten müssen. Da haut so ein Goto
dann ganz schön Kerben in die Hirnhaut.

Oder anders gesagt : Gotos sind persönliche Jobsicherungs-
systeme

_________________
‮pb 5.31-3.30(x86) (windoof)7 64 pro
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 26.12.2005 19:24 
Offline

Registriert: 29.11.2005 15:05
"Letztlich geht's ja nicht drum maschinennah zu coden oder so
wie der Compiler das macht sondern darum, einigermaßen
verständlichen Source zu schreiben"

das ist mir nicht egal. ich möchte knappen und schnellen asm-code.
den erzeuge ich nur mit goto und gosub und nicht mit procedure und funktion. die dauern fast das dreifache an zeit, und diese vergeudung ist schon unangenehm.

castle


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 01.09.2006 22:03 
Offline
Benutzeravatar

Registriert: 06.02.2006 17:33
Makros gibts auch noch. Die sind eigentlich das schnellste.
Werden die häufig benutzt? (Jetzt nicht bei PB - da müsste man IncludeFile nehmen.)

_________________
PureBasic v3.94 (Windows - x86) (Demo)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 02.09.2006 02:21 
Offline

Registriert: 10.11.2004 03:22
seit 4.0 gibt es Macros in PB.

Macros ist allerdings nur ne "Abkürzung".
zur kompilezeit wird der komplette Inhalt eingefügt.

wenn du irgendwas komplexes statt in eine Proc in ein Macro schreibst,
wird dein Prog vielleicht schneller, aber auch schnell mal 10x so groß.

_________________
... machts gut und danke für den fisch ...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 08.12.2007 12:38 
Offline

Registriert: 16.09.2007 12:39
Sehr sehr schön erklärt.
Ich muss nur leider ein Gegenargument bringen :)
Aber wenn du zu Anfangszeiten mit einem C64 rum gewurschtelt hast dann Jahre nichts mehr auf dem Gebiet getan hast
dann bekommst du mit dem ganzen Prozeduren schlechter zurecht wie mit goto und gosub.
Tja mit mitte 30 will sich das Gehirn leider nicht mehr umstellen. :(


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 08.12.2007 13:30 
Offline
Benutzeravatar

Registriert: 12.06.2005 11:15
Wohnort: Germany
seidenraupe hat geschrieben:
Sehr sehr schön erklärt.
Ich muss nur leider ein Gegenargument bringen :)
Aber wenn du zu Anfangszeiten mit einem C64 rum gewurschtelt hast dann Jahre nichts mehr auf dem Gebiet getan hast
dann bekommst du mit dem ganzen Prozeduren schlechter zurecht wie mit goto und gosub.
Tja mit mitte 30 will sich das Gehirn leider nicht mehr um
stellen. :(


Verstehe nicht wo das Problem liegt.
Goto=Jmp, fällt einfach weg.
Gosub und Return = Parameter puschen und Call und Ret = Prozedur

Da gibts nix zu optimieren. Esseiden der PB-Compiler baut wirklich groben Unfug zusammen, was ich aber nicht glaube.

Ein Prozeduraufruf sollte, wenn man keine Variablen übergibt exakt gleich schnell wie ein Gosub sein, da eigentlich der gleiche Assembler-Code erzeugt werden müsste.

_________________
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re:
BeitragVerfasst: 10.12.2017 15:46 
Offline

Registriert: 07.12.2017 17:30
Wohnort: Frankrich
seidenraupe hat geschrieben:
Sehr sehr schön erklärt.
Ich muss nur leider ein Gegenargument bringen :)
Aber wenn du zu Anfangszeiten mit einem C64 rum gewurschtelt hast dann Jahre nichts mehr auf dem Gebiet getan hast
dann bekommst du mit dem ganzen Prozeduren schlechter zurecht wie mit goto und gosub.
Tja mit mitte 30 will sich das Gehirn leider nicht mehr umstellen. :(


Hallo,
bei mir sind es ~30 Jahre Pc Abstinenze,und ich bin 50+
Was ich nicht so ganz verstehe ist,warum es überhaupt nötig ist,
Name-Spaces zu haben? bzw eine Prozedur daran zu hindern,
Variabeln zu ändern??
Dafür schreibe ich doch die Sub/Prozedur,oder nicht?
Ich brauche bei Sub n Variabele(Global)
Ich brauche bei Proc n*2 Variabele (n für Main;n für proc) plus Eine,
in der das Ergebniss übergeben wird.
Mit einer Variabelen-Liste hatte ich nur selten probleme
Goto ...,wenn dis Programm entweder/oder weiter geht,
ist goto doch das einfachste

Dies ist meine persönliche Meinung,die nicht geteilt werden muss

Olaf

_________________
Unsinnige Anweisungen von Seiten des Chef's lösen grundsätzlich ein "Syntax Error" bei mir aus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Warum Goto und Gosub nur mit Vorsicht gebrauchen.
BeitragVerfasst: 10.12.2017 17:01 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
@Olafmagne

Du hast aber noch nie einen größeren Code geschrieben, als vielleicht ein paar 100 Zeilen :wink:
"Richtige" Programme sind aber meist wesentlich größer, 10.000 oder mehrere 100.000 Zeilen sind da keine Seltenheit. Wenn da wild umhergejumpt wird, also von einer Procedure in eine andere oder in den Mainscope, dann gibt es natürlich Stackoverflow. Genauso auch z.B. globale Variablen. Wer will den da noch Wissen, welchen Inhalt diese haben sollte oder ob diese nicht bereits mehrmals verwendet wurde oder ob sich nicht was ganz anderes auch ändert, wenn ich die Variable ändere.

Es ist also schon sinnvoll, das Programm in viele kleine, gekapselte Prozeduren zu packen. Der Code ist besser wartbar, testbar und auch verständlicher.

Deine Ansicht mag ja für Dich in Ordnung zu sein, solange Du alleine Programmierst (nicht in Teams) und nicht allzu lange Programme schreibst. Ich persönlich mag solche Codes nicht und ignoriere sie auch meist.

Gruß
Thomas

_________________
PureBasic 5.70 | SpiderBasic 2.10 | Windows 10 Pro (x64) | Linux Mint 19.0 (x64)
"Ich möchte gerne die Welt verändern, doch Gott gibt den Quellcode nicht frei."
Bild


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 22 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye