Entwickler-Ecke

Off Topic - Warum NonVCL?


Anonymous - Di 22.04.03 14:26
Titel: Warum NonVCL?
Hi
Ich habe mich vor kurzen mit meinem Freund LuckiX (X weil ich nicht weiß ob dieser Name ein eingetragner Marken-Name ist (geschützt halt)) mit Non-VCL befasst. (LuckiX's Tutorials gibts unter http://www.luckie-online.de ) Aber irgendwie finde ich keinen Sinn unter Non-VCL-Programmierung! Was findet Ihr da so gut? Da braucht man doch schon ne 3/4 um in Fenster zu machen (LuckiX hat eine Vorlage)!
VCL ist doch um vieles besser! Da braucht man nicht mal 10 Sek. um einen Button zu machen (manche zwar schon aber die sind dann auch so drauf: :autsch: ) und bei NonVCL 5 Minuten :roll:

Würde mir nun mal jemand den Vorteil von NonVCL erleutern?


Ex0rzist - Di 22.04.03 14:31

Z.B. die Größe der Programme.
Besonders bei kleinen Anwendungen macht es sich bemerkbar.

Bei umfangreichen Projekten würde ich jedoch immer auf die VCL zurückgreifen.


Anonymous - Di 22.04.03 14:34

toll, wenn man dann also ein kleines Progi proggt für das man mit der VCL 5 Minuten braucht, braucht man dann mit NonVCL 5 Std. ( zwar stark übertrieben aber so bin ich eben :roll: )


Popov - Di 22.04.03 14:38

Luckie (TM) kannst du immer schreiben, nur mußt du immer ein TM dahinterschreiben ;)

Warum NonVcl?

a) weil es Spaß machen kann. Früher hab ich zum Beispiel Assemblergeliebt und nur in Assembler programmiert. Es war etwas komplizierter und man brauchte viel mehr Zeit um etwas zu machen, aber es hat mehr Spaß gemacht.

b) die Programme sind kleiner. Ein kleines Tool hat mit NonVcl 30 KByte und normal 300 bis 500 KiloByte.

Ich schätze das sind die Hauptgründe. Übrigens - ich programmiere nicht NonVcl, kenne aber die Begründungen der Anderen.


Ex0rzist - Di 22.04.03 15:09

sCrAPt hat folgendes geschrieben:
toll, wenn man dann also ein kleines Progi proggt für das man mit der VCL 5 Minuten braucht, braucht man dann mit NonVCL 5 Std.


Es zwingt dich ja niemand, nonVCl zu programmieren.
Ich finde jedoch es macht schon einen Unterschied, ob mein Minitool nun 30kB oder 400kB groß ist. :wink:


kiwicht - Di 22.04.03 19:07

@Mod: Wie wär ne Abstimmung, wer proggt VCL, wer NonVCL?


Nightfly - Mi 23.04.03 08:54

Ich kenn heut noch Leute die würden auch ein über 100 MB großes office Paket am liebsten in Assembler schreiben... :roll: PERFORMANCE, schreien die dann :wink:


Tino - Mi 23.04.03 09:25

kiwicht hat folgendes geschrieben:
@Mod: Wie wär ne Abstimmung, wer proggt VCL, wer NonVCL?

Ich bereite mal so eine Umfrage vor!

Gruß
Tino


Delete - Mi 23.04.03 10:23
Titel: Re: Warum NonVCL?
sCrAPt hat folgendes geschrieben:
Aber irgendwie finde ich keinen Sinn unter Non-VCL-Programmierung! Was findet Ihr da so gut?

Das ist wie die Sache IE vs. Opera/Mozilla. Es wird immer Leute geben, die für oder gegen das eine bzw. das andere sind. (Geil geschrieben, wa´? Sucht euch aus, auf welcher Seite ihr steht. :wink:)

Zitat:
Da braucht man doch schon ne 3/4 um in Fenster zu machen (LuckiX hat eine Vorlage)!

Ich habe keine Vorlage und brauche dennoch keine 3/4 Stunde, um ein Fenster zu erstellen. Selbst wenn ich die notwendigen Befehle usw. nicht im Kopf habe: PSDK und Tutorials sind nur einen Klick entfernt.

Zitat:
VCL ist doch um vieles besser! Da braucht man nicht mal 10 Sek. um einen Button zu machen (manche zwar schon aber die sind dann auch so drauf: :autsch: ) und bei NonVCL 5 Minuten :roll:

Wer bei NonVCL für einen Button 5 Minuten braucht, der fängt (bei allem Respekt) erst gerade mit dieser Art der Programmierung an. Die Befehle für Button und Fenster sind nämlich gleich, es liegt nur am Klassennamen. :)

Zitat:
Würde mir nun mal jemand den Vorteil von NonVCL erleutern?

Die Größe. Ich habe ein Programm, das besteht aus einer Listview und einem extra Dialog, in dem sich zwei Edits, ein IP-Control und drei Buttons befinden. Mit der VCL war das Ding ~400k groß. Ohne 29,5k - bei gleichem Funktionsumfang und Komfort.

An der Umfrage werde ich mich nicht beteiligen, ich müsste dann nämlich meine Stimme zweimal abgeben. Ich schreibe nämlich größere Programme mit VCL, kleinere (wie oben erwähnt) ohne.

Grüße.


Tino - Mi 23.04.03 10:43
Titel: Re: Warum NonVCL?
MathiasSimmack hat folgendes geschrieben:
An der Umfrage werde ich mich nicht beteiligen, ich müsste dann nämlich meine Stimme zweimal abgeben. Ich schreibe nämlich größere Programme mit VCL, kleinere (wie oben erwähnt) ohne.

Musst Du nicht... dafür gibt es dann auch eine passende Antwort :-)

Gruß
Tino


patrick - Mi 23.04.03 12:42

ich weiß gar net warum ihr euch so rumstreitet :hair: :
der vorteil von nonVCL ist die kleine größe,
der nachteil die unübersichtlichkeit und der zeitaufwand
PUNKT!!

:evil: wer, wie, was lieber macht bleibt wohl jedem selber überlassen und ist bedingt auch von dem ziehl der applikation abhänig.

ich glaub damit wäre zusammenfassend alles gesagt. :mahn:

Patrick


Tino - Mi 23.04.03 13:56

patrick hat folgendes geschrieben:
ich weiß gar net warum ihr euch so rumstreitet

Wer streitet hier denn?

Hier ist die aktuelle Umfrage [http://www.delphi-forum.de/viewtopic.php?t=10352] zum Thema VCL und nonVCL.

Gruß
Tino


patrick - Mi 23.04.03 17:31

Zitat:
Wer streitet hier denn?


ok dann eben anders.
warum diskutiert denn so intensiv um dieses thema.

OK vieleicht seh ich das alles n bissle zu eng. :D


FloSch - Do 24.04.03 11:53

Hallo,

kiwicht vom topic# 10352 hat folgendes geschrieben:

(ein NonVCL-Projekt aus Zeitmangel aufgeben, erklärt das nicht einiges? ... ok, nicht ernst nehmen )


ja, hauptsächlich wegen Schulprobleme - was hat das mit nonVCL zu tun?

Grüße
Florian :roll:


Delete - Do 24.04.03 12:41

@patrick: Wenn du in einem nonVCL-Projekt die Übersicht verlierst, dann hast du was falsch gemacht. Man muß siche eben schon etwas mehr zusammenreißen und möglichst strukturiert programmieren und ein Kommentar mehr als üblich kann auch nicht schaden.

Angefangen habe ich weil es mich interessiert hat (Wie hat der die Exe so klein bekommen? :shock:), dann kam die Phase, wo ich gemerkt habe, wie das mit Windows eigentlich funktioniert, die VCL versteckt ja alles vor einem (Was meinst du wie viele, die hier anfangen je schon was von einer Fensterprozedur oder Nachrichtenschleife gehört haben?) und jetzt ist die Phase dran, wo ich auslote, was man mit vertretbaren Aufwand ohne VCL realisieren kann. Siehe meine AdressDB. Ist schon recht umfangreich, aber auch nonVCL - es geht also.

Was den Aufwand angeht: Klar es man muß etwas mehr tippen, aber wenn man mit Dialog-Ressourcen arbietet ist die Oberfläche auch schnell zusammen geklickt. Und wenn man etwas Übung hat, ist der Rest auch kein Thema mehr.

Wenn ich nur mal schnell was für mich bastele, dann klicke ich das auch mal so schnell mit der VCL zusammen. Aber irgendwie komme ich mir dann billig vor und habe das Gefühl, dass ich da ja eigentlich nichts selber gemacht habe.

Heute ist es aber so, dass Zeit Geld ist und da sollte man natürlich die Vorteile, die einem Delphi als RAD-Entwicklungsumgebung bietet auch nutze, denn dafür wurde es entwicklet. Bei der professionellen Softwareentwicklung macht nonVL dann nur Sinn, wenn es wirklich auf die Größe ankommt. Als Beispiel will ich hier mal meinen FileSplitter anführen. Den kann man nachher mit auf die Diskette kopieren, wenn man auf Diskette teilt und wenn ich dann auf der letzten Diskette nur 60 KB reservieren muß, macht dass schon einen Unterschied als wenn ich 300 bis 500 KB reservieren muß. (Ich habe sogar schon eien VCL-Version meines FileSplitters gesehen, die 900 KB groß war. :roll:) Oder wenn ich eine Programm schreibe, dass ständig im Hintergrund in der TNA läuft. Wenn ich dann 300 KB ständig im Speicher habe oder nur 30 KB (pus das was der Code noch braucht), ist das auch schon ein Unterschied.

Zu mindest schadet es nicht, wenn man sich mal etwas mit nonVCL beschäftigt hat, um die Mechanismen, die hinter der VCL und Windows stecken zu verstehen.

Und außerdem kann man damit Anfänger so wunderbar beeindrucken. Mehr als einer hat schon zu mir gesagt: "Das ist ja nonVCL. :shock:" :mrgreen:


kiwicht - Do 24.04.03 13:12

FloSch hat folgendes geschrieben:


ja, hauptsächlich wegen Schulprobleme - was hat das mit nonVCL zu tun?

Grüße
Florian :roll:


War eigentlich mehr ironisch gemeint: Weil einige den Programmieraufwand, sprich Zeit, als Argument gegen NVCL angebracht haben.
Wenn dann natürlich irgendwo steht:
"NVCL ist toll, aber ich hab keine Zeit dafür", dann spornt das natürlich den "bissigen Drang" in mir an, und ich kann mich nicht zurückhalten.. :)

verzeihung :roll:
mfg


FloSch - Do 24.04.03 13:17

Verzeihung angenommen. :-D

Grüße
Florian :roll:


patrick - Do 24.04.03 17:48

@Luckie
das mit der Übersicht hab ich auf die codemenge im vergleich zum erzielten effekt bezogen. :?


Delete - Do 24.04.03 17:50

Ändert an der Tatsache nichts.


Anonymous - Do 24.04.03 19:49

Luckie hat folgendes geschrieben:
Und außerdem kann man damit Anfänger so wunderbar beeindrucken. Mehr als einer hat schon zu mir gesagt: "Das ist ja nonVCL. :shock:" :mrgreen:
Hmm.... ich denk da immer: So ein Depp macht es mir schon wieder schwer und kann nix abschreiben (Naja STRG+C) :twisted: :evil:


Jonny - Fr 25.04.03 20:17

Mal ne Frage: NVCL ist, wenn man die VCL nicht verwendet, und alle visuellen Komponente mit der WinAPI macht?

Die VCL ist eine Bibliothek, wie z.B. GTK+, QT oder TK, die sozusagen die WinAPI-Befehle kapselt? Könnte man theoretisch mit der VCL eine Anwendung ohne Delphi schreiben und alle Objekte selbst erzeugen? Oder ist die VCL direkt an Delphi gekoppelt?

Stimmt das so, oder habe ich etwas falsch verstanden?


Delete - Fr 25.04.03 20:21

Also bis zum zweiten Fragezeichen stimmt alles, ab da wird es etwas unverständlich, was du da für eine Idee hast.


Jonny - Fr 25.04.03 20:27

*2.Fragezeichensuch*
Wäre es möglich, die VCL in einem "normalen" Pascal-Programm zu verwenden?

also z.B.

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
program test

var
  form: TForm;

begin
  form := TForm.Create;
  //blabla
  form.release;
end;


Wäre so etwas möglich? (man müsste natürlich noch die VCL einbinden. Und ich weiss, das es eigentlich TForm.Create(Application) heisst, also müsste man wohl auch ein TApplication-Objekt haben. Aber es geht mir eigentlich nur ums Prinzip...)


Delete - Fr 25.04.03 20:35

Wenn du die ganzen Uses einbindest.


Jonny - Fr 25.04.03 20:38

Luckie hat folgendes geschrieben:
Wenn du die ganzen Uses eibindest.


OK, Danke für die Antwort!


Anonymous - Sa 10.05.03 18:21
Titel: Luckie's Gehrinwäsche
Ich habe ein paar Vorteile an NonVCL gefunden und befasse mich jetzt schon 2 Tage ein wenig mit NonVCL :shock: Ich weiß auch nicht wie Luckie mich zu sowas gebracht hat :?!?:
Macht euch auf was gefasst :twisted:


Delete - So 11.05.03 05:18
Titel: Re: Luckie's Gehrinwäsche
sCrAPt hat folgendes geschrieben:
Ich weiß auch nicht wie Luckie mich zu sowas gebracht hat :?!?:
Macht euch auf was gefasst :twisted:

Gar nicht, das warst du selber.