Delphi-PRAXiS
Seite 14 von 15   « Erste     4121314 15      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Vorteile von Delphi gegenüber C# (https://www.delphipraxis.net/139080-vorteile-von-delphi-gegenueber-c.html)

Bernhard Geyer 26. Aug 2009 10:12

Re: Vorteile von Delphi gegenüber C#
 
Zitat:

Zitat von SebE
Pascal hat einen riesigen Vorteil (für mich zumindest): Verschachtelte Routinen.
Ein MUSS für meine Projekte.

Ich hab nirgens gelesen, dass das jemanden bei c-basierenden Sprachen fehlt - stört euch das nicht?
oder gibt es womöglich besser Konzepte, die ich nicht kenne?

Veschachtelte Routinen sind schön bequem, aber nicht unbedingt nötig. Und bei zu intensiven gebrauch auch kontraproduktiv da man hier dann kreuzweise Variablen von höheren Ebenen nehmen kann/darf. Besser bei komplexen angelegenheiten eine Workerklasse definieren.

SebE 26. Aug 2009 10:16

Re: Vorteile von Delphi gegenüber C#
 
Ich weiß leider nicht, was eine Workerklasse sein soll, noch was du mit KREUZweisem Zugriff meinst.

Bernhard Geyer 26. Aug 2009 10:27

Re: Vorteile von Delphi gegenüber C#
 
Zitat:

Zitat von SebE
Ich weiß leider nicht, was eine Workerklasse sein soll,

Klasse die die Arbeit für dich übernimmt. Jede lokale Prozedur wir eine Methode
Zitat:

Zitat von SebE
noch was du mit KREUZweisem Zugriff meinst.

Delphi-Quellcode:
function MixIt(Param1, Param2: Integer): Integer;

  function Sub1(Param3, Param4: Integer): Integer;

    function SubSub(Param1, Param4: Integre): Integer;
    begin
      result := Param1 + Param2;  // <- Zugriff auf Übergabeparameter der äusersten Ebene. Evtl. schon geändert, sowie lokaler übergabeparameter der zufällig gleichen Namen wie Parameter auf äußerster Ebene hat.
    end;

  begin
    Param2 := 2 * Param2;
    result := Param1 SubSub(Param3, Param4);
  end;

begin
  Param1 := Param1 div 2;
  result := Sub1(Param3, Param4);
end;

Elvis 26. Aug 2009 10:28

Re: Vorteile von Delphi gegenüber C#
 
Zitat:

Zitat von SebE
Ich hab nirgens gelesen, dass das jemanden bei c-basierenden Sprachen fehlt - stört euch das nicht?
oder gibt es womöglich besser Konzepte, die ich nicht kenne?

Wenn man es unbedingt haben will geht das mit anonymen Methoden:
Code:
var irgendWasAusDeinerMethode = ...;
Func<Int32, String> doSomething = delegate(Int32 someValue)
{
   return irgendWasAusDeinerMethode.EineMethode(someValue) + "...";
};

//oder als lambda:
Func<Int32, String> doSomething = someValue => irgendWasAusDeinerMethode.EineMethode(someValue) + "...";

var a = doSomething(1);
var b = doSomething(2);
Zitat:

Zitat von Luckie
Zitat:

Zitat von Elvis
Die durchschnittle Delphi-App hat in etwa soviel OO-Design wie die durchschnittliche DBase-App hatte.

Wie kommst du denn darauf?

Man entwickelt da ein Gefühl nach all den Apps, die man so nutzt und die sich als Delphi Apps herausgestellt haben und wie sie RAD-ifiziert sie gestrickt sind.

Ich habe bisher noch keine Delphi App benutzt, die COM-Automatisierbar war, oder die es erlaubt in einer Config einen eigenen Logger reinzuklinken, geschweige denn dort eine andere Datenzugriffsstrategie zur Verfügung zur stellen.

himitsu 26. Aug 2009 10:29

Re: Vorteile von Delphi gegenüber C#
 
Workerklasse:
einfach eine Klasse, wo alle deine lokalen/verschachtelten Prozeduren drin sind.

KREUZweiser Zugriff ... z.B.:
Delphi-Quellcode:
Procedure AAAA;
  Var x: Integer;

  Procedure BBBB;
    Begin
      x := 2;
    End;

  Begin
    x := 1;
    BBBB;
    If x = 2 Then ....;
  End;
[edit]
zu langsam

Bernhard Geyer 26. Aug 2009 10:38

Re: Vorteile von Delphi gegenüber C#
 
Zitat:

Zitat von Elvis
Zitat:

Zitat von Luckie
Wie kommst du denn darauf?

Man entwickelt da ein Gefühl nach all den Apps, die man so nutzt und die sich als Delphi Apps herausgestellt haben und wie sie RAD-ifiziert sie gestrickt sind.

Und wird durften (mit Delphi für native/Java für Web) eine .NET-Anwendung ablösen die sich nach Win 3.1 angefühlt hat.

Zitat:

Zitat von Elvis
Ich habe bisher noch keine Delphi App benutzt, die COM-Automatisierbar war,

Geht aber, und wird auch bei einigen Kunden von uns im 24x7-Betrieb verwendet.

Elvis 26. Aug 2009 10:42

Re: Vorteile von Delphi gegenüber C#
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Elvis
Zitat:

Zitat von Luckie
Wie kommst du denn darauf?

Man entwickelt da ein Gefühl nach all den Apps, die man so nutzt und die sich als Delphi Apps herausgestellt haben und wie sie RAD-ifiziert sie gestrickt sind.

Und wird durften (mit Delphi für native/Java für Web) eine .NET-Anwendung ablösen die sich nach Win 3.1 angefühlt hat.
Zitat:

Zitat von Elvis
Ich habe bisher noch keine Delphi App benutzt, die COM-Automatisierbar war,

Geht aber, und wird auch bei einigen Kunden von uns im 24x7-Betrieb verwendet.

Ich schrieb nicht "jede". Darfst dich also als überdurchschnittlich anpreisen. :mrgreen:

SebE 26. Aug 2009 10:43

Re: Vorteile von Delphi gegenüber C#
 
Das mit dem KREUZenden Zugriff verstehe ich nicht als Proble:
Immer das am nächsten stehende Symbol wird gewählt.

Deshalb ist es ja kein Kreuz, es geht ja nur in eine Richtung (nach oben).

Zu Workerklassen -> heißt das, ich habe für jede Ebene eine Klasse?

Bernhard Geyer 26. Aug 2009 10:46

Re: Vorteile von Delphi gegenüber C#
 
Zitat:

Zitat von SebE
Zu Workerklassen -> heißt das, ich habe für jede Ebene eine Klasse?

Kommt auf die Komplexität an. I.d.R. wird eine Klasse reichen.

Delphi-Laie 14. Sep 2009 21:13

Re: Vorteile von Delphi gegenüber C#
 
Mir fielen bisher zwei Dinge in C (++/#) auf, die ich bisher bei Delphi vermißte:

1. Step-Option in Zählschleifen (oder gibt es das in neueren Delphi-Versionen?). Gibt es auch und sogar in Basic. Ohne ist es eine geringe zusätzliche, aber eigentlich unnötige Variablenfummelei mithilfe einer while-Schleife.

2. Alternativ statt oder noch besser zusätzlich zu repeat until wäre, wenn es ein do while gäbe, die Programmierung ein Quentchen flexibler (muß man eben statt der Abbruchbedingung diese logisch negieren, dann wird es eine Fortsetzbedingung). Ob es in C (++/#) Iterationen mit End-Abbruchbedingung gibt, weiß ich allerdings nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:06 Uhr.
Seite 14 von 15   « Erste     4121314 15      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz