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

Online pf1957

  • Padawan
  • ******
  • Příspěvků: 2594
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:Nějaké info o nové verzi Delphi
« Odpověď #15 kdy: 24-10-2018, 10:10:54 »
Problem vidim prave v tom ze muzes napsat oboji. Zive si dokazu predstavit jaky zmatek s tim nedusledni programatori napachaji.
No to do urcite miry problem byt muze, zejmena u projektu, ktere se budou migrovat do novych Delphi. Tam se sice da organizacne predepsat, aby se pouzival nadale stary zpusob, ale prakticky to urcite nebude fungovat, takze se tam budou michat oba dva styly. Ale osobne vim, ze cokoli mi usnadni zivot, tak moje hlava vstreba v podstate mimodek a to, co ji pridelava praci, tomu se intenzivne vzpira.

A myslim, ze ani namitka zameny tridy pri inferenci typu je v podstate banalni a bude drive ci pozdeji odhalena, protoze se to v podstate vztahuje k automatickym promennych. A pokud je to neco na urovni class-scope, tak tam to pouzit nejde.



Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2358
  • 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ěď #16 kdy: 24-10-2018, 10:21:34 »
- 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

bezparametricky konstruktor jako např. záznamu? uvidime
Embarcadero MVP - Czech republic

Online pf1957

  • Padawan
  • ******
  • Příspěvků: 2594
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:Nějaké info o nové verzi Delphi
« Odpověď #17 kdy: 24-10-2018, 10:26:26 »
bezparametricky konstruktor jako např. záznamu? uvidime
Zaznam, to je takovy divny "hodnotovy" element, ktery buhvi proc zazil reinkarnaci :-O To vypada jako takove zjednodusijici siditko, ale jakmile to nastrkas do generic, tak zacnou byt problemy se spravou zivotniho cyklu a stejne to konci konverzi na regulerni class.
« Poslední změna: 24-10-2018, 10:32:28 od pf1957 »

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2358
  • 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ěď #18 kdy: 24-10-2018, 11:52:09 »
bezparametricky konstruktor jako např. záznamu? uvidime
Zaznam, to je takovy divny "hodnotovy" element, ktery buhvi proc zazil reinkarnaci :-O To vypada jako takove zjednodusijici siditko, ale jakmile to nastrkas do generic, tak zacnou byt problemy se spravou zivotniho cyklu a stejne to konci konverzi na regulerni class.

buhviproc? protoze u zaznamu, stringu a interface je uz dlouho vyreseno automaticke uvolnovani pameti
Embarcadero MVP - Czech republic

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2358
  • 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ěď #19 kdy: 24-10-2018, 12:00:13 »
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.

Já být tebou bych si na to nevsadil. Už jen logicky to musí fungovat podobně třeba jako u vnořené procedury, nebo snad i anonymní metody (tam je to pro mne pořád celkem velká magie), jen se prostě scope jinak ohraničí. Ale na potvrzení si budeme muset počkat.
Embarcadero MVP - Czech republic

Offline František

  • Guru
  • *****
  • Příspěvků: 519
  • Karma: 6
    • Verze Delphi: primárne v XE5, občas 10.2.3 comunity
Re:Nějaké info o nové verzi Delphi
« Odpověď #20 kdy: 24-10-2018, 12:34:43 »
zaujímavé inak, že som to v poslednej roadmape priamo nenašiel ...
možno toto: "additional syntax improvements" (10.3)

Offline Ondřej Pokorný

  • Guru
  • *****
  • Příspěvků: 815
  • Karma: 59
    • Verze Delphi: Primárně Lazarus, jinak D7 až aktuální
    • Kluug.net
Re:Nějaké info o nové verzi Delphi
« Odpověď #21 kdy: 24-10-2018, 13:32:16 »
Za mně je největší bomba konec ARC. Od začátku jsem to kritizoval. Teď ještě zrušit 0-based stringy a opravit string helper, aby např. TStringHelper.IndexOf neházel výsledek od nuly.

Fakt nevím, jaký k*k*ti to tenkrát vymysleli, prosadili a nakonec i zavedli... AppMethod stejně prakticky okamžitě po vydání zapíchli - akorát kvůli tomu udělali v Delphi bordel (ARC, 0-based strings) a teď to budou horko těžko dávat nějak dokupy :/ Třeba ten TStringHelper.IndexOf se nedá opravit, aniž by zrušili kompatibilitu mezi verzemi.

No nic, k Delphi se stejně vrátím maximálně, když budu potřebovat napsat nějakou mobilní appku, tak mi to může být i jedno.
Embarcadero Technology Partner

Offline Ondřej Pokorný

  • Guru
  • *****
  • Příspěvků: 815
  • Karma: 59
    • Verze Delphi: Primárně Lazarus, jinak D7 až aktuální
    • Kluug.net
Re:Nějaké info o nové verzi Delphi
« Odpověď #22 kdy: 24-10-2018, 13:42:46 »
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.

Já být tebou bych si na to nevsadil. Už jen logicky to musí fungovat podobně třeba jako u vnořené procedury, nebo snad i anonymní metody (tam je to pro mne pořád celkem velká magie), jen se prostě scope jinak ohraničí. Ale na potvrzení si budeme muset počkat.

https://plus.google.com/u/0/photos/photo/101947654489970802434/6615652239303236002?icm=true&iso=false&ftu=false

Citace
Delphi: Inline variables and constants
- scope is limited to block
- Lifetime is limited to block - destroyed on block end
- Tightly scoped - cleaner code
Embarcadero Technology Partner

Offline Ondřej Pokorný

  • Guru
  • *****
  • Příspěvků: 815
  • Karma: 59
    • Verze Delphi: Primárně Lazarus, jinak D7 až aktuální
    • Kluug.net
Re:Nějaké info o nové verzi Delphi
« Odpověď #23 kdy: 25-10-2018, 08:03:38 »
Excellent
Rated 1 time
Abych pravdu řekl, zatím jsem nějak přehnaně nestudoval, co by bylo na mobilní vývoj nejlepší. Ale vzhledem k tomu, že jsem zarytý příznivce Pascalu, tak Delphi bude jeden z prvních nástrojů, které budu brát v úvahu.

Schodou okolností jsem včera aktualizoval moji XML knihovnu OXml a tak jsem ji potřeboval otestovat, jestli funguje i na ARC. No strávil jsem s konfigurací mého androidího telefonu celý večer. Nakonec se mi deploy teda nějak podařil, ale debugger jsem nerozchodil - chybová hláška. Rychlost kompilace&deploy byla doopravdy strašná. Moc nadšený jsem suma sumárum nebyl.

A přitom to mělo Embarcadero prakticky ložené: kdyby se nepatlali s AppMethod fíčurama, které akorát zmastily kompatibilitu mezi win32 a mobile, tak si člověk napíše a otestuje mobilní aplikaci na desktopu a může spoléhat na to, že na mobilu to poběží taky s minimem problémů. V tom případě by pomalý mobile compile&deploy ani moc nevadil.

S tímhle gulášem, že každá platforma má jinak nastavený kompilátor, je to fakt na palici. Teď je to tak, že člověk musí řešit, aby mu kód běžel na ARC i non-ARC, nesmí zapomenout na direktivy zrušení 0-based strings. Nebo to vyvíjí jen čistě na mobile, ale to se snad kvůli ultra pomalému kompilátoru a ladiči snad ani nedá. Prostě vopruz. Ale to už jsem psal dávno a furt se opakuju...

Tak třeba to dá Embarcadero dokupy, než budu mobilní aplikace potřebovat.
« Poslední změna: 25-10-2018, 08:15:54 od Ondřej Pokorný »
Embarcadero Technology Partner

Offline Ondřej Pokorný

  • Guru
  • *****
  • Příspěvků: 815
  • Karma: 59
    • Verze Delphi: Primárně Lazarus, jinak D7 až aktuální
    • Kluug.net
Re:Nějaké info o nové verzi Delphi
« Odpověď #24 kdy: 25-10-2018, 08:13:46 »
- 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

Nedávno jsem se serializaci&deserializaci v rámci Delphi RTTI docela dost věnoval a můj OXml deserializer recordy vytvářet umí - a umí i automaticky vytvářet interface/třídy v rámci recordu.

Bezparametrický konstruktor k tomu není nutná podmínka. Navíc ho můžeš nahradit static class function:
Kód: Delphi [Vybrat]
  1. program Project1;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. type
  6.   TMyRec = record
  7.   private
  8.     FInt: Integer;
  9.   public
  10.     property Int: Integer read FInt;
  11.     class function Create: TMyRec; static;
  12.   end;
  13.  
  14. { TMyRec }
  15.  
  16. class function TMyRec.Create: TMyRec;
  17. begin
  18.   Result.FInt := 123;
  19. end;
  20.  
  21. var
  22.   R: TMyRec;
  23. begin
  24.   R := TMyRec.Create;
  25.   Writeln(R.Int);
  26. end.

Jinak samozřejmě nechápu, proč Delphi bezparametrický konstruktor nemá.
Embarcadero Technology Partner

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2358
  • 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ěď #25 kdy: 25-10-2018, 08:26:53 »
No nic, k Delphi se stejně vrátím maximálně, když budu potřebovat napsat nějakou mobilní appku, tak mi to může být i jedno.

I Ty, Brute?

On tím myslel ze používá primárně Lazarus.
Embarcadero MVP - Czech republic

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2358
  • 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ěď #26 kdy: 29-10-2018, 11:17:30 »
Marco: Introducing Inline Variables in the Delphi Language - http://blog.marcocantu.com/blog/2018-october-inline-variables-delphi.html
Embarcadero MVP - Czech republic

Offline pepak

  • Guru
  • *****
  • Příspěvků: 1436
  • Karma: 34
    • Pepak.net
Re:Nějaké info o nové verzi Delphi
« Odpověď #27 kdy: 29-10-2018, 17:49:05 »
Zajímavé, tak skutečně život proměnné skončí na konci jejího bloku.

Offline Radek Červinka

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

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2358
  • 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ěď #29 kdy: 05-11-2018, 10:22:53 »
Další info: Android Z-Order a platform native prvky pro Android - http://delphi.org/2018/11/android-z-order-native-controls-and-10-3-rio/

Embarcadero MVP - Czech republic