Autor Téma: Nějaké info o nové verzi Delphi  (Přečteno 4194 krát)

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2329
  • Karma: 102
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Embarcadero MVP - Czech republic

Offline František

  • Hrdina
  • ****
  • Příspěvků: 495
  • Karma: 6
    • Verze Delphi: primárne v XE5, občas 10.2.3 comunity
Re:Nějaké info o nové verzi Delphi
« Odpověď #1 kdy: 23-10-2018, 22:11:15 »
takze ako Venom

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2329
  • Karma: 102
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Nějaké info o nové verzi Delphi
« Odpověď #2 kdy: 24-10-2018, 07:38:02 »
Embarcadero MVP - Czech republic

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4417
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Nějaké info o nové verzi Delphi
« Odpověď #3 kdy: 24-10-2018, 08:31:41 »
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline František

  • Hrdina
  • ****
  • Příspěvků: 495
  • Karma: 6
    • Verze Delphi: primárne v XE5, občas 10.2.3 comunity
Re:Nějaké info o nové verzi Delphi
« Odpověď #4 kdy: 24-10-2018, 08:34:28 »
áno Stanislav,
symbióza s C#, ale myslím že to je dobre - inline variables



Offline Slappy

  • Plnoletý
  • ***
  • Příspěvků: 174
  • Karma: 11
  • Slappy
    • Verze Delphi: 10.2 Tokyo + Vsetky :)
    • unSigned
Re:Nějaké info o nové verzi Delphi
« Odpověď #5 kdy: 24-10-2018, 08:36:05 »
Inline variables je jednoznacne krok vpred! Tymto sa Delphi konecne vyrovna "modernym" jazykom, co mnozstvo ludi odradzalo a sposobovalo to strasny zmatok. (Konecne budu JavaScriptaci vediet spravit FOR v Delphi :D)

Bohuzial to z mojho osobneho hladiska nic neriesi, pretoze projekty kompilujem aj v starsich verzia Delphi.

V podstate som pomaly ustupoval od Delphi, ale posledne ozivenie a samozrejme prichod CrossVCL (+Linux a mobilne app) znaci velmi dobru cestu!

Good Luck Delphi!
« Poslední změna: 24-10-2018, 08:43:10 od Radek Červinka »
Moje projekty: http://www.unsigned.sk Tvorba cool dizajnovych instalatorov v NSIS a Inno Setup. Rozsirenie pre Visual Studio a RAD Studio pre tvorbu NSIS a Inno Setup instalatorov.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2329
  • Karma: 102
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Nějaké info o nové verzi Delphi
« Odpověď #6 kdy: 24-10-2018, 08:42:08 »
Žeby mal na mysli toto https://www.csfd.cz/film/265276-venom/prehled/

Já vím co je venom, jen jsem tím chtěl neznačit, že taková reakce na patrně největší změny v kompilátoru (a ne jen inline vars, ale i ta další co je na obrázku) od D2009 je facepalm^4.
Embarcadero MVP - Czech republic

Offline pepak

  • Guru
  • *****
  • Příspěvků: 1429
  • Karma: 34
    • Pepak.net
Re:Nějaké info o nové verzi Delphi
« Odpověď #7 kdy: 24-10-2018, 08:42:10 »
Mohl bych poprosit o nějaké stručné nakopnutí, co mi inline variables přinesou? Konkrétně v kontextu Delphi - co teď Googluji, tak si dovedu představit jejich smysl pro C++, i když mi pořád připadá, že benefity ani zdaleka nevyrovnají ztrátu kompatibility, ale pro Delphi ty use cases nevidím.

Offline František

  • Hrdina
  • ****
  • Příspěvků: 495
  • Karma: 6
    • Verze Delphi: primárne v XE5, občas 10.2.3 comunity
Re:Nějaké info o nové verzi Delphi
« Odpověď #8 kdy: 24-10-2018, 08:45:58 »
no z hľadiska kompatibility dole, by to nemusel byť problém, zaleží od toho ako to bude naimplementované v novom, lebo nemal by byť problém uložiť to postarom a zobrazovať to v novom ponovom

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2329
  • Karma: 102
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Nějaké info o nové verzi Delphi
« Odpověď #9 kdy: 24-10-2018, 09:04:31 »
Mohl bych poprosit o nějaké stručné nakopnutí, co mi inline variables přinesou? Konkrétně v kontextu Delphi - co teď Googluji, tak si dovedu představit jejich smysl pro C++, i když mi pořád připadá, že benefity ani zdaleka nevyrovnají ztrátu kompatibility, ale pro Delphi ty use cases nevidím.

Jakou ztrátu kompatibility? Kdo chce používat stávající deklarace může pro všechny verze. Kdo chce i inline, tak je to jeho rozhodnutí a kompatibilita vzhledem kupředu. Takže žádná ztráta.

Výhody:
- zpřehlednění a bezpečnější kód (proměnná je platná jen kde programátor chce)
- byl to jeden s hlavních požadavků uživatelů (a já s tím plně souhlasím)
- umožní to explicitně ve spolupráci s def. constructorem a destructorem možnou lepší kontrolu nad správou resources (jak vidno z tech slide tak ARC bude umreno)
- pry to je dulezite pro různé jiné moderní jazykové konstrukce, at uz existující (anonymní metody) nebo možné


muzes napsat treba

Kód: Delphi [Vybrat]
  1.     var o:=TDictionary<string, string>.Create;
  2.  
  3. // a o je typu TDictionary<string, string>
  4.     o.Add('a', 'b');
  5.  

ale nikdo ti nebrani napsat
Kód: Delphi [Vybrat]
  1. var
  2.   o:TDictionary<string, string>;
  3. begin
  4.   o:=TDictionary<string, string>.Create;
  5.  

Nechápu v čem vidíte problém, za mne naprostá bomba
Embarcadero MVP - Czech republic

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2329
  • Karma: 102
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Nějaké info o nové verzi Delphi
« Odpověď #10 kdy: 24-10-2018, 09:06:09 »
Pokud bude case sensitive (jako JavaScript) tak jenom chaos.
...

ne, navic je to navic ke stavajicim deklaracím a budou platit stejná pravidla.

Embarcadero MVP - Czech republic

Offline pepak

  • Guru
  • *****
  • Příspěvků: 1429
  • Karma: 34
    • Pepak.net
Re:Nějaké info o nové verzi Delphi
« Odpověď #11 kdy: 24-10-2018, 09:48:46 »
Jakou ztrátu kompatibility? Kdo chce používat stávající deklarace může pro všechny verze. Kdo chce i inline, tak je to jeho rozhodnutí a kompatibilita vzhledem kupředu. Takže žádná ztráta.
Tomu, že kód s novou featurou nelze použít ve starších Delphi, já říkám ztráta. Speciálně za situace, kdy nelze jednoduše doplnit něco, co mi tu featuru umožní získat i ve starších Delphi (např. pomocí IFDEF STAREDELPHI doplním funkci, která v nich ještě nebyla). To tady podle všeho nemůžu - pokud chci inline proměnné, musím buď zahodit starší Delphi, nebo vlastně celý kód napsat dvakrát, čímž je veškerý přínos z větší přehlednosti v háji.

Citace
Výhody:
- zpřehlednění a bezpečnější kód (proměnná je platná jen kde programátor chce)
Té závorce nevěřím. Jsem si takřka stoprocentně jistý, že proměnná bude platná až do konce funkce, akorát na ni možná kompilátor nedovolí odkazovat.

Citace
- pry to je dulezite pro různé jiné moderní jazykové konstrukce, at uz existující (anonymní metody) nebo možné
Proto se ptám, protože mě žádná nenapadá.

Ostatní důvody beru. Hlavně je pro mě ale důležitý ten kód, protože jsem teprve z něj pochopil, že inline proměnnými se myslí definice var prom: typ; někde uvnitř těla funkce. Otázku jsem pokládal v domění, že se pod inline proměnnými myslí to, co zavedlo C++17. Důvod definovat funkce v body samozřejmě vidím a souhlasím, že by to bylo super - i když za sebe si myslím, že cena (ztráta kompatibility) je příliš vysoká.

Offline pepak

  • Guru
  • *****
  • Příspěvků: 1429
  • Karma: 34
    • Pepak.net
Re:Nějaké info o nové verzi Delphi
« Odpověď #12 kdy: 24-10-2018, 09:52:24 »
Nechápu v čem vidíte problém, za mne naprostá bomba
Nevidím problém. Jen jsem zároveň neviděl přínos (vypadalo to jako "změna pro změnu") a viděl jsem náklady. Nyní už vidím i ty přínosy (náklady bohužel stále jsou).

Za sebe bych třeba uvítal spíš něco na způsob maker, co by reflektovalo aktuální stav kompilátoru - abych mohl čtením nějaké built-in konstanty zjistit jméno aktuálního souboru, číslo aktuálního řádku, jméno aktuální funkce, jestli je nebo není nějaká funkce definovaná, jestli je nebo není nějaká unita v uses... Tohle všechno jsou mimochodem věci, které mohu bezpečně zaifdefovat, abych zachoval kompatibilitu se staršími Delphi.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2588
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:Nějaké info o nové verzi Delphi
« Odpověď #13 kdy: 24-10-2018, 09:57:03 »
Mohl bych poprosit o nějaké stručné nakopnutí, co mi inline variables přinesou? Konkrétně v kontextu Delphi - co teď Googluji, tak si dovedu představit jejich smysl pro C++, i když mi pořád připadá, že benefity ani zdaleka nevyrovnají ztrátu kompatibility, ale pro Delphi ty use cases nevidím.
Ty benefity jsou v "nehmotne" oblasti jako je pracnost a srozumitelnost/udrzovatelnost kodu. Jak si na to zvyknes, pak navrat k tupym doprednym definicim ti bude vadit s kazdy stiskem klavesy...

Kompatibilita se zda byt vaznou namitkou, ale to snad jen pro toho, kdo vytvari OSS nebo knihovny a potrebuje, aby jeden kod sel prekladat kde cim. Jinak s tim nemuze mit problem.


Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2588
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:Nějaké info o nové verzi Delphi
« Odpověď #14 kdy: 24-10-2018, 10:01:21 »
- pry to je dulezite pro různé jiné moderní jazykové konstrukce, at uz existující (anonymní metody) nebo možné
Moderni... IMHO to je jeden z duvodu, proc Delphi nema dodnes radne resenou persitenci, protoze deserializace vyzaduje bezparametricky konstruktor, aby se daly vytvaret anonymne vytvaret instance
« Poslední změna: 24-10-2018, 10:04:02 od pf1957 »