Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#35

AW: XE7 veröffentlicht

  Alt 2. Sep 2014, 13:25
Warum für .NET'ler LINQ immer das Endprodukt der sozial-humanistischen Evolution sein wird werde ich nie verstehen.
Arbeite damit und du wirst verstehen: 90% der Programmierung sind Schleifen, Listen, Suchen, Filtern. Mit LINQ reduzierst Du deine Arbeit um diese 90% abzüglich ein wenig overhead. Das geht mit Delphi, ist aber so unübersichtlich und schlecht lesbar, das man es lieber bleiben lässt. Wenn Emba irgendwann ein paar Monate in die Lambda-Ausdrücke investiert, haben sie es ja auch.

Apropos Elvis-Operator: C# hat ihn.
Code:
var x = foo ?? bar;
// oder noch geiler
var x = foo == (foo = CreateFoo()); // Lazy loading
Aber LINQ ist nicht das Ende der Revolution. Es ist ein Anfang. F# ist ein weiterer Baustein

Delphi will aber gar nicht (mehr) in diese Richtung. Ich find die Entwicklung in Richtung mobile development viel sinniger, denn wo wird denn in den nächsten Jahren die Musik gespielt? Bei LINQ oder auf Tablets? Da wo Microsoft pennt, holt Emba endlich mal wieder auf. Andere sind zwar schon viel weiter, aber alles ist besser als stehenbleiben.
Naja, das isn bisschen Äpfeln und Birnen vergleichen. Auch für Tablets ist Programmierung noch mit Listen hantieren.
Und da ist LINQ (egal ob mit der speziellen LINQ Syntax oder "nur" über IEnumerable<T> extention methods) nunmal sehr feiner Syntaxzucker.

Ob der ternary oder null coalescing operator (C# bekommt bald ja sogar den null propagating operator) in Delphi ne geile Sache wäre, artet nunja meist wieder in Glaubenskriege aus
(Ja, ich kenn IfThen, aber das ist nicht, was ein ternärer Operator macht)

Damit das in Delphi besser geht als jetzt schon (jeder, der mit Listen arbeitet und Spring4D nutzt wird wissen, was ich meine) wäre ein erster Schritt die Implementierung von Interface helpern und Helpern für generische Typen (damit geh ich Marco nun schon eine Weile auf die Nerven ) und dann die Lambdas für übersichtlicheren Code (und je nach Implementierung die Möglichkeit den Syntaxtree auseinander zu drüseln), denn die Syntax für anonyme Methoden is einfach nur >50% Boilerplate code.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie ( 2. Sep 2014 um 13:29 Uhr)
  Mit Zitat antworten Zitat