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í
×
    včera 14:55 | IT novinky

    Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.

    Ladislav Hagara | Komentářů: 7
    včera 11:44 | Zajímavý software

    NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    včera 10:55 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.

    Ladislav Hagara | Komentářů: 0
    6.6. 20:55 | IT novinky

    IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.

    Ladislav Hagara | Komentářů: 0
    6.6. 10:44 | Zajímavý článek

    Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.

    Ladislav Hagara | Komentářů: 34
    6.6. 01:00 | Nová verze

    Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    6.6. 00:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    5.6. 16:44 | IT novinky

    Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.

    Ladislav Hagara | Komentářů: 10
    5.6. 10:44 | Nová verze

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.

    Ladislav Hagara | Komentářů: 0
    5.6. 10:22 | Nová verze

    Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.

    Ladislav Hagara | Komentářů: 2
    Rozcestník

    Jazyk D - můj novej favorit

    21.2.2012 19:23 | Přečteno: 2261× | 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.