AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Neue Sprachfeatures in Delphi?

Ein Thema von Nathan · begonnen am 24. Okt 2018 · letzter Beitrag vom 27. Okt 2018
Antwort Antwort
Seite 5 von 10   « Erste     345 67     Letzte »    
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#41

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 08:10
Meine Güte, ist das wieder ein Jammern auf hohem Niveau!

Ihr müsst die neuen Sprachfeatures nicht nutzen!

Am Ende ist es eine Gewohnheitssache.
An so Teufelszeug wie Generics, Anonyme Methoden oder vereinfachte Arraybehandlung ist eurer Quelltext auch nicht gestorben, oder?
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#42

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 08:11
Delphi ist am Ende halt doch ein Pascal. Ich sehe daher keinen Zwang, (Un)Möglichkeiten anderer Sprachfamilien hinein panschen zu müssen.
Es muss aber eine gewisse Menge an Delphi-Programmierern gegeben haben, die sich dieses Feature gewünscht haben.

So wie du ausschließlich die Nachteile siehst, sehen andere eben nur die Vorteile.

Der Eine sieht in Feuer Gefahr und der Andere Behaglichkeit.

Hier ein Beispiel wo diese Inlines den Code besser lesbarer machen:
Delphi-Quellcode:
{ Das funktioniert so nicht, denn es wird nur 10 ausgegeben }

procedure TaskTest1( );
var
  i: Integer;
  tasks: TArray<ITask>;
  o: TObject;
begin
  Writeln( 'TaskTest1' );
  o := TObject.Create;
  try
    SetLength( tasks, 10 );
    for i := 0 to 9 do
      begin
        tasks[i] := TTask.Run(
            procedure
          begin
            TMonitor.Enter( o );
            try
              Writeln( i );
            finally
              TMonitor.Exit( o );
            end;
          end );
      end;
    TTask.WaitForAll( tasks );
  finally
    o.Free;
  end;
end;

{ Das muss man aktuell so schreiben }

function BuildTask( i: Integer; const o: TObject ): ITask;
begin
  Result := TTask.Run(
    procedure
    begin
      TMonitor.Enter( o );
      try
        Writeln( i );
      finally
        TMonitor.Exit( o );
      end;
    end );
end;

procedure TaskTest2( );
var
  i: Integer;
  tasks: TArray<ITask>;
  o: TObject;
begin
  Writeln( 'TaskTest2' );
  o := TObject.Create;
  try
    SetLength( tasks, 10 );
    for i := 0 to 9 do
      begin
        tasks[i] := BuildTask( i, o );
      end;
    TTask.WaitForAll( tasks );
  finally
    o.Free;
  end;
end;

{ Oder mit den Inlines geht es eben so }

procedure TaskTest3( );
var
  i: Integer;
  tasks: TArray<ITask>;
  o: TObject;
begin
  Writeln( 'TaskTest1' );
  o := TObject.Create;
  try
    SetLength( tasks, 10 );
    for i := 0 to 9 do
      begin

        var val := i;

        tasks[i] := TTask.Run(
            procedure
          begin
            TMonitor.Enter( o );
            try
              Writeln( val );
            finally
              TMonitor.Exit( o );
            end;
          end );
      end;
    TTask.WaitForAll( tasks );
  finally
    o.Free;
  end;
end;

Geändert von Schokohase (25. Okt 2018 um 08:15 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#43

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 08:19
Ja es gibt viele, die sich das gewünscht haben.

Es gibt auf FB und G++ ja diverse Wunschlisten für neue Features. Dieses stand ganz oben. Aber nur weil viele ein Feature wünschen, ist es noch nicht sinnvoll:
Ein weiteres Feature, dass sich viele wünschen ist die Ersetzung von begin..end mit
Code:
{}
.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#44

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 08:28
Ein weiteres Feature, dass sich viele wünschen ist die Ersetzung von begin..end mit
Code:
{}
.
Er hat Jehova gesagt. Steinigt ihn!
Ralf Kaiser
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#45

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 08:37
Ja es gibt viele, die sich das gewünscht haben.

Es gibt auf FB und G++ ja diverse Wunschlisten für neue Features. Dieses stand ganz oben. Aber nur weil viele ein Feature wünschen, ist es noch nicht sinnvoll:
Ein weiteres Feature, dass sich viele wünschen ist die Ersetzung von begin..end mit
Code:
{}
.
Allerdings unterscheiden sich beide Anforderungen doch erheblich. Die Inlines können nachweislich (s.o.) helfen den Code schlanker und übersichtlicher zu halten. (*)

Diese Ersetzung von begin .. end kann dieses (soweit ich das sehe) nicht liefern.

Darum wurden wohl auch die Inlines realisiert (es gibt einen konkreten Nutzen ohne den alten Code zu brechen) und die {} eben nicht.

(*) Ja, mit einem Hammer kann man ganz toll Nägel in die Wand kloppen oder sich lebensgefährlich verletzen. Ist der Hammer also jetzt nützlich oder gefährlich?

Geändert von Schokohase (25. Okt 2018 um 08:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.007 Beiträge
 
Delphi 12 Athens
 
#46

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 08:42
Zumindest kann man mit einer Inline-Variablendeklaration auch eine lokale Variable initialisieren (muss dann noch nicht mal eine Konstante sein!). Das geht bisher so jedenfalls nicht ohne mindestens eine zusätzliche Zeile Code.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#47

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 08:50
Die Initialisierung bei der Deklaraion und die Verwendung von scoped Variablen für Schleifen ist positiv.
Aber die freie Dekalarationsmöglichkeit im Text (anstatt in der Var-Sektion) finde ich eher negativ.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#48

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 09:11
Ihr müsst die neuen Sprachfeatures nicht nutzen!

Am Ende ist es eine Gewohnheitssache.
Letztlich ja doch, wenn im Team einer damit anfängt müssen zwangsläufig alle anderen auch. Spätestens beim Entkäfern wenn der Kollege im Urlaub ist.

An so Teufelszeug wie Generics, Anonyme Methoden oder vereinfachte Arraybehandlung ist eurer Quelltext auch nicht gestorben, oder?
Hmm ja, wenns denn richtig funktionieren würde... Aber dann sind wir ganz schnell wieder bei der Pro-Kontra-Diskussion "Featuritis vs. Stabilität"
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden

Geändert von Codehunter (25. Okt 2018 um 09:14 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von bytecook
bytecook

Registriert seit: 6. Aug 2010
Ort: Dornbirn
151 Beiträge
 
Delphi 11 Alexandria
 
#49

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 09:56
Letztlich ja doch, wenn im Team einer damit anfängt müssen zwangsläufig alle anderen auch. Spätestens beim Entkäfern wenn der Kollege im Urlaub ist.
Warum denk ich da jetzt urplötzlich an MySatan Roundup zum DeBeetlen?
Naja, mal abwarten was wirklich kommt...
Peter
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#50

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 10:20
Letztlich ja doch, wenn im Team einer damit anfängt müssen zwangsläufig alle anderen auch. Spätestens beim Entkäfern wenn der Kollege im Urlaub ist.
Warum denk ich da jetzt urplötzlich an MySatan Roundup zum DeBeetlen?
Da verwechselst du was. Roundup entkäfert nicht. Höchstens indirekt weils Käfergetier nix mehr zu futtern findet.
Naja, mal abwarten was wirklich kommt...
Das denke ich auch. Die ganze Aktion kommt mir doch sehr seltsam vor. Inoffizielle Kanälen ist nicht unbedingt zu trauen. Wer weiß, wir machen uns hier verrückt und dann wars nur ein Sturm im Wasserglas.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 10   « Erste     345 67     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:56 Uhr.
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