Einzelnen Beitrag anzeigen

Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#83

AW: Ist Delphi so Bedeutungslos ?

  Alt 13. Feb 2013, 15:02
wo kann man diese modernen Konzepte wirklich sinnvoll gebrauchen? Also nicht im Sinne von "Hey, Sprache X unterstützt jetzt Y und damit kann man prinzipniell Z machen!", sondern wo man das im normallen Programmieralltag (Stichwort "Brötchen verdienen") gebrauchen kann.
Ja sorry, aber was genau erwartest du darauf jetzt als Antwort? Hauptsächlich erspart mir das alles, Code zu schreiben. Damit kann ich mich auf die wesentlichen Sachen konzentrieren, bin produktiver und kann mehr Brötchen verdienen. Oder wofür braucht man nochmal genau diesen ganzen modernen Kram wie Objekte? Mit Assembler kann ich doch auch alles implementieren (... ist natürlich KEIN ernstgemeintes Argument, soll aber verdeutlichen in welcher Argumentationssituation ich mich da gerade sehe )
Eben genau solche Beispiele. Zum Beispiel was du in Delphi hättest machen müssen, aber durch entsprechende Features (also Traits, Duck Typing, Type Inference, etc.) in einer anderen Sprache übersichtlicher oder einfacher hinbekommen hast.

Hat zwar jetzt nichts mit den oben genannten Features zu tun, aber ich spiele zum Beispiel mit dem Gedanken das Konzept der Class Contracts aus Oxygene für Free Pascal zu übernehmen, da es meiner Meinung nach die Übersicht fördert.

Zitat von Meflin:
Welche Werkzeuge bietet mir z.B. Delphi/Free Pascal, um mit Crosscutting Concerns umzugehen? Kein AOP, keine Traits, kein garnix. Oder ist das ein Problem, was man als durchschnittlicher Delphi-Entwickler nicht hat? Oder doch einfach eher nicht kennt, aber durchaus hat.
Ich habe zumindest die oben genannten Punkte (Duck Typing, Type Inference, AOP - Traits lass ich mal außen vor, da ich mich darüber erst informieren müsste) bisher noch nicht vermisste. Mich würden also Beispiele interessieren in welchen konkreten Situationen solche Sprachkonstrukte vermisst werden.

Lazarus ist mehr oder weniger nicht zu gebrauchen.
Lazarus ist mittlerweile durchaus zu gebrauchen. Das einzige echte Manko ist aus meiner Sicht, dass man Pakete nicht dynamisch laden kann, sondern die IDE jedes mal neu kompilieren muss, wenn man z.B. eigene Komponenten im Designer verwenden will. Wobei schon ziemlich viele Komponenten von Haus aus mitgeliefert werden... Ansonsten ist die Oberfläche vielleicht nicht ganz zeitgemäß, aber deshalb nicht weniger funktional.
Das Problem ist, dass wichtige Dinge für Windows einfach gar nicht oder nur mangelhaft umgesetzt werden. Stichwort "COM". Liegt einfach nicht im Interesse der Open Source X-Platform Community. Man will halt alles X-Platform bedienen können.
Zu der Zeit als du mit COM rumgespielt hast (2009) war die Unterstützung in FPC und Lazarus zugegebenermaßen noch mehr schlecht als recht. Das hat sich im Laufe der Zeit geändert und mit 2.6.0 wurde sogar ein spezieller Modifier für Parameter (constref ) eingeführt, der es erlaubt IInterface auch korrekt für XPCOM zu verwenden. Außerdem wurde ein Tool eingepflegt welches aus einer Typbibliothek eine Pascal Unit erzeugen kann mit einem entsprechenden Dialog für Lazarus.

Andererseits kann man noch nicht einmal die Toolbars customizen. Die IDE ist halt einfach 15 Jahre hinter der Zeit.
Es gibt die Möglichkeit eine anpassbare Toolbar für den Editor einzubinden. Und warum sollte die IDE 15 Jahre hinter der Zeit sein? Die Priorität der Entwickler liegt eben in anderen Punkten (Multiplattformfähigkeit, Refactoringfunktionen, etc.) und wenn du was geändert willst, dann musst du das schon zum Beispiel auf dem Bugtracker bekannt machen.

Zitat von cookie22:
Bist du Lazarus-Entwickler oder warum bist du so unfreundlich?
Ich bitte darum von solchen Verallgemeinerungen Abstand zu nehmen. Die Lazarus Entwickler mit denen ich es bisher auf den Mailinglisten zu tun hatte sind alles Leute, mit denen man gut reden kann, solange man nicht selbst pampig wird.

Die meisten der ach so tollen Komponenten sind mangelhaft oder gar nicht dokumentiert.
Das Schreiben von Dokumentation ist leider nicht jedermanns Sache und noch dazu enthält allein Free Pascal eine große Anzahl an zusätzlichen Units...

Zitat von schöni:
- Nachladen der Komponente erst in dem Moment, wo ich sie aus der Palette auswähle. Vorher nur Anzeige, das sie verfügbar ist.

-Möglicherweise sollte FPC dazu um Packages im Delphi Stil erweitert werden.
Für deinen ersten Punkt MUSS FPC um entsprechende Packages erweitert werden. Sie stehen ja auch auf unserer ToDo Liste, aber sie sind nicht trivial zu implementieren, zumindest nicht, wenn sie wenigstens unter Windows, Linux und Mac OS X funktionieren sollen...

Zitat von schöni:
-Wesentlich kürzere Kompilierzeiten. 2 Minuten und Länger für ein Hello World Programm oder ein leeres Formular sind entschieden zu lang. Dann stimmen noch Unitpfade nicht, Suchen und UNitpfade anpassen, wieder 2 Minuten kompilieren und womöglich fehelen dann andere Units. Nee, so nicht. Funktioniert für mich nicht. Delphi würde ich sofort an Emba zurück schicken und mein Geld zurück verlangen, wenn die sich das erlauben würden.
Das verwundert mich schon sehr. Ich habe einen Rechner mit 800 MHz, 1GB RAM auf dem Windows 7 läuft und in zwei Minuten schaffe ich es den kompletten Compiler neu bauen zu lassen (aus der IDE raus).

Zitat von schöne:
-Oft ärgere ich mich über träge laufende Programme mit immer mehr Zeug drin, das ich nie und nimmer nutze, nur meinen Rechner verlangsamt, weil ich bei Start der Software auch all das ressourcenfressende Zeug mit starte.

- Es ist deshalb an der Zeit, alle heutigen IDEs abzuspecken und dort nur das in den Speicher zu laden, was aktuell gebraucht wird. Festplatten sind groß genug heutzutage, da kann eine Komponente auch gut auf der Festplatte gehalten und nur bei Bedarf geladen werden. Dann würde die IDE viel schneller starten und hätte in einer Liste doch alle Komponenten vorrätig, die dann eben erst wirjklich in den RAM kommen, wenn ich sie anfordere. Warum zum Teufel ist das sooooo schwierig. Dann namlich kämt Ihr Entwickler mit schwächeren Rechnern aus und könntet Eure Software auf diesen langsamen Rechnern ausgiebig auf Tauglichkeit testen. Ich habe in "Was nervt mich heute beim Programmieren besonders auch was dazu geschrieben, was in diese Richtung geht.
Das finde ich jetzt eine sehr interessante Aussage. Die einen regen sich darüber auf, dass Docking nicht standardmäßig aktiviert ist und die anderen regen sich darüber auf, wenn zu viel aktiviert ist... Man kann es eben nicht allen Recht machen.

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat