Page 4 of 5 FirstFirst ... 2 3 4 5 LastLast
Results 46 to 60 of 66

Thread: Het Einde van Delphi?

  1. #46
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Het geldt voor heel veel me-too syntax features sinds zeg D2006.

    Het is overigens niet alleen Delphi. FPC heeft de ziekte ook. De zogenaamde C-operators (x+=a) waren origineel ook alleen om conversies van C code veiliger te maken(zlib), helaas zijn er dan een hoop mensen die het als unieke feature zien, en binnen de korste keren zie je het overal en het dialect is opgerekt.

  2. #47
    Quote Originally Posted by jkuiper View Post
    las op het lazarus forum de voetnoot van Thaddy
    Ja, maar soortgelijke dingen roept ie ook al jaren over de VCL, en die gebruik ik ook met plezier. Nou ja... gebruik ik ook.
    Last edited by GolezTrol; 15-Nov-18 at 08:58.
    1+1=b

  3. #48
    Reader
    Join Date
    May 2002
    Location
    Holland
    Posts
    3,382
    Ik kan - excuses aan de fanatieke tegenstanders - niet anders dan enthousiast zijn over de inline vars (tot nu toe)

  4. #49
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Uit de 10.3 thread:

    Delphi Code:
    1. procedure TForm1.blaat()
    2.      var j: integer = 10;   // STATIC initialized/globale variable ?
    3.     begin
    4.       var j: integer = 10;   // lokale, geinitializeerde variable ?
    5.     end;

    Wat vind je daar van ? Toch een redelijk voorbeeld waar het extreem kromme van de feature tot uitdrukking komt, en tevens een voorbeeld van dat het niet C<x> tegen Delphi is, maar de problemen zitten met name in de combinatie. (En Delphi is al een nogal topzware taal)

    En, overigens, tegenstanders voor fanatici uitmaken is niet echt netjes.

  5. #50
    Reader
    Join Date
    May 2002
    Location
    Holland
    Posts
    3,382
    Ik bedoel niet fanatici maar "fanatieke tegenstanders" als gehele expressie. Dus een "sterke tegenstander van".
    Je weet toch wel dat ik jou hoog acht, marcov.

    Wat ik van je voorbeeld vind? Tja, inderdaad niet duidelijk. De tweede j-var zal wel een lokale scope hebben als je hem opnieuw declareert.

  6. #51
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,708
    Waar het mij om gaat is de verloedering van een taal, niet zozeer features die een taal uitbreiden.

    De krachten van Pascal zijn juist: duidelijk leesbaar, strong-typed, "Geen" gebruik van pointers (bij strings e.d.),
    duidelijke verantwoordelijkheden over objecten, overzichtelijke administratie, etc.
    Nu gaan we de taal ogenschijnlijk "Versimpelen" en laten de eerste ("Leesbaar") en de laatste ("Administratie")
    eigenschappen maar gewoon vallen omdat wij programmeurs lui zijn?

    Ik kan mij al ergeren aan het verval van het geschreven Nederlandse woord ("mss" ipv "misschien", "Me" wanneer
    je "Mijn" bedoeld en het gebruik van 't woord "Als" wanneer je zaken aan het vergelijken bent) en was er eerlijk
    gezegd van overtuigd dat Pascal niet mee zou doen met de algehele subversie in de samenleving, maar ik word
    danig teleurgesteld.
    TMemoryLeak.Create(Nil);

  7. #52
    Je weet dat we het over een programmeertaal hebben he, dat is alleen maar een gereedschap om iets te bereiken. Let op dat je programmeren niet als een doel op zich gaat zien.
    Marcel

  8. #53
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Quote Originally Posted by Marcel View Post
    Let op dat je programmeren niet als een doel op zich gaat zien.
    Met features als dit, is het meer dat je debuggen als een doel op zicht gaat zien :-)

    Hoewel ik ook wel wat smaak gevoelens heb als Videoripper is het toch vooral de onnodigheid met het potentieel voor een snel gemaakt foutje wat lastig te debuggen is omdat je er steeds weer overheen leest.

    En ik heb er ervaring mee. Freepascal heeft in zijn objfpc mode een "feature" die initialized variabelen (dus de eerste VAR in mijn voorbeeld) tot geinitializeerde lokale variabelen maakt.

    Aan dat soort dingen heb ik me dus al een paar gesneden, en nu gooit Embarcadero er nog een schepje op de verwarring op.

    En nee, FPC ook niet bepaald heilig op dit punt. Veel te veel extra, onnodig syntax die uit me-too of andere emotionele redenen toegevoegd wordt.

  9. #54
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747
    Dit is code uit D10.3 rio (32 bits):
    Delphi Code:
    1. procedure TForm1.Button1Click(Sender: TObject);
    2. var a : integer = 10;
    3. begin
    4.   for var teller := 1 to 10 do
    5.   begin
    6.     sleep(1000);
    7.     var a : integer = 15;
    8.   end;
    9.   showmessage(a.ToString)
    10. end;
    Checking project dependencies...
    Compiling Project1.dproj (Debug, Win32)
    [dcc32 Error] Unit1.pas(28): E2195 Cannot initialize local variables
    [dcc32 Error] Unit1.pas(33): E2004 Identifier redeclared: 'a'
    [dcc32 Error] Unit1.pas(33): E2029 ':=' expected but '=' found
    [dcc32 Fatal Error] Project1.dpr(5): F2063 Could not compile used unit 'Unit1.pas'
    Failed
    Elapsed time: 00:00:00.5
    Dit WERKT niet. Of moet er in de opties nog iets veranderd worden.

    Dit is een zeer verse installatie.
    Delphi is great. Lazarus is more powerfull

  10. #55
    Reader
    Join Date
    May 2002
    Location
    Holland
    Posts
    3,382
    Klopt: regel 2 en 7 kunnnen niet. Dus het scope issue van marcov gaat waarschijnlijk niet op: het compileert niet.

  11. #56
    Regel 2 kan niet. Een static variable maak je volgens mij nog steeds met een assignable typed const (wat op zichzelf al een gekke constructie is).

    Als je een locale variabele declareert "zoals vroeger" bovenaan de functie, dan mag deze daar niet direct geinitialiseerd worden. Dat mag alleen met inline variabelen.

    Regel 7 kan normaliter wel, maar nu niet omdat regel 2 er is en de variabele al in die procedure bestaat. Ik verbaas me daar een klein beetje over (het is tenslotte de kleinere scope van het begin..end blok), maar ik ben er wel blij mee, want het betekent dat je niet dezelfde variabele twee keer kan hebben binnen dezelfde functie, dus dat gaat denk ik een hoop ellende voorkomen.
    1+1=b

  12. #57
    Als ze al aanpassingen gemaakt zouden hebben dan zou je toch verwachten dat ze die "var a : integer = 10;" ook mogelijk gemaakt zouden hebben.
    (in FPC is dat wel al mogelijk in beide objfpc en delphi mode)

    Rare jongens, die Emarcaderians.

  13. #58
    Maar al met al zorgt deze feature wel voor onverwacht veel discussie. Het grote schisma van 2018, waarin alle Delphi developers zich uitspreken, we straks een groep hebben van ca 25 klassieke developers (waarvan de helft toch nog op Delphi 7), en een stuk of 18 moderne. De aanwas voor pannekoekenfestijnen en Coolblue-bijeenkomsten is daarmee ook meteen gehalveerd, en ook daarbuiten is het maar de vraag of elk van de groepen groot genoeg is om nog van betekenis te zijn. En daarmee is het misschien inderdaad wel het einde van Delphi.
    1+1=b

  14. #59
    maar ik ben er wel blij mee, want het betekent dat je niet dezelfde variabele twee keer kan hebben binnen dezelfde functie, dus dat gaat denk ik een hoop ellende voorkomen.
    gaat dat dan ook op als je hem in regel 2 alleen definieert en niet initialiseert?

  15. #60
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Hier werkt het ook niet. Ik denk dat Goleztrol gelijk heeft. Het static geval is alleen writeable const. De dubbele variabele namen waren niet expres. Al zou het wel eng zijn als dat geaccepteerd werd.

    Maar goed, ik/wij hebben nooit automatisch geupgrade. op het werk hadden we geen subscription, maar kochten we om de zoveel versies als er wat interessant genoeg was. Voor Seattle hebben we destijds gekozen ivm een grote 64-bit order. (en XE3 was vrij instabiel in de 64-bit debugger)

    Inmiddels wil Embarcadero ons niet meer als klant.

Page 4 of 5 FirstFirst ... 2 3 4 5 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •