Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 03.09.2008, 14:08 Titel: Declare ? |
|
|
Im Microsoftschen QBasic musste man Subs nicht manuell deklarieren.
Das hat der Interpreter selbst übernommen.
Von C und anderen Sprachen kenne ich es zwar auch nicht anders als das man prozeduren manuell deklariert, aber prinzipiell könnte eine deklaration einer Sub auch aus der definitions-kopfzeile entnommen werden oder?
Wenn ich ein Programm in FB schreibe kümmere ich mich erstmal gar nicht um die Deklarationen von subs und funktionen.
Erst wenn ich es des erste mal kompilieren will, suche ich alle kopfzeilen von den Subs und Funktionen raus und mach nicht mehr als ein COPY->PASTE und schreib ein "declare " davor.
Weiss jemand wie man das eleganter/einfacher realisieren könnte? |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 03.09.2008, 14:13 Titel: |
|
|
1) Du könntest ein Programm schreiben, das dir diese Arbeit abnimmt.
2) Wenn du erst die SUBs und FUNCTIONs schreibst und darunter den Quelltext, dann kannst du dir das DECLARE sparen - sofern nicht eine SUB oder FUNCTION auf eine andere zugreifen möchte, die erst später definiert wird.
3) meine (vorwiegende) Methode: wenn ich eine SUB/FUNCTION schreibe, kopiere ich die DECLARE-Zeile gleich mit. Hat aber den Nachteil, dass du bei einer Änderung diese gleich zweimal vornehmen musst.
4) deine Methode - am einfachsten zu realisieren, wenn dein Editor den Text falten kann.
Mehr fällt mir dazu nicht ein. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 03.09.2008, 14:34 Titel: |
|
|
Ein progrämchen zu schreiben, dass einen quelltext vor der kompilierung durchliest und die Deklarationen schreibt, hab ich mir auch schon überlegt....
Was heisst das ein text "gefaltet" wird?? .. das hab ich noch nie gehört. Bzw habs auch noch in keinem Editor gesehen.
die 2. Methode kannte ich noch gar nicht.. obwohl ich mich bei dem einen oder anderen Quelltext hier im forum schon gewundert hab das es so ohne weiteres ohne deklaration funktioniert... |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 03.09.2008, 14:49 Titel: |
|
|
Manchmal heißt es nicht 'falten', sondern 'zusammenklappen' (aber 'falten' ist das erste Wort, das ich in diesem Zusammenhang kennengelernt habe, darum verwende ich vorwiegend dieses). Spontan fällt mit Geany und SciTE ein, die das können, gibt aber noch eine Reihe mehr.
Methode 2 ist bei kurzen Sachen schon mal ganz praktisch; bei umfangreicheren Projekten wird es da aber wohl früher oder später zu Problemen kommen (abgesehen davon, dass ich seit längerem gerne alphabetisch sortiere, um die Sachen schneller zu finden ) _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 03.09.2008, 14:56 Titel: |
|
|
Du musst bei C nicht zwingend die Prototypen mit angeben, solange die Funktionen an sich vor der Verwendung definiert werden. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 03.09.2008, 15:16 Titel: |
|
|
Zitat: | Im Microsoftschen QBasic musste man Subs nicht manuell deklarieren.
Das hat der Interpreter selbst übernommen.
|
bitte "selbst übernehmen" nicht mit "fügt das IDE-programm selbst ein" verwechseln! denn das ist ein gravierender unterschied und "wenn der interpreter / compiler was übernimmt" führt das ganz schnell zu schlechtem programmierstil (z.B. variablen automatisch deklarieren). _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 03.09.2008, 15:36 Titel: |
|
|
Allerdings halte ich die Deklaration wirklich für doppelt gemoppelt. Durch die Definition der SUB bzw. FUNCTION wird ja bereits festgelegt, dass ich diese verwenden möchte und dass diese z. B. nicht für Variablen zur Verfügung stehen. DECLARE enthält "im Normalbetrieb" (ich spreche jetzt nicht vom Einbinden von Bibliotheken) keine für mich erkennbaren zusätzlichen Informationen über die tatsächliche SUB/FUNCTION (ich muss ja sogar die BYVALs und Typen zweimal angeben;), außer dass der Compiler nicht im Vorfeld einen Durchlauf starten muss, um sich die verwendeten Prozeduren und Funktionen herauszusuchen. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 03.09.2008, 16:56 Titel: |
|
|
da hast du natürlich nicht unrecht, DECLARE ist an sich eine doppelte deklaration... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 03.09.2008, 17:26 Titel: |
|
|
@Jojo: Wo, beim klassischen QBASIC (nicht QuickBasic!), der Interpret anfängt und die IDE aufhört ist für den normalen benutzer relativ schwierig zu unterscheiden.
Am ehesten wird es wohl die IDE sein, denn sie übernimmt auch die Aufgabe eine Sub anzulegen wenn der Programmierer eine Neue anlegen will.
QBasic war für mich immer ein "Ding" das alles sofort interpretiert hat sobald ich was eingeben habe. Von daher wars mir auch nie wichtig was eine SUB deklariert... also ob Interpret oder IDE. So nahe beieinander wie bei QBasic waren Interpret und IDE sich bestimmt noch nirgends ... ... vielleicht vom ganz alten Zeilenorientierten BASIC mal abgesehen.
Eigentlich war das zu Beginn dieses Threads auch mein Gedanke dass Deklarationen für SUBs und Funktionen in FB relativ überflüssig sind.. will mich nur für spezialfälle nicht zu weit ausm fenster lehnen... |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 03.09.2008, 17:41 Titel: |
|
|
Zitat: | @Jojo: Wo, beim klassischen QBASIC (nicht QuickBasic!), der Interpret anfängt und die IDE aufhört ist für den normalen benutzer relativ schwierig zu unterscheiden. |
alles was du siehst und sich bewegt, ist die IDE. so einfach is das. den interpreter siehst du nur in der form deines programms und vielleicht noch der meldung "übersetzen..." _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 03.09.2008, 17:43 Titel: |
|
|
Der Interpreter ist es in QBASIC definitiv nicht, weil dieser eben genau interpretiert und sicherlich nicht den Quelltext ändern wird (was ja in diesem Fall geschieht).
Ich würde mal zu behaupten wagen, dass das Zusammenspiel zwischen Interpreter und IDE bei Omikron-BASIC noch stärker war - sofortige Fehlermeldung beim Verlassen der syntaktisch fehlerhaften Zeile - aber wirklich zu "interpretieren" hat auch das erst angefangen, wenn ich CTRL+R gedrückt habe.  _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 03.09.2008, 21:01 Titel: |
|
|
Also ich persönlich finde es sauberer, wenn ich gleich am Anfang eines Sourcecodes mitgeteilt bekomme, welche Funktionen existieren und wie diese ihre Parameter denn gern hätten. Besser, als sich erst durch den Source durchwühlen zu müssen. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
|