AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Delphi ist unbeliebt...angeblich
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi ist unbeliebt...angeblich

Ein Thema von Sherlock · begonnen am 2. Nov 2017 · letzter Beitrag vom 2. Mär 2018
Antwort Antwort
Seite 1 von 2  1 2      
Der schöne Günther

Registriert seit: 6. Mär 2013
6.203 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Delphi ist unbeliebt...angeblich

  Alt 8. Nov 2017, 11:54
Hm, Pascal ist teilweise so läääänglich, aber das ist nicht schlecht. Vielleicht mache ich zu viel Delphi, aber manchmal finde ich eine vier Zeilen lange anonyme Methode trotzdem lesbarer als ein kurzes Lambda.

Delphi-Quellcode:
uses
  System.Generics.Collections,
  System.Generics.Defaults;

[...]

var
   values: TBytes;
   compareDescending: IComparer<Byte>;
begin
   values := [1, 3, 2];
   compareDescending :=
      TComparer<Byte>.Construct(
         function(const left, right: Byte): Integer
         begin
            Result := (right - left)
         end
      );
   TArray.Sort<Byte>(values, compareDescending);
end.
vs.

Code:
         using System;


         byte[] values = new byte[] { 1, 3, 2 };
         Array.Sort( values, (l, r) => r-l ); // sort descending
Ist aber natürlich schon ein starkes Stück. Grade für triviale Dinge wird es oft so aufgebläht.


Ob man nun begin/end, Klammern oder Emojis für Blöcke nimmt, darüber wird sich ja niemand ernsthaft streiten wollen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.413 Beiträge
 
Delphi 12 Athens
 
#2

AW: Delphi ist unbeliebt...angeblich

  Alt 8. Nov 2017, 12:00
Bei Arrays geht es nicht, wenn man nur den Feldtyp übergibt, aber TClass.Method<Xyz>(value{: Xyz}); kann man auf TClass.Method(value{: Xyz}); kürzen.
Geht aber nur bei der Methode und nicht für eine ganze Klasse. TClass<Xyz>.Method(value{: Xyz}); .
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Delphi ist unbeliebt...angeblich

  Alt 8. Nov 2017, 12:36
Hm, Pascal ist teilweise so läääänglich, aber das ist nicht schlecht. Vielleicht mache ich zu viel Delphi, aber manchmal finde ich eine vier Zeilen lange anonyme Methode trotzdem lesbarer als ein kurzes Lambda.
Die C# Form ist zwar korrekt aber 1:1 übersetzt wäre es eher
Code:
delegate(byte left, byte right)
{
  return (right - left);
}
Und in der Form ist es dann nicht mehr so viel kürzer als Delphi.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

AW: Delphi ist unbeliebt...angeblich

  Alt 8. Nov 2017, 13:18
Hm, Pascal ist teilweise so läääänglich, aber das ist nicht schlecht. Vielleicht mache ich zu viel Delphi, aber manchmal finde ich eine vier Zeilen lange anonyme Methode trotzdem lesbarer als ein kurzes Lambda.

Problem 1: in der RTL bietet TArray.Sort keine Überladung für TComparison<T>, so dass man das schreiben könnte:

Delphi-Quellcode:
TArray.Sort<Byte>(values,
  function(const left, right: Byte): Integer
  begin
    Result := (right - left)
  end);
Lösung: Spring.pas nutzen (oder selbst schreiben meinetwegen), das fügt diesen Oberload hinzu.


Problem 2: Anonyme Methoden sind halt keine Lamdbas und der Compiler ist dämlich (entschuldige, ich meine single pass mit begrenztem Look ahead), so dass er nur sehr begrenzt Type Inference betreiben kann und er somit die explizite Angabe der Signatur braucht um das dann in die entsprechende Methode zu packen. Der C# Compiler geht da vereinfacht ausgedrückt hin und nimmt erstmal die Lambda auseinander und konstruiert daraus dann die Signaturen und testet sie gegen die möglichen Overloads der aufzurufenden Methode (Eric Lippert erklärt das etwas in seinem Blog etwas besser - gibt noch zahlreiche weitere Artikel von ihm zu der Thematik).

Ob man nun begin/end, Klammern oder Emojis für Blöcke nimmt, darüber wird sich ja niemand ernsthaft streiten wollen.
Nicht nur begin/end, aber gibt genug, die meinen, nur weil man in Pascal z.B. Variablen vor dem begin deklarieren muss, macht es den Code irgendwie besser. Klar, Code mit drölfzig Variablen wird übersichtlicher als derselbe Code mit jeder Variable inline über zig Zeilen Code deklariert, aber das kann wohl kaum der Grund sein. Ich bekomm immer Herpes, wenn ich nur weil ich ne for Schleife habe, diese Variable oben deklarieren muss, anstatt an der Stelle wo ich sie brauchte (zusätzlich ergibt sich in C-Sprachen durch das scoping nicht die Problematik, mal einfach die Variable außerhalb der Schleife zu missbrauchen). Und ja, ich weiß, dass es IDE Tooling (aka "Code Vomit") für das automatische Deklarieren dieser Variablen gibt.

Zusätzlich gibt es keine Möglichkeit, eine Variable direkt mit einem Sinnvollen Wert zu befüllen. D.h. sie ist entweder solange in einem undefinierten Zustand (managed Typen mal ausgeklammert), bis ich ihr einen Wert zuweise. Was dazu führt, dass man entweder Unsinnscode schreibt, um erstmal alles auf Null/Leer zu setzen oder Bugs in Kauf nimmt oder auf den Compiler hofft, einem die Verwendung einer unitialisierten Variable aufzuzeigen (was im übrigen z.B. in C# by default ein Fehler und nicht nur eine Warnung ist).
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie ( 8. Nov 2017 um 13:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.813 Beiträge
 
Delphi 12 Athens
 
#5

AW: Delphi ist unbeliebt...angeblich

  Alt 8. Nov 2017, 13:42
Ob man nun begin/end, Klammern oder Emojis für Blöcke nimmt, darüber wird sich ja niemand ernsthaft streiten wollen.
Es gibt Sprachen, die Klammern über die Einrückung. Was hab ich schon für amüsante Stunden in Python verbracht, wo mal per Tab, mal per Leerzeichen und dann auch mal falsch eingerückt wurde (Entwicklung mit mehreren Kollegen), und der Code sich vollkommen "unerwartet" verhalten hatte. Da habe ich mit begin..end oder wenigstens Klammern herbeigesehnt!

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#6

AW: Delphi ist unbeliebt...angeblich

  Alt 24. Nov 2017, 17:09
Also, weil ich in letzter Zeit µC programmiere muss man ein wenig C/C++ konnen und was soll ich sagen
Eclipse ist Open Source aber es hat seine Krankheiten und undefiniertes Verhalten hin und wieder.
Microsoft Visual Studio ist meiner Meinung zum vergleich mit Delphi einfach nur schlecht.
Außerdem haben die nicht so ein tolles Forum wie dieses hier. LOL
Martin MIchael
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

AW: Delphi ist unbeliebt...angeblich

  Alt 24. Nov 2017, 17:13
Zitat:
Microsoft Visual Studio ist meiner Meinung zum vergleich mit Delphi einfach nur schlecht.
Außerdem haben die nicht so ein tolles Forum wie dieses hier. LOL
Nicht Delphi hat das Forum sondern ein einziger Mann Namens Daniel, der das aus Lust, Laune, Hobby.. wie auch immer.. betreibt.
Der Vergleich, eigentlich beide, hinken also.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.413 Beiträge
 
Delphi 12 Athens
 
#8

AW: Delphi ist unbeliebt...angeblich

  Alt 27. Nov 2017, 15:18
"Delphi" hat ein Forum, aber .... naja

https://forums.embarcadero.com
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.906 Beiträge
 
Delphi 12 Athens
 
#9

AW: Delphi ist unbeliebt...angeblich

  Alt 28. Nov 2017, 07:26
und es gibt da noch ein paar Männer mehr mit Foren ...
z. B.: Entwickler-Ecke und Delphi-Treff
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#10

AW: Delphi ist unbeliebt...angeblich

  Alt 30. Nov 2017, 18:13
Ich habe von diesem Forum geredet und kann das mit anderen Foren vergleichen,
ich habe mal eine Noop Frage bei PHP gefragt und da bekommt man als Antwort, lerne das erst richtig dannn kannst Du fragen.
Den Script habe ich hinbekommen, aber lernen wollte ich PHP deshalb nicht.

Was mich nur an Delphi stört, da hätte man was an der Syntax ändern können
zum Beispiel finde ich es toll in so vielen anderen Sprachen mit Klammer das begin{ end} zu machen,
warum hat sich da die Pascal Syntax nicht weiter Evolutioniert.
Auch die for (i = 0;i<5;i++) Syntax finde ich besser als in Pascal. Ich glaube wenn da jemand dahinter gewesen wäre um Pascal
Moderner, der Zeit anzupassen wäre Pascal auch bei den jüngeren populärer. Also Java ist doch der lezte Dreck und ich konnte mich nie dafür
begeistern.

Have a good one
Martin MIchael
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz