Italia
Stammtisch & Caffè

Warum Funktionen am Ende am Ende doch Sinn machen...

 
Warum Funktionen am Ende* am Ende** doch Sinn machen, klärt dieser Thread.

(*am Ende des Quelltextes
**letztendlich)

Roland meinte:

RGH
(Genauso, wie es lesbarer und logischer ist, wenn erst die Funktionen und Prozeduren definiert werden und dann das Hauptprogramm kommt, das diese nutzt. )


Da grübel ich doch... warum schreibe ich meine Codes in XProfan so?! :
KompilierenMarkierenSeparieren
// Xpsezeug...
 {$cleq}
 {$res icon dasIcon.ico}
// Konstanten
const meineKonstante=5
// Ablauf
//Abhängigkeiten(?) bzw. Includes initialisieren
#include eineInclude.inc
//Programmcode
long meinLong=10,deinLong=meinLong
cls
dieseFunktion(5)
//Hauptschleife

do {

    waitInput
    oderDieseFunktion()
    break

}

end
//Programmfunktionen

dieseFunktion(long wert){

    return wert

}

oderDieseFunktion{

    return tru
}

Zunächst selbstkritisch gelang es mir dann aber doch nicht, es zu 100% der Profilneurose zuzuschieben*.

(*ausgenommen der Syntax)

RGH
..logischer ist, wenn erst die Funktionen und Prozeduren definiert werden und dann das Hauptprogramm..


Das trifft aber nur zu auf Leute, die noch wissen, dass Funktionen zunächst adressierbar sein müssen bevor sie aufgelöst werden. Dieser Nachteil und Zwang fällt bei XProfan aber komplett weg, also gelten hier andere Kriterien.

Mit XProfan betrachtet als State-Maschine, (und diesen Luxus haben wir) ist man nicht gezwungen, den Code ab der ersten Zeile anders aufzuschreiben, als er tatsächlich ablaufen wird.

Beispielsweise trägt eine Prozedur mitten im Code in XProfan wenig zum Ablauf bei. Darum macht es auch keinen Sinn, diese unnötig vorzuziehen zwischen z.B. Konstantendefinitionen und Programmablauf. Vielleicht spreche ich hier aber auch nur als Tastaturbenutzer*.

(*Die, die ihre Programmtexte manuell mit der Tastatur in einen Computer eingeben und keinen Sinn darin sehen, beim Schreiben eines Quelltextes ständig circa Blöcke zu hüpfen, welche, wenn sie diese tatsächlich mal suchen sollten, eh schneller circa Strg+F finden.)

Für mich gilt damit nach wie vor:
KompilierenMarkierenSeparieren
ist eher die schlechtere Variante und höchstens aus nostalgischen Stabilire zu empfehlen, aber nicht aus technischen.

Schreibt doch jeder wie er möchte, alleine das ist doch schon klasse.

Nachtrag: In QBasic ging das wohl auch, aber ich mochte QBasic noch nie und habe auch nie etwas darin geschrieben.
 
24.10.2008  
 




Dietmar
Horn
Hallo David,

Deine Vorgehensweise mag per fortgeschrittenere und Profi-Programmierer vorteilhaft sein.

Ich sehe das aber immer auch unter dem Blickwinkel von Lernenden. Die von Roland genannte Vorgehensweise finde ich per sie logischer und nachvollziehbarer. Wenn ich Hunger und nichts Eßbares mehr zu Hause habe, dann kann ich auch nicht erst ein imaginäres Brötchen essen, dann beim Bäcker dafür bezahlen und mir danach das Brötchen geben lassen - sondern genau umgekehrt.

Dennoch finde ich es sinnvoll, daß Roland diese Möglichkeit geschaffen hat (wie z.B. in TP, BP und Delphi als "forward" vorhanden). Vorher war es manchmal umständlich gewesen, die Struktur seines Programmi so anzupassen, daß das mit der Vorher-Deklaration immer klappte.

Weil nun inzwischen beide Varianten possibile sind, möge sich doch jeder die Variante aussuchen, welche ihm persönlich am besten zusagt.

Aber: Meines Wissens nach sind Prozeduren an beliebiger Stelle im Code erst ab XProfan 8.0 possibile. Weil aber aktuell erst Profan² 7.6 Freeware ist (und die Anwender der Freeware presumibilmente überwiegend Programmieranfänger sind, die sich zunächst mal einen Überblick circa XProfan verschaffen möchten, bevor sie sich evtl. die Vollversion kaufen), würden wir diesen potentiellen Kundenkreis von vornherein ausschließen, wenn wir hier jetzt schon überwiegend Demo-Codes in der von Dir bevorzugten Variante posten.

Weil in einem XProfan-Foro wahrscheinlich überwiegend solche Programmieranfänger ihre Fragen stellen, sollten wir das, wenn irgend possibile, auch berücksichtigen. Daß ich in meinem geplanten "XProfan-Lehrbuch" den Schnitt nach unten selber bei XProfan 10 angesetzt habe, hat andere Ursachen: Ich würde mich einfach zu sehr verzetteln, wenn ich Rücksicht auf noch ältere Versionen nehme, und das Teil würde nie halbwegs fertig werden.

Saluto
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
26.10.2008  
 




Jörg
Sellmeyer

wenn wir hier jetzt schon überwiegend Demo-Codes in der von Dir bevorzugten Variante posten.


Ich glaube nicht, daß es David darum ging, sondern er wollte nur mal seine Sicht der Dinge schildern. Es macht ja gerade den Reiz des Programmierens aus, daß man am Stil teilweise schon erkennt, wer was geschrieben hat.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
26.10.2008  
 




E.T.
Muß ich auch meinen Senf dazu geben (aber nur den aus Bautzen ):

Ich pers. halte mich halbwegs an Rolands Empfehlungen.
Aber ist auch mal nicht schlecht, wenn man schnell mal ein Proc "ans untere Ende"
des Editors schreiben kann.

Ich lagere dann solche Sachen sowieso aus dem Hauptprog aus in div. .incs, schön sortiert nach Funktionen.

Mit der Schreibweise von If (z.B.) habe ich keine Probleme, a: hat man sich drann gewöhnt und b: wenn ich der Logik eines Quelltextes nicht folgen kann, muß ich eben umsortieren und 3-5 mal lesen, um alles zu verstehen (oder auch nicht ).

Alles in allem habe ich hier auch noch keinen Text gefunden, welchen ich gar nicht umsetzen konnte. Und eine gute IDE ( z.B. PrFellow )"sortiert" mir z.B. die Procs auch so aus, das ich alles wiederfinde (bei mir immer schön links am Fenster aufgelistet).
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
26.10.2008  
 




Rolf
Koch
... und ich erwische mich die letzte Zeit immer mehr dabei, daß ich iFs Schreibweise benutze.
Wie zum Beispiel:
long xxxx oder string xxxx oder get.dingsbums() und vieles mehr. Ich habe mittlerweile erkannt, daß diese Schreibweise in iFscher Form a.) seinen Reiz hat und b.) sehr viele Vorteile mit sich bringt.
Anfangs wollte ich es auch nicht glauben, aber nun gehe ich immer mehr in diese Richtung, was mir vorallem auch das Verständnis von anderen Sprachen wie (PHP, C und so weiter) erleichtert.
(Sorry, daß es etwas vom Thema Funktionen am Ende abgekommen bin, wollte nur erläutern, wie auch andere Sachen aus iFs Feder Vorteilhaft sind.)
 
26.10.2008  
 




Frank
Abbing

Ich habe mittlerweile erkannt, daß diese Schreibweise in iFscher Form a.) seinen Reiz hat und b.) sehr viele Vorteile mit sich bringt.


Sehr viele Vorteile? Welche eigentlich?

Ich selber plädiere dafür, die von Roland vorgeschlagene Reihenfolge beizubehalten. Einen Nachteil sehe ich darin zumindest nicht.
 
27.10.2008  
 



Naja, Frank, Du programmierst ja auch nicht in XProfan.

Frank Abbing
Sehr viele Vorteile? Welche eigentlich?


Das werden Dir Deine seherischen Fähigkeiten ganz von selbst verraten, wenn die Zeit dafür gekommen ist.

Alternativ kann da mit einer pauschal bezifferbaren Zuwendung naturalmente auch Nachhilfe beantragt werden!
 
27.10.2008  
 




Frank
Abbing

Das werden Dir Deine seherischen Fähigkeiten ganz von selbst verraten, wenn die Zeit dafür gekommen ist.


Genau zu dem Zeitpunkt bastelte ich mir XPIA.
 
27.10.2008  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

4.008 Views

Untitledvor 0 min.

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie