abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Zajímavý článek

    50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Pozvánky

    Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.

    TomasVondra | Komentářů: 0
    včera 03:00 | IT novinky

    Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].

    Ladislav Hagara | Komentářů: 6
    včera 02:00 | IT novinky

    Ještě letos vyjde Kingdom Come: Deliverance II (YouTube), pokračování počítačové hry Kingdom Come: Deliverance (Wikipedie, ProtonDB Gold).

    Ladislav Hagara | Komentářů: 3
    21.4. 19:11 | Komunita

    Thunderbird 128, příští major verze naplánovaná na červenec, přijde s nativní podporou Exchange napsanou v Rustu.

    Ladislav Hagara | Komentářů: 19
    21.4. 04:44 | Komunita

    Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Novým vedoucím je Andreas Tille.

    Ladislav Hagara | Komentářů: 7
    21.4. 00:11 | Nová verze

    Po osmi měsících vývoje byla vydána nová verze 0.12.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 268 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    20.4. 23:55 | Pozvánky

    Poslední měsíc byl plný zajímavých akcí, o kterých Vám bastlíři z projektu MacGyver mohou povědět, protože se na ně sami vydali. Kde všude byli, ptáte se? Objevili se na Installfestu, Arduino Day, Hackaday Europe a tajném srazu bastlířů z Twitteru. A z každé akce pro vás mají zajímavé poznatky.

    … více »
    bkralik | Komentářů: 1
    KDE Plasma 6
     (71%)
     (10%)
     (2%)
     (17%)
    Celkem 670 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Jazyk D - můj novej favorit

    21.2.2012 19:23 | Přečteno: 2260× | Programování | poslední úprava: 21.2.2012 20:50

    Za dobu co se věnuji programování jsem měl tu čest se seznámit hned s několika programovcími jazyky. Jmenovitě (chronologicky seřazeno) to byl Visual Basic, JavaScript, Xkarel :-), C, PHP, C++, Python, Ruby, Java, Perl, Pascal, Prolog, Lisp, Delphi (Lazarus) a Jazyk D. Každý z těchto jazyků mě nejak ovlivnil, něco se mi na něm líbílo a něco zase nelíbilo. Z výšše jmenovaných jsem nejvíce používal jazyky C(++), PHP a JavaScript. V ostatních jsem většinou napsal několik desítek, stovek řádků maximálně pár tisíců řádků. Poslední zmiňovaný Jazyk D bych teoreticky poznal už dříve (v seznamu by se posunul někam na pozici za Python a Ruby), ale tenkrát jsem mu něvěnoval velkou pozornost, jelikož v té době o něm bylo jen minimum informací. Znovu jsem se o něj začínal zajímat asi tak před půl rokem.

    Nebudu se zde moc rozepisovat o tom co to ten Jazyk D vlastně je, jelikož zde zrovna vychází seriál, tak pro ty co tento jazyk neznají, uvádím odkaz. Spíše zde napíši důvody proč mi tento jazyk imponuje.

    Základní výhodou je pro mě syntaxe velmi podobná C/C++, doteď jsem nejčastěji používal právě C++ v kombinaci s Qt toolkitem. Následně je pro mě velmi důležitý výkon (bráno jako rychlost běhu výsledné aplikace).  Co se výkonu týče, prováděl jsem několik testů a měření a výsledkem bylo, že rychlost výsledné binárky je ve většině případů približně stejná jako u C++. Samozřejmě vše je hodně závislé na tom, jak je daný test napsán. Na čem velmi záleží je zvolený překladač a parametry při kompilaci. Pro D2 (jazyk D ve verzi 2) existuje hned několik kompilátorů, a nutno dodat, že každý podával jiné výsledky. Pro své testy jsem používal GDC (GNU GCC D), LDC (LLVM D) a oficiální DMD (Digital Mars D) . Ve většině testů se jako lepší varianta ukázal GDC následovaný LDC a naposledním místě byl DMD. Ale je třeba dodat, že během posledních pár verzí DMD se výkon značně zlepšil, takže časem možná dosáhne stejných výsledků jako jeho kolegové. A druhá poznámka z praxe, vytvořil jsem v práci jednu menší aplikaci, nejednalo se tedy už přímo o žádný testovací kus kódu, ale o reálnou aplikaci. A u této aplikace jsem nejlepších výsedků dosáhl právě s DMD. Ale po malé úpravě kódu bylo zase GDC výkonější. Věc, která degradovala výkon GDC bylo zbytečné neustálé ralokování paměti při změně velikosti pole.

    Velkou výhodou oproti C/C++ je podpora modulů. Jestli je na C++ něco co mě opravdu štvalo, tak to byly komplikace způsoboné z nesprávným pořadím inkludů či potřeba dopředných deklarací atd. Celkově je syntaxe  D o proti C++ čistější a dle mého názoru přehlednější a logičtější. Další dobrou vlastností je existence standardní knihovny phobos, která je vcelku rozsáhlá a umí většinu potřebných věcí. Samozřejmě by se našlo pár věcí co mi tu chybí, ale věřím že se phobos bude nadále rozvíjet, takže do budoucna už bude umět úplně vše. Funkce které člověku chybí se dají řešit pomocí externích knihoven, těch ale moc není, ale díky  binární kompatibilitě s C, není problém používat Céčkové knihovny. Já osobně jsem během hodiny měl kompletně napsaný modul pro práci s mysql databází. A během druhé i pro postgresql. Existuje i projekt pod názvem Deimos, který zastrešuje různé knihovny v C obalené pro použití v D. O tom jak si napsat vlastní obalení okolo C knihovny bude možná, některý z mých dalších zápisků.

    Pro mě sice né zas tak obrovskou výhoou, ale stále velkou na to abych se o ní zmínil je podpora GC (garbage collector). Já osobně jsem většinou sice zvládal správu paměti v C/C++ sám, ale proč si nedopřád to pohodlí a nechat trochu té práce na GC. Pokud někomu GC nevyhovuje, tak D nabízí možnost  GC vypnout, ale výrazně se to nedoporučujě. Sám ho nechávám zaplý, krom toho i se zapnutým GC totiž můžete mazat objekty sami jak se vám zlíbí.

    Celkově se mi velice líbí univerzálnost použití tohoto jazyka. Kombinuje totiž prvky, které jsem obdivoval na jazycích jako je ruby a python s vysokým výkonem a nízko úrovňovým programováním a prvky funkcionálních jazyků. Jazyk D podporuje i inline assembler. Dokážu si představit použití tohoto jazyka jak pro různé desktopové a konzolové aplikace, tak i jako vhodný jazyk pro webový framework. Velice by se mi líbíilo, kdyby časem existovala mobilní platforma, která by pro psaní mobilních aplikací využívala práve jazyk D.

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    21.2.2012 19:41 John Hartigun | blog: Jeden z nejhorších blogů na abc
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Mě se zalíbil jazyk K. Funkce, která vypíše prvočísla od 1 do R:

    (!R)@&{&/x!/:2_!x}'!R

    Ray tracer se vejde na 7 řádků: http://www.nsl.com/k/ray/raya.k.
    Nothing sucks more than the moment during an argument, when you realize that you are wrong.
    kozzi avatar 21.2.2012 19:48 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit

    Wow, taky moc pekne, ale popravde na psani webovych aplikaci bych to asi nepouzival, ackoliv na nejake podulohy by se to hodilo.

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    21.2.2012 23:11 dady
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Řekl bych, že tomu prd rozumíš.
    Bystroushaak avatar 21.2.2012 20:01 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Další write only jazyk? :)
    Bluebear avatar 22.2.2012 10:00 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Hu. :-)
    To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...
    22.2.2012 11:42 xxxxxxxxxxxxxxxx | skóre: 2 | blog: xyzxyz
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Ehm.. tak to ja si radeji napisi funkci, sice o deset radku delsi, ale citelnejsi :-)
    22.2.2012 11:42 xxxxxxxxxxxxxxxx | skóre: 2 | blog: xyzxyz
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Ehm.. tak to ja si radeji napisi funkci v C, sice o deset radku delsi, ale citelnejsi :-)
    22.2.2012 12:22 ::: | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    ze ti to na prvni pohled pripada necitelny neznamena ze je to necitelny... jediny co z toho muzes odvodit je ze neznas syntaxi ;-)
    22.2.2012 12:24 xxxxxxxxxxxxxxxx | skóre: 2 | blog: xyzxyz
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Vsechno je citelne, ale do jake miry :D
    Bystroushaak avatar 22.2.2012 12:35 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Ten jazyk vypadá jako bytecode :)
    23.2.2012 17:08 xm | skóre: 36 | blog: Osvobozený blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Pojem "line noise" dostává nový rozměr! Tohle snad trumfne i Perl ;-)
    Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
    Bystroushaak avatar 21.2.2012 20:01 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Welcome to the herd :)
    O tom jak si napsat vlastní obalení okolo C knihovny bude možná, některý z mých dalších zápisků.
    O tom už jsem trochu napsal na czwiki4d.
    kozzi avatar 21.2.2012 20:08 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit

    to ja se spis rozepisu o tom jak predelat .h do .d

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    21.2.2012 20:59 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit

    Z linuxové sekce jsem pochopil, že se k D programu linkuje statická knihovna. To není, po čem by příčetný vývojář toužil. Co dynamické knihovny?

    A hlavně, co by se mi líbilo, by byl opačný postup, kdy v D napíšu knihovnu a tu pak linkuji k jiné céčkové aplikaci. To je totiž problém všech (snad až na objective C) vysokoúrovňových jazyků, že co v nich napíšete, zůstává zakleto pro daný jazyk. Například java má tohle standardizované (JNI), ale použití je značně kostrbaté a osobně mám pocit, že efektivita přenosu dat a volání mezi oběma systémy je bídná.

    Bystroushaak avatar 21.2.2012 21:02 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Přiznám se, že jsem to zatím nezkoušel, ale napíšu quakerovi, ten to tuším testoval.
    Bystroushaak avatar 21.2.2012 21:10 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    OK, takže jsem se ptal a:

    K D programům můžeš linkovat libovolné knihovny.

    Co se týče tvorby knihoven kompilátorem, jdou všude kromě unixu oba dva typy, na unixech zatím jen statické, podpora dynamických byla částečně (zatím bez exceptions a TLS) přidána v minulém releasu kompilátoru. Příští release by měl přinést kompletní podporu dynamických (release je jednou za ~měsíc).

    Linkovat C programy proti D knihovnám jde, jen před tím musíš inicializovat D runtime voláním nějaké funkce, tj vše.
    21.2.2012 22:12 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    To zní dobře. Příští vydání kterého překladače? gdc?
    Bystroushaak avatar 21.2.2012 22:24 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    DMD pokud je mi známo.
    kozzi avatar 21.2.2012 22:50 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit

    no me tusim zde funguje linkovani i dynamickejch a to jak ldc, gdctak dmd

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    Bystroushaak avatar 21.2.2012 23:16 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Jak jsem psal (zprostředkoval) - v současné verzi to prakticky funguje, ale chybí pár vychytávek.
    kozzi avatar 21.2.2012 23:23 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit

    JJ, me slo spis o to ze to jde jak v dmd tak i ldc, gdc sice jde alejen nekdy a nejak to blbne

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    21.2.2012 21:14 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    To je totiž problém všech (snad až na objective C) vysokoúrovňových jazyků, že co v nich napíšete, zůstává zakleto pro daný jazyk.
    Například v Haskellu to jde.
    21.2.2012 22:15 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Úžasné. Nevíte jak se to chová, když výsledek výpočtu v haskelu se nevejde céčkového intu? SIGABRT nebo to lze ošetřit ve wrapperu co používá fromIntegral?
    22.2.2012 00:27 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Nevíte jak se to chová, když výsledek výpočtu v haskelu se nevejde céčkového intu?
    Nastane přetečení.

    Zde je zdrojový kód odkazovaného příkladu (k funkcím fromIntegral jsem doplnil typy):
    fibonacci :: Int -> Int
    fibonacci n = fibs !! n
        where fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
    
    fibonacci_hs :: CInt -> CInt
    -- S typy:
    -- fibonacci_hs = (fromIntegral :: Int -> CInt) . fibonacci . (fromIntegral :: CInt -> Int)
    fibonacci_hs = fromIntegral . fibonacci . fromIntegral
    
    foreign export ccall fibonacci_hs :: CInt -> CInt
    
    V příkladu pravý fromIntegral převede hodnotu typu CInt na Int a v případě, že by rozsah CInt byl větší než rozsah Int (norma Haskellu garantuje minimální rozsah typu Int 30 bitů), tak číslo přeteče. Levý fromIntegral provádí převod opačným směrem, a opět hodnota může přetéct.

    CInt je typ Haskellu, jenž umí reprezentovat všechny hodnoty typu int z C.
    21.2.2012 20:26 dad
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    ...Jestli je na C++ něco co mě opravdu štvalo, tak to byli komplikace způsoboné z nesprávným pořadím inkludů ...

    te vete skutecne nerozumim ('byli' je ted vedlejsi, ale mozna to bude po doplneni spravne)
    kozzi avatar 21.2.2012 20:50 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit

    Ach ta ma cestina, ma tam samozrejme byt tvrde y. jinak tuto vetu jsm nenapal nejstastneji. Chtel jsem proste rict, ze s hlavickovymi soubory je to proste obcas zazitek, protoze narozdil od modulu se jedna o prime vlozeni souboru,kdezto u modulu v jazyce D se jedna jen o exportovani symbolu. Jinak k tomu poradi pokud prvne vlozim soubor kterej ocekava treba nejakej typ a az nasledne soubor kde je danej typ definovan tak se dostanu do potizi.

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    xxx avatar 21.2.2012 21:11 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Premyslel si proc hlavickove soubory, az podezrele casto, zacinaji
    #ifdef
    Please rise for the Futurama theme song.
    Bystroushaak avatar 21.2.2012 21:14 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Protože jazyk saje? :P
    kozzi avatar 21.2.2012 23:09 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit

    Ano toto makro samozrejme znam, ale neni to vse spasne a hlavne to resi jen problem ze se nenainkluduje soubor vicekrat a nefunguje to uplne vzdy dobre, uz jsem zazil situace kdy se mi to stejne vlozilo vickrat.

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    Luboš Doležel (Doli) avatar 22.2.2012 00:28 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Zlaté microsoftí #pragma once!
    Luboš Doležel (Doli) avatar 22.2.2012 00:30 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Koukám na Wikipedii, že to už zase není v GCC označené jako obsolete. Vida.
    21.2.2012 21:12 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    ja som si oblubil python, s whitespacami som sa zmieril -- dokonca uznavam, ze to je vyhoda, ked to nuti prasata pisat pekne.

    takze nie je pekny a sikovny ako ruby, ale hlavne si ma ziskal tym, ze je vykonnejsi a ma naozaj kopec pouzitelnych kniznic (to su dve veci, ktore ruby zrazaju)
    Bystroushaak avatar 21.2.2012 21:15 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    No, Python je něco kompletně jiného. Ale z vlastní zkušenosti můžu říct, že přepisovat z D do pythonu lze skoro 1:1 (spíš 1.2:1), což se o žádném jiném jazyce, který jsem poznal říct nedá, tam je to většinou tak 10:1.
    21.2.2012 21:22 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    RLE v Haskellu je kratší než RLE v Pythonu ;-)
    21.2.2012 21:35 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    mne ide najma o dynamicke typovanie. nevymenil by som ho ani za nic, efektivita "through the roof".

    chapem, ze totalna spolahlivost sa lepsie ustrazi statickym typovanim a kontrolou pri kompilacii a tiez v "enterprise" sa tym daju lepsie ustrazit prasaciny, ale naozaj je to otrava na prototypovanie. nie je to hacker friendly (priklad: java).
    kozzi avatar 21.2.2012 23:11 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit

    Vsak co vim tak python je na tom dost podobne co se typovani tyce jako D, pokud promenou pouziji jako int tak uz je stale int ne? Sice se ta typy neuvadeji ale to je tak vse

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    Bystroushaak avatar 21.2.2012 23:21 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Jenže v pythonu proměnná intem zůstat nemusí :)

    V D je možné tohle simulovat použitím auto jako specifikátoru typu, při kterém si ho kompilátor sám odvodí datový typ podle použití, což ovšem opět neumožňuje použití jedné proměnné na cokoliv. V phobosu je typ variant, který tak použít jde.

    Na druhou stranu, mě statické typování v D vyhovuje do té míry, že ho používám často radši než python :)
    kozzi avatar 21.2.2012 23:25 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit

    Opravdu nemusi, aha tak to jsem to nekde spatne cetl :), ja stejne vzdy i v pythonu, PHP atd zachovaval to ze jedna promena vzdy reprezentuje stale ten stejny typ

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    Bystroushaak avatar 21.2.2012 23:28 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Ono je to až na vyjímky lepší pro zachování duševního zdraví :)
    kozzi avatar 21.2.2012 23:36 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit

    JJ, ono kdyz pak clovek prepisuje po nekom kod a promena title na zacatku obsahuje nejaky retezec, uprostred je to pole a nakonec kdyz se dostane az k return title, tak zjisti ze to vraci cislo :D

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    22.2.2012 08:31 JS
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Opravdu solidni jazyky tento problem resi. Bohuzel vsak dosud neexistuji.
    22.2.2012 16:12 lmb
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    ??
    Staticky typované jazyky neexistují ?
    22.2.2012 16:29 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Dynamicky typované jazyky jsou speciálním případem staticky typovaných jazyků.
    22.2.2012 16:32 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Stejně tak se dá říct opak, takže bych řekl, že to je zcela irelevantní informace :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    Bystroushaak avatar 22.2.2012 16:52 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Staticky typované to řeší imho jen částečně, to pravé ořechové jsou matematicky verifikovatelné jazyky, které pokud vím v současnosti stále neexistují.
    22.2.2012 16:55 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Existují. A jsou v zásadě k ničemu a z povahy věci vždycky budou. I když Radek bude říkat něco jiného :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    22.2.2012 18:08 lmb
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    U silně staticky typovaných jazyků jako např. haskell (98 i 2010) je uvedený příklad (řetězec -> pole/seznam -> číslo) neproveditelný.

    Kód mimo funkcí v IO monádách je s drobnými omezeními verifikovatelný (např. Zeno). No a pak je tu ještě Agda nebo Coq ;-)

    22.2.2012 18:26 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    U silně staticky typovaných jazyků jako např. haskell (98 i 2010) je uvedený příklad (řetězec -> pole/seznam -> číslo) neproveditelný.

    Technicky vzato mohu napsat
    coerce = coerce
    
    a přetypovat cokoliv na cokoliv. Další nepříjemností Haskellu je, že nemá induktivní typy, takže není možné použít matematickou indukci.
    22.2.2012 19:42 lmb
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Uvedený výraz coerce = coerce lze "přetypovat" jen jednou a to buď explicitním uvedením signatury nebo typovou inferencí, tzn. v celém programu má jedinečný typ. Tedy AFAIK, stále se haskell teprve učím.

    Haskell nemá induktivní typy ? Např. Maybe Int nebo String nejsou ?

    22.2.2012 20:50 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Pokud neurčím jinak, tak kompilátor odvodí nejobecnější typ, a to coerce :: forall a. a – všimněte si toho kvantifikátoru – za a mohu dosadit cokoliv.

    Hodnoty induktivně definovaného typu vzniknou konečnou aplikací "zobecněných nul" (u seznamu Nil) a "zobecněných následníků" (u seznamu Cons). Jenže například repeat 'c' je hodnota typu String resp. [Char], která vznikla nekonečnou aplikací.
    23.2.2012 18:48 Ondra
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    tohle, prosim, rozvedte. nejsem si moc jisty, jak vas chapat. prijde mi, ze nejdrive reknete, ze Haskell induktivni typy nema, ale pak vzapeti pisete, jo. :-)
    23.2.2012 19:31 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Nekonečný seznam nepatří do množiny induktivně definovaných seznamů stejně jako "nekonečné přirozené číslo" S(S(S(...))) nepatří do množiny přirozených čísel. Například následující typ v Haskellu je vlastní nadmnožinou přirozených čísel (přirozená čísla neobsahují inf = S inf):
    data Peano = O | S Peano
    
    23.2.2012 08:46 JS
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Existuje dosud neprozkoumana (podle meho soudu, ale asi jsem na ABCL asi jediny.. :-)) trida jazyku, ktera sjednocuje staticke a dynamicke typovani (nebo lepe, vyhody obou). A nejsou to verifikovatelne jazyky, i kdyz ty do te tridy patri take. Teste se na budoucnost, bude zajimava!
    23.2.2012 08:50 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Co máš na mysli? Volitelné typy (optional typing) ze Strongtalku (a Dartu) asi ne, ale nic jiného mne nenapadá :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    23.2.2012 09:55 JS
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Uz jsme se o tom bavili, pred casem. Zadny progres ovsem v tom smeru nemam.. (lenost a jine projekty)
    23.2.2012 09:57 JS
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    A mimochodem, neco podobneho nedavno zminovali tady. Eventualne se ten spor rozresi prostrednictvim interaktivnich systemu.
    23.2.2012 10:08 JS
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    A jeste mimochodem, jazyk Julia, co v tom blogu zminuji na zacatku, taky vypada zajimave. Nejspis to zkusim nekdy pouzit na sve matematicke projekty.
    23.2.2012 10:45 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Jiná možnost je, že programátor popíše vlastnosti (typ) funkce a kompilátor k nim automaticky vygeneruje konstruktivní důkaz (funkci) jako to umí Djinn.
    23.2.2012 16:35 JS
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Uvazujete nad tim moc matematicky. Jina moznost je fyzika. :-) Napisete program, provedete experiment (spustite ho na nejakych datech), a prekladac doplni typy na zaklade vysledku experimentu.
    Bystroushaak avatar 23.2.2012 17:08 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Imho bys o tom měl napsat minimálně článek.
    23.2.2012 19:01 JS
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Tak ja jsem o tom na nejaky blogpost tady psal (bohuzel zde hloupy vyhledavac to nedokaze najit). Nechci o tom napsat clanek z duvodu uvedenych tam. Ale diskusi uvitam.
    Bystroushaak avatar 23.2.2012 20:31 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Já jsem to tenkrát četl, ale rád bych si na tohle téma přečetl něco uceleného. Pro tebe by to mělo výhodu v tom, že by sis aspoň utřídil myšlenky (nic je neutřídí lépe než psaní článku).
    23.2.2012 20:41 JS
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Ja jsem prave chtel, aby je utridilo psani te implementace. ;-)
    23.2.2012 18:04 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    takze zase nic pre interaktivne programy (nativne, web aplikacie)
    23.2.2012 19:03 JS
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Co byste si tak predstavoval?
    23.2.2012 20:09 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Napisete program, provedete experiment (spustite ho na nejakych datech), a prekladac doplni typy na zaklade vysledku experimentu.
    Jak se ale zajistí, že odvozené typy budou správné i pro jiné běhy? Podobnou věc mohu udělat abstraktní interpretací.
    23.2.2012 20:40 JS
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    To se nezaruci. Proto to jeste zkoukne programator. ;-) Ono kdyz se podivate na programy v realnem svete, tak tohle by pomohlo opravdu vic nez snazit se vsechno dokazat.

    Je to proste klasicky spor logicka dedukce vs. logicka indukce. Co vydedukujete bude 100% spravne, ale zase toho bude mene a slabsi. Indukci dostanete ne 100% spravny vysledek, ale zase se dozvite plno zajimavych veci. Ten muj pristup dedukci nevylucuje, kdezto ciste logicke formalni systemy indukci ano.
    23.2.2012 12:46 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Ja tak obcas programuju uz dnes. Nabusim v Jave rychle kod a pak jedu pres errory a warningy a nechavam Eclipse at to opravi, napr. deklaruje promenne, odvodi spravny typ, atd. Obcas cumim, kolik kodu Quickfix vygeneruje za me.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    23.2.2012 11:27 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Aha, tohle. Nějak jsem si to neasocioval s typovými systémy :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    22.2.2012 08:30 JS
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Základní výhodou je pro mě syntaxe velmi podobná C/C++
    Tohle moc nechapu, a nechapal jsem to ani u Javy nebo C#, a vlastne retrospektivne ani u C++ (vuci C). Prijde mi to jako takova vejicka na uzivatele - pojdte sem, mame skoro stejnou syntax! Ale ve skutecnosti se v tech jazycich programuje jinak a maji zcela jine zakladni knihovny. Syntax je jen mala cast toho, co musite znat. A ten rozdil se zvetsuje s tim, jak se jazyky vyviji. Jelikoz D je (doufam) jeste stale ve vyvoji, je to trochu podfuk, ne?
    Bystroushaak avatar 22.2.2012 08:43 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Ano a ne. Já jsem za C like syntax většinou rád, protože člověk nemusí do hlavy dostávat úplně nový způsob zápisu programu. Díky tomu se kód lépe čte, tedy alespoň mě. Když mám číst VHDL, pascal nebo go, tak je mi z toho do blití :)
    22.2.2012 08:35 JS
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Mimochodem, da se Qt pouzivat z D? Kdyby jo, byl by to zavazny duvod ho zkusit. Ja sice v C++ nic nepisu, ale kdybych musel, bez Qt bych si to nedovedl predstavit.
    kozzi avatar 22.2.2012 09:03 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit

    Ano Qt ma i port pro D jmenuje se QtD

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    kozzi avatar 22.2.2012 09:10 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit

    Ale popravde jsme to nestestoval jak moc je to funkcni a i vyvoj se zda ze je momentalne pomalej, pokud jsme se dival tak 10 mesicu na to nikdo nechytl, ale duvodem muze byt ze proste nebylo treba :)

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    22.2.2012 11:57 xxxxxxxxxxxxxxxx | skóre: 2 | blog: xyzxyz
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Jak je to vubec s tim Dckem? Nezajimaji me moc ruzne knihovny, ale spise kompatibilita a podobnost s C/C++. Citace tady z abicka: high-level programovací jazyk s přístupem k low-level interface .... takze se v tom daji naprogramovat os / drivery ? Zachovává ABI kompatibilitu s C a částečně i s C++ ... jen ABI? Takze pisi aplikaci a rozhodnu se pozdeji, ze to budu psat dale v Dcku... to to musim cele prepsat? Jaka je rychlost aplikaci v Dcku? Je to rychlejsi nez C++ (pouzivam to jako C s OOP + dalsi ruzne finty - jmenne prostory, template funkce atd..)? Nebo je to takovy C# s low level pristupem? Nechci zakladat flame, tahle otazka miri k lidem, kteri jiz v Dcku delaji nejaky ten patek. Dekuji za odpoved.
    Bystroushaak avatar 22.2.2012 12:38 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Na většinu těchto otázek najdeš odpovědi na titulní straně czwiki4d.
    22.2.2012 12:48 xxxxxxxxxxxxxxxx | skóre: 2 | blog: xyzxyz
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Musim te pochvalit, ze jsi si dal tu praci udelat strucny prehled. Diky. Ale tak trochu tam nechapu ten carbage collector (kdyz se jedna o systemovy jazyk), jeste ze se da vypnout...
    Bystroushaak avatar 22.2.2012 13:03 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    S garbage collectorem je svět o hodně hezčí :)

    Jinak tam není jen stručný přehled, jsou tam i návody a něco jako tutoriál, zatím nedokončený.
    22.2.2012 13:12 xxxxxxxxxxxxxxxx | skóre: 2 | blog: xyzxyz
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    jj tedkom to vidim...hezka prace... ja carbage collector nemam moc v lasce, proto jsem zustal verny C/C++ jazykum a nesel do Javy atd... proto taky preferuju destruktory v C++.
    22.2.2012 13:55 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    inak z jazykov v tomto smere je mi sympaticky Vala. je to to, co malo byt C++: syntactic sugar pre ciste C, s garbage collectorom a modernou objektovou standardnou kniznicou (glib).

    keby som velmi velmi potreboval vyvijat nieco rychle a python by nestacil, tak by som dal skor sancu tomu nez D.
    kozzi avatar 22.2.2012 14:53 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit

    JJ vala vypada moc pekne, treba se k ni taky nekdy dostanu, ale zatim jsem jenom u D a V je prece jen jeste daleko :D

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    =^..^= AmigaPower® avatar 23.2.2012 00:03 =^..^= AmigaPower® | skóre: 30 | blog: BLB | Praha
    Rozbalit Rozbalit vše Re: Jazyk D - můj novej favorit
    Ty Huláne! :-D

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.