Page 1 of 3 1 2 3 LastLast
Results 1 to 15 of 41

Thread: Welkom Tiburon!

  1. #1

    Welkom Tiburon!

    http://blogs.codegear.com/nickhodges/2008/07/15/39066
    Nick Hodges heeft in zijn blog een aantal nieuwe features genoemd voor Tiburon. Tiburon is de codenaam voor de volgende Delphi versie die we eind dit jaar verwachten.



    Wat kunnen we allemaal van Tiburon verwachten?



    • Unicode support voor de complete VCL!

    • Nieuwe VCL componenten

    • Een nieuw, maar compatible, DataSnap framework

    • Een nieuwe COM en ActiveX architectuur

    • Generics

    • Anonymous methods




    De komende weken zal er meer bekend worden gemaakt over deze nieuwe versie en gaan we screenshots en demo's online zien.

  2. #2
    En ook nieuw: TStringBuilder.

    De StringBuilder kennen we al van het .NET framework. Leuk, nadat het .NET framework zoveel heeft geërft van Delphi gaat Delphi nu weer erven van het framework
    Marcel

  3. #3

  4. #4
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747
    Quote Originally Posted by Marcel View Post
    Ik zie daar niet echt een vooruitgang in. Mijn programmeer standpunt is: werk je procedure / function netjes af tot het eind, tenzij het totaal niet anders kan.
    Ik heb mij altijd kunnen vinden in Delphi om gebruik te maken van result en zal dus de exit niet zo gauw gebruiken.
    Delphi is great. Lazarus is more powerfull

  5. #5
    Het exit commando is ook een verkapt goto commando, namelijk springen naar het einde van je procedure/functie. Veel mensen zijn tegen goto. Zelf gebruik ik ook eigenlijk nooit exit en goto al helemaal nooit. Het levert namelijk spaghetti code op.

  6. #6
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Exit gebruik je typisch voor een aantal speciale checks in het begin van de procedure. En dan is er geen spaghettii gevaar.

    En iedere keer

    Code:
    if x then
      begin
       result:=234;
       exit;
     end;
    ipv
    Code:
      if x then
       exit(1234);
    Gaat ook vervelen. FPC heeft deze extensie sinds de vorige eeuw, net als de pointer overindexing die er bij Tiburon er ook in komt. En beide mistte ik behoorlijk in Delphi (en nog erger als ik FPC code portte naar Delphi)

  7. #7
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Ik heb inmiddels de stringbuilder commentaren doorgelezen, en volgens de makers kan deze in sommige gevallen sneller zijn dan string support. Dit omdat hier en daar wat ref counting vermeden wordt. (maar alleen bij veel simpele operaties in een keten, want de extra object creatie moet er ook uitgehaald worden)

    Hoewel het in theorie kan, zou bij gebruik indezelfde functie refcounting ook door de compiler geeleminieerd kunnen worden, en dan zou ook bestaande code er baat bij hebben. Dus dat had eigenlijk mijn voorkeur.

    Het probleem is echter waarschijnlijk voor CG hetzelfde als voor ons, dat vereist een major update van de optimizer, en dit is goedkoper.

  8. #8
    Zo'n stringbuilder blijft wel een beetje geneuzel in de marge, i.t.t. een update van de optimizer, of het toevoegen van een TJudyTrie... Om zinvol naar 64-bits over te kunnen moet er echt wel wat gebeuren aan TList en aanverwanten.

  9. #9
    Quote Originally Posted by marcov View Post
    ...net als de pointer overindexing die er bij Tiburon er ook in komt.
    Wat is "pointer overindexing" precies en in welke gevallen gebruik je dit?

  10. #10
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Jelmer: Je gebruikt het waarschijnlijk al veel. Delphi heeft het nl reeds voor pchar. Dat is een ^char, maar toch kan je daar array syntax (p[5]:='2' gebruiken.

    Dat dus ook voor niet pchar, inclusief eigen gedefinieerde pointers.

  11. #11
    Quote Originally Posted by marcov View Post
    Code:
    if x then
      begin
       result:=234;
       exit;
     end;
    ipv
    Code:
      if x then
       exit(1234);
    Beetje handig, maar wat mij betreft ook niet de moeite van het vermelden waard. Je gebruikt het niet vaak en je kunt, als je het toch wilt gebruiken, ook

    Code:
    result := 1234; exit;
    typen.

    Er zijn (hopelijk) wel betere dingen te zien (over 10 minuten na nu op een webpresentatie)...
    Last edited by GolezTrol; 02-Aug-08 at 00:15. Reason: /quote toegevoegd
    Groeten,

    Bart Roozendaal, Sevensteps

  12. #12
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747
    Kortom, een wijziging waar we niet op staan te wachten. Toch zijn er veel positieve reacties te vinden op de blog van Nick Hodges.
    Delphi is great. Lazarus is more powerfull

  13. #13
    Quote Originally Posted by jkuiper View Post
    Kortom, een wijziging waar we niet op staan te wachten. Toch zijn er veel positieve reacties te vinden op de blog van Nick Hodges.
    En ook een aantal kritische :-)
    Groeten,

    Bart Roozendaal, Sevensteps

  14. #14
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Tsja, ik heb kritische aantekeningen bij bijna alles. Maar met deze twee ben ik blij, omdat die gewoon bij FPC versies enorm veel werk schelen.

    Voorbeeldje: de image ladende component van fpc heb ik ooit deels gerecycled, daar zaten er tientallen tot een stuk of honderd pointer indexen, en een handvol exit(x) in.

    Generics en de unicode kraam zijn de hoofdfeats. Van de Delphi generics weet ik nog niet veel, en met de unicode kraam heb ik wat kantekeningen in de marge (zie eerdere Tiburon threads), maar doorgaans nog enigzins positief. De rest is IMHO .NET me-too's en blijkbaar ook FPC me-too's (al vind ik dat laatste persoonlijk VEEL minder erg :_)
    Last edited by marcov; 03-Aug-08 at 18:46.

  15. #15
    De eerste van een reeks video's over D2009 is verschenen
    DeX 3 Delphi := The ease of VB with the power of C; Zoekt en gij zult vinden

Page 1 of 3 1 2 3 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
  •