0:00:15 | tak já jsem se brát s přepravou přednášku programovacích jazycích z jednoho prostého důvodu |
---|
0:00:20 | protože vlastně už šumem brání |
---|
0:00:23 | sem kdysi měl problémy se učit cizí jazyky jakékoli další jazyky |
---|
0:00:27 | ale přesto se měl velké nutkání jsem velice tak zaktivněn velice přesně vyjadřovat a dost |
---|
0:00:34 | často se nenacházel slova gramatiku sémantiku a podobně tomu aby se mi to podařilo |
---|
0:00:39 | aha |
---|
0:00:40 | tak jsem se zajímal o jazyky |
---|
0:00:42 | běžné řekněme nejprve |
---|
0:00:44 | nám o to jsem se rozhodl strach informatiku tak já jsem se zajímal jako programovací |
---|
0:00:49 | jazyky |
---|
0:00:51 | jako takové |
---|
0:00:52 | a |
---|
0:00:53 | právě |
---|
0:00:54 | v průběhu mých studií zrovna na této fakultě |
---|
0:00:57 | sem nehledal jakýsi mezi ve kterém jsem pracoval příjemně ve kterém bych se mohl velice |
---|
0:01:02 | stručně a přitom jasně vyjadřovat |
---|
0:01:05 | který by splňoval moderní požadavky to znamená pokud tak ajťáci tak tušíte co tím asi |
---|
0:01:10 | mám na mysli |
---|
0:01:11 | pro ostatní co to může odnášet tak je to nějaká rychlost jednoduchost použití čitelnost testovatelnost |
---|
0:01:18 | a kromě rozšiřitelnost pochopitelně tak dále |
---|
0:01:22 | takže |
---|
0:01:23 | to sou asi tu peníze odrážky a teď bych se dostal k té třetí suše |
---|
0:01:28 | jakási ideologie kultura s tím jazyky souvisejí |
---|
0:01:32 | možná se si všimli že jazyky nejenom programovací obecně jsou velice úzce navázané na kulturu |
---|
0:01:38 | v ip jelikož to je velice mladý obor tak se nám většinou zrodily takzvané ideologické |
---|
0:01:45 | jazyky které vycházejí z nějaké velice |
---|
0:01:49 | strukturované |
---|
0:01:50 | ideologie například funkcionální programování kde se na všechno díváte jako na matematickou funkci a snažíte |
---|
0:01:57 | se veškerý ekosystém přizpůsobit právě tomuto |
---|
0:02:00 | vnímání |
---|
0:02:01 | a ukazuje se že tento přístup není úplně vhodný protože |
---|
0:02:08 | pro programovací jazyk s ty stejně jako běžné jazyky jednoho dne se vymkl kontrole kozlovka |
---|
0:02:14 | a dostanou se do míst kde s ním nikdo nikdy nepočítal a kam se podstatě |
---|
0:02:18 | jen tolik nehodí ale z nějakého důvodu |
---|
0:02:20 | je někdo nucen je tam použít |
---|
0:02:22 | a vtom prostor těchto případech vznikají velké problémy a právě proto vlastně ip se říká |
---|
0:02:29 | že třeba nejhůře benešova tell me obor protože nikdo neví jak přistoupit právě tomdlectom problému |
---|
0:02:36 | a kdy se všechno mění a vlastně to není kompatibilní nefunguje vám to a je |
---|
0:02:40 | to strašně složité |
---|
0:02:42 | takže |
---|
0:02:43 | todlecto je vlastně jazyk ohledně toho dál který se snaží těmto problémům aspoň trochu předcházet |
---|
0:02:49 | snaží se podchytit tyto situace snaží se |
---|
0:02:53 | aha vcítit do těch lidí do jejich potře |
---|
0:02:56 | a nějakým způsobem se s tím vyrovnat dozvíme se o tom dále |
---|
0:03:00 | a |
---|
0:03:01 | jazyk je podstatě pro ty kteří tady naprogramovali případně program umí tak je to podstatě |
---|
0:03:06 | něco |
---|
0:03:07 | kde |
---|
0:03:08 | my se snažíme přenést informaci naších hlavy |
---|
0:03:12 | do počítače a to po pokud možno nějaké strukturované formě aby to bylo zase zpětně |
---|
0:03:17 | námi čitelné a pochopitelné |
---|
0:03:19 | ale zároveň aby to bylo dostatečně formální |
---|
0:03:22 | aby ten počítač přesně věděl co s tím má dělat |
---|
0:03:27 | objevují se programovacích jazycích pochopitelně další něco jako fráze nějak něco jako idiom je prostě |
---|
0:03:32 | nějaký jakoby korektní způsob jak dělat nějakou malou činnost |
---|
0:03:37 | a |
---|
0:03:37 | toto vy vlastně podobnosti s nima běžným jazykem takže to se týká tohodlectoho prvního slajdu |
---|
0:03:42 | který měl |
---|
0:03:44 | říct nějak něco o tom jaký je vztah mezi programovacím jazykem |
---|
0:03:48 | a možným rizikem |
---|
0:03:51 | tak teďka se nepřestanete ip části a začneme se trochu více zabývat |
---|
0:03:55 | je na konkrétním a věci na |
---|
0:03:58 | takže my sme se snažili aby ten jazyk byl velice jasný aby se v něm |
---|
0:04:03 | dalo vyjadřovat velice stručně |
---|
0:04:05 | a konkrétně |
---|
0:04:06 | a aby umožňoval různé typy kontroly |
---|
0:04:09 | pod tou kontrolou si programátor představí jak tom sou flow to znamená nějaké wifi podmínky |
---|
0:04:15 | before a tak dále |
---|
0:04:17 | ale může si po tím představit i nějaké vyšší konstrukce |
---|
0:04:21 | objektové programování |
---|
0:04:23 | modularitu a tak dále |
---|
0:04:25 | a všimli jsme si že |
---|
0:04:28 | na velkou výhodu dnešním světě jazyku tvoří něco jako interfejsy to znamená vás nezajímá co |
---|
0:04:35 | je té černé krabičce ale zajímá vás jak s tou krabičkou vlastně chcete komunikovat a |
---|
0:04:40 | co ji chcete před a za informaci a co si vodní zase chcete vybrat |
---|
0:04:45 | další věc která je dneska |
---|
0:04:47 | pravděpodobně největším problémem software a římě je to souběžný paralelizmus |
---|
0:04:53 | když se podíváte na dnešní jazyk jako mají podporu pro paralelizmus tak se většině programátorů |
---|
0:04:58 | zježí všechny chlupy na těle protože ovládnout pro vezmu si dneska složité a hlavně z |
---|
0:05:03 | důvodu bezpečnosti |
---|
0:05:05 | vy musíte hlídat ohromné množství proměnných ohromné množství prostě různejch tácků který se můžou a |
---|
0:05:10 | nemůžou dělit a tak dále |
---|
0:05:13 | takže todlecto je další z velká z velkých věcí tedy ten to pro tento programovací |
---|
0:05:18 | jazyk dalo chce řešit a řeší |
---|
0:05:22 | dále i přes to všechno co to ne programovací jazyk |
---|
0:05:26 | jasně zvládá nebo nějakým způsobem řeší tak a je tam pořád ten silný asi tak |
---|
0:05:31 | že se musí že sme chtěli tento pro práci jazyk zabudovat řadu nějakého zařízení to |
---|
0:05:36 | znamená ta programovací jazyk musí mít malý |
---|
0:05:39 | případně když není malý tak musí mít jednoduše možné z něho nějakou funkci no to |
---|
0:05:43 | vyhodit |
---|
0:05:44 | představte si například javu které se říká že to jakoby nejrozšířenější jazyk na všech možných |
---|
0:05:49 | je zařízení tak vlastně java opravdu funguje |
---|
0:05:52 | třeba i nějaké sim kartě kterou máte |
---|
0:05:55 | na mobilním telefonu a podobných zařízeních opravdu se to programuje java podstatě tamtý java není |
---|
0:06:00 | ani žádný ty tam že není ani nic tam není nic takového tam vlastně sou |
---|
0:06:03 | jenom třídy |
---|
0:06:05 | no takže dělá se dá použít i to prostředích a my sme se snažili aby |
---|
0:06:10 | možná ne tak extrémních prostředích ale vy i na těch byly systémech jak se nazývají |
---|
0:06:14 | tak by tento jazyk byl velice dobře použitelný |
---|
0:06:17 | no a v neposlední řadě pochopitelně si to musíte užít to programování pro vás to |
---|
0:06:22 | bavilo aby to nebylo jenom jazyk kterej vypadá jak něco ze středověku ale vás to |
---|
0:06:26 | bavilo vás donutilo |
---|
0:06:28 | ne tím přemýšlet a užívat se to programování samotné |
---|
0:06:32 | a pochopitelně k tomu kdo se žení všech to těsto ip uspět a ip cílu |
---|
0:06:38 | tak a ten jazyk musí splňovat hodně kritérií například musí mít perfektní knihovnu připraveno protože |
---|
0:06:46 | podle toho se stalo například pipe no |
---|
0:06:49 | kdy neexistovala knihovna a víte že vpadni dvojce tak dál a byli knihovny nějak navržené |
---|
0:06:54 | a momentálně se pak mu pračce docela hodně předělávali |
---|
0:06:57 | pak no trojce sou zase třeba jeho kdy pěkně navržené a zjistíte že díky skládání |
---|
0:07:02 | a tak dále různým těm |
---|
0:07:04 | klička |
---|
0:07:05 | a spojování tak se třeba voláte stát na nějakej soubor třikrát za sebou úplně zbytečně |
---|
0:07:10 | takže má to své pro a proti takže kvalitní knihovna nějaké utility okolo našem případě |
---|
0:07:16 | té například automatické generování byte dingů existenci knihovny nebereme přepisovat nesmysl vygenerujeme automaticky blendingy další |
---|
0:07:24 | věc kterou třeba většina jazyků nemám vůbec ani to třeba nejde |
---|
0:07:28 | my máme protože my máme nativní podporu pro cc plus další knihovny |
---|
0:07:34 | a krom toho můžeme bylo tydlecty knihovny přímo s |
---|
0:07:37 | ze s prostředí toho jazyka měl takže |
---|
0:07:40 | to na možně docela velkou |
---|
0:07:43 | docela velkou různorodou |
---|
0:07:46 | skupinu činností |
---|
0:07:47 | a nějaké aplikace ještě která nemá mé to bych tady vás rád poprosil kdyby vás |
---|
0:07:52 | to zaujalo tak se určitě podívejte ani se napište máme tam spíš takové ukázky na |
---|
0:07:58 | iphone nějakou jednoduchou před aplikaci grafice a tak dále |
---|
0:08:02 | a |
---|
0:08:02 | nebo webové stránky se sqlite back and a tak dále takže různé věci máme ale |
---|
0:08:07 | sou to spíš že malinkaté věci je nás málo takže |
---|
0:08:10 | není to úplně rozšířené |
---|
0:08:13 | jaké hry komerční systémy nemá vlastně zatím žádné |
---|
0:08:16 | a to je to co bychom chtěli vlastně dosáhnout v budoucnu aby se tento program |
---|
0:08:20 | si jazyk rozšířil komerční sféře takže komerční sféra je přesně to co udržuje aniž se |
---|
0:08:26 | vám to přál znáte to je to se udržet jazyky na životě podívejte strana nebo |
---|
0:08:31 | jestli někdo víte něco málo historii programovací jazyk ergo tak zjistíte |
---|
0:08:36 | že kdysi dávno se používá ten devítce hodně zvláštní formě já tobě jakejsi nástupce céčka |
---|
0:08:43 | potom se začal používat jeho vylepšená variantách operačním systému |
---|
0:08:48 | a |
---|
0:08:50 | tady vycházel stipple ste bandity každopádně tento jazyk se menoval mimo |
---|
0:08:55 | a |
---|
0:08:56 | nyní se ten lindu vlastně přetransformovat někdo v roce dva tisíce šest tak dál tak |
---|
0:09:00 | na tom začal inženýři znova dělat a přetransformovat hladomor i know do moderního světa funguje |
---|
0:09:05 | na všech počítačích a je to poměrně moderní jazyk takže ta jako ukázka toho že |
---|
0:09:09 | penězi do té doby skomíral nebylo ně komerční zájem a proto mě nikdo neviděl přitom |
---|
0:09:14 | to je velice schopný a zajímavé velice pěkný jazyk určitě by bylo dobré se tím |
---|
0:09:19 | zabývat pokud vás jazyky zajímají jako takové takže to je příklad proč vlastně vůbec tady |
---|
0:09:24 | chceme mít i komerční systém |
---|
0:09:27 | tak |
---|
0:09:28 | a nyní teda |
---|
0:09:29 | jak se vlastně přistoupili tvorbě toho jazyk programovací jazyk a dal |
---|
0:09:35 | a pochopitelně |
---|
0:09:36 | a něco vymýšlet na zelené louce problém tak sme se nejdříve podívali na koncepty které |
---|
0:09:42 | se používají ostatních programovacích jazycích zažili jsme se to dělá velice kriticky to znamená že |
---|
0:09:48 | jsme se stali nějaké vlastnosti |
---|
0:09:50 | například paralelní programování ve skále |
---|
0:09:54 | řekli jsme si dobře víme že ve skále když potřebuju napsat právní program je to |
---|
0:09:58 | sice čisté programování a napíšu strašně moc řádků co je tam za problém začali jsme |
---|
0:10:02 | hledat ty všechny matky jednotlivé problémy které s tím nehod čitelnosti přes ukecaná host a |
---|
0:10:09 | škol nějaké třeba i bezpečnostní problémy výkonnostní problémy a tak dále |
---|
0:10:14 | a zkusili jsme se na to podívat je na ano líbí se nám třeba koncert |
---|
0:10:18 | future to znamená že |
---|
0:10:20 | jaká paralelní úloha okamžitě vrátí hodnotu a ta hodnota nám zatím říká ano někde na |
---|
0:10:25 | pozadí se nám něco počítat paralelně a tu hodnotu si můžeš vyznal ve zvednout hash |
---|
0:10:30 | a teď tam nějakým způsobem vyřešeno kdy |
---|
0:10:34 | takže například tento konce a přetransformovat ho tak aby byl pokud možno jednodušší použitelnější rychlejší |
---|
0:10:42 | a vůbec zapadalo celkové konce tutoho jazyka |
---|
0:10:45 | takže takto jsme postupovali dostali sme se přes mnoho různých věcí trenéra příklady které jsou |
---|
0:10:50 | viditelné hlavně pro uživatele jsme se zabývali i tvorbou samotné virtuální mašíny protože jazyk dal |
---|
0:10:59 | je |
---|
0:11:00 | momentálně interpretovaný jezy |
---|
0:11:02 | byly nějaké pokusy a počítá se s tím do budoucna že prej kompilovanými ale zatím |
---|
0:11:07 | na to nemáme čas takže předpokládám třeba horizontu pěti let že se ti někdo začne |
---|
0:11:11 | zabývat ale zatím nemáme takové kapacity |
---|
0:11:14 | takže to co je viditelné pro programátora tak to můžou bejt třeba enumerace můžu tobě |
---|
0:11:19 | dekorátory může to bejt takzvaný defer kdo z vás prosím vás zná co je třeba |
---|
0:11:23 | differs programovacích jazycích tady |
---|
0:11:26 | nikdo |
---|
0:11:28 | tak takže rychle zkusím přiblížit |
---|
0:11:31 | tak to je taková zajímavou vlastnost například verzi jazyka kdo |
---|
0:11:36 | tady označíte nějakou se chci kódu nebo nějakej jako posloupnost nějak nějaký k o že |
---|
0:11:41 | se má provést až na konci nějakého name space nějaké houskou obecně znamená se na |
---|
0:11:48 | konci funkce a vy můžete kdekoliv tý funkci označit jakejkoli kus kódu který se má |
---|
0:11:53 | takhle provést |
---|
0:11:55 | z toho psa abstraktně a dám příklad například budou mít funkci která pracuje se souborem |
---|
0:12:00 | vím že když odevřu soubor že ho potřebuju zavřít busy me garantovaný že ho zavřou |
---|
0:12:06 | ne že je to hodí výjimku nebo že někde něco return ne prostě se vrátí |
---|
0:12:10 | nebo že něco spadne zůstaneme vodevřenej faly světa nemůžu si to dovolit |
---|
0:12:14 | právě z tohoto důvodu hnedka na první řádek napíšu declare klaus ten file for deskriptor |
---|
0:12:20 | to znamená že tu chvíli mě ten default a klauzule rychle garantuje že někde na |
---|
0:12:25 | konci úplně provedení celý ty funkce a když to bude vyskočení ven zeptaj nebo by |
---|
0:12:30 | mi provedení celý funkce rutiny a teda na ten garantuje že se zavolá ten klaus |
---|
0:12:35 | na ten soubor |
---|
0:12:37 | takže tímto způsobem se dají modelovat různé transakční problémy různé |
---|
0:12:42 | podkládání třeba víme chytání výjimek různé další věci halasně to velice elegantní způsob jak se |
---|
0:12:49 | vyhnout například samotnému nějakýmu try switch a tak dále |
---|
0:12:54 | a nakonec třeba jak jsem říkal stesk ale tak tam máme tepen týče |
---|
0:13:00 | tak |
---|
0:13:03 | co se dneska vlastně od jazyku |
---|
0:13:04 | čeká a |
---|
0:13:07 | co se objevuje na to umí |
---|
0:13:09 | já jsem to nazval market |
---|
0:13:11 | a na tom trhu jazyků |
---|
0:13:13 | potřebujete s něčím prorazit |
---|
0:13:16 | tak potřebujete mít něco nového něco co prostě ty ostatní zaujme a jinými slovy vytlačí |
---|
0:13:23 | a momentálně to je |
---|
0:13:25 | jakýsi návrat funkcionální programování možná jste zaregistrovali mnoho jazyků které vznikají nebo aspoň |
---|
0:13:31 | se dal vyvíjí tak se začínají zabývat tím konceptem té piju dnes prostě té čistoty |
---|
0:13:37 | byl asi máte čistou funkci která nemá vedlejší efekty nebude víra soubory |
---|
0:13:42 | nic takového |
---|
0:13:45 | potom dále s tím souvisí tipovací systémy |
---|
0:13:47 | které |
---|
0:13:48 | máme tady takové dvě odvětví nemáme |
---|
0:13:51 | říkám volně typované jazyky |
---|
0:13:53 | a máme velice střelec ale se silně typované jazyky |
---|
0:13:58 | a tydlecty odvětví je problém skloubit každej má něco každé vede k různým problém například |
---|
0:14:03 | volně typované |
---|
0:14:04 | zvyšují výrazným způsobem |
---|
0:14:08 | testovat testování |
---|
0:14:10 | to znamená |
---|
0:14:11 | když vy vlastně |
---|
0:14:14 | netrefíte co se jedná o pět netrefíte |
---|
0:14:18 | přesně |
---|
0:14:19 | tam dané komponenty děje |
---|
0:14:21 | tak přesunete tu responsible titulu |
---|
0:14:24 | a pardon |
---|
0:14:43 | transmisemi |
---|
0:14:53 | hodin |
---|
0:14:55 | tak a přesunete veškerou to nese zodpovědnost |
---|
0:14:58 | ná toho pestrá který chudák prostě musí otestovat a prvním jestli jsou a stejně nikdy |
---|
0:15:03 | nebude mít garantovaný |
---|
0:15:04 | že ten program se bude chovat korektně |
---|
0:15:07 | naopak tady máme ty šílené systém je někteří říkají ta svá sklá pro mě které |
---|
0:15:12 | jsou čistě funkcionální |
---|
0:15:14 | případně naprosto čisté jazyky ve kterých je zase problém udělat změnu pokud se někde provést |
---|
0:15:19 | takové riziko například webové stránky |
---|
0:15:21 | poměrně běžná záležitost dneska |
---|
0:15:23 | tak zjistíte že pro nějakou změnu přidání třeba nějakého tlačítka nebo nějakou malou změnu musíte |
---|
0:15:28 | udělat tom zdrojovém kódu prasklo |
---|
0:15:31 | na deseti různých místech |
---|
0:15:33 | netriviální změny |
---|
0:15:35 | a přesně tahle sem problém |
---|
0:15:39 | ne |
---|
0:15:40 | a přesně tohle sem problém sme se snažili |
---|
0:15:43 | jak vyřešit zamyslet se nad tím co s tím dělat |
---|
0:15:45 | protože my vlastně chceme voboje my chceme aby ten programátor vodevzdával kolovat |
---|
0:15:51 | který je plně korektní pokud možno |
---|
0:15:53 | chceme aby tester neměl tolik co dělá a zároveň chceme aby ten programátor moh napsat |
---|
0:15:58 | rychle protože pokud bude psát maskou tak prostě bude porvali něco někde měnit a bude |
---|
0:16:03 | se těm akorát trápit |
---|
0:16:05 | no řešil jsme to tak |
---|
0:16:06 | je podporuje oba tipovací systém je dál máme volné typování i pevné typování je to |
---|
0:16:13 | čistě z unixové dohromady můžete si vlastně vybrat co bude tipovaným co nebude |
---|
0:16:18 | a |
---|
0:16:19 | tímhle vlastně dáme plno s tou programátor vybrat si pochopitelně |
---|
0:16:23 | to volné typování |
---|
0:16:25 | je pomalejší to znamená protože se kontrolují všechny ty typy přímo pane přímou za běhu |
---|
0:16:31 | aplikace |
---|
0:16:32 | pokud použijete to silné typování |
---|
0:16:35 | zkontroluje se to přímo ještě před kompilací to znamená že to zjistíte hned |
---|
0:16:39 | a |
---|
0:16:40 | ale zase toho napíšete trošku víc takže tohle se naše jakési řešení funguje to velice |
---|
0:16:45 | dobře |
---|
0:16:46 | a |
---|
0:16:47 | krom toho problému že se musí třeba upravovat na mnoha místech kolo případě silně typovaných |
---|
0:16:52 | tak se tam mobil |
---|
0:16:57 | tak já jsem se na |
---|
0:16:59 | tak se tam objevuje ještě |
---|
0:17:02 | další problém |
---|
0:17:03 | a tím je |
---|
0:17:06 | a tímto problémem je a |
---|
0:17:11 | vraťte se k tomu za chvilku momentálně na tady není vhodná chvíle |
---|
0:17:14 | a |
---|
0:17:15 | zmíním ještě rychle něco o |
---|
0:17:17 | nevím je to byly ty |
---|
0:17:19 | a všimli jste si že celá těch funkcionálních jazycích je to jeden ze způsobů jak |
---|
0:17:23 | zaručit právě tu korektnost |
---|
0:17:26 | rád kdo z vás tady používalo něco jako vím je to bylo ta věc prosím |
---|
0:17:29 | vás |
---|
0:17:30 | zvedněte ruku |
---|
0:17:32 | to vše lepší děkuju |
---|
0:17:35 | tak dál |
---|
0:17:37 | víte že tím si vlastně předem garantuje pevně danou hodnotu kterou si někam ukládat se |
---|
0:17:42 | kterou pracujete už nikdy nemůžete změnit |
---|
0:17:45 | a kupodivu se ukazuje že opravdu programátor hodnoty zase tak často nemusí měnit a právě |
---|
0:17:53 | proto kdyby se předem označíte že tuhle hodnotu |
---|
0:17:56 | jedno z middle tý doby už nikdy nebojí nastavíte už nikdy potom ní nebudete měnit |
---|
0:18:01 | tak se ukazuje tenhlecten způsob kontroly je velice výhodný |
---|
0:18:09 | a hle jak jsem řekl |
---|
0:18:11 | tak to vlastně dále klade nároky na to programátor moc se předem zamyslím gui muset |
---|
0:18:18 | měnit nebudu a tak dál |
---|
0:18:20 | a všimli jste si dále ve světě okolo že pochopitelně nám rostou skriptovací jazyky s |
---|
0:18:26 | tohoto důvodu jsme se zaměřili zase na interpretovaný skriptovací jazyk vlastně to jazyk někde mezi |
---|
0:18:32 | skriptování na řekněme systému programováním ať oba což nevím kdo z vás by řekl že |
---|
0:18:38 | to je skriptovací jazyk |
---|
0:18:40 | definice že to má virtuální mašinu pro mě by to asi byl |
---|
0:18:43 | a je poměrně |
---|
0:18:45 | nízkoúrovňový a pravé slovo důvodů bychom asi neradi říkali skriptovací |
---|
0:18:51 | takže |
---|
0:18:54 | na našem případě design dál konkrétně |
---|
0:18:57 | takže virtuální mašina sběr když kolektorem protože se zabýváme tím paralelizmem a dalšíma věcma takže |
---|
0:19:02 | tam bychom si vůbec stručný prací paměť a tak dále |
---|
0:19:07 | neporadili je to orlici |
---|
0:19:10 | tím se má na mysli |
---|
0:19:12 | takže tento jazyk je velice jednoduše rozšířit to znamená dá se vložit do jiného jazyka |
---|
0:19:17 | dá se vložit do jakékoli aplikace policie vše velice malý ten jazyk porovnání třeba s |
---|
0:19:22 | partnerem perla ruby javou a tak dále |
---|
0:19:25 | a zároveň to funguje i naopak to znamená do dalo můžu volit další jazyky může |
---|
0:19:31 | volat na ty mě c plus programy pro ten je dále |
---|
0:19:36 | auto bandy kdy všechno |
---|
0:19:38 | funguje perfektně |
---|
0:19:39 | a jazyk je postavení s tím že by v budoucnu měl byt velice dobře optimalizovatelné |
---|
0:19:44 | ní a to tele i samotnou kompilaci tak je pomocí třeba ti kompilace že sem |
---|
0:19:50 | tam kopa |
---|
0:19:51 | a další rozhodnutí bylo jaké vlastně kódování zvolit zvol jsme u tech osum protože |
---|
0:19:59 | mám dvě výhody za základní jedna věc je velice úsporné |
---|
0:20:03 | to znamená vlastně šetří bejt i |
---|
0:20:06 | a to se nám o ní druhá věc je plně kompatibilní sazky |
---|
0:20:09 | to znamená |
---|
0:20:10 | můžeme to využít na jakékoli string k |
---|
0:20:13 | a máme vyřešeno polívka na jakékoli masky string |
---|
0:20:18 | tak o našem sofistikované typu systému sem mluvil a hlavní věcí a to je k |
---|
0:20:25 | čemu sem se dostal před chvilkou chtěl dostat řekl jsem že probrat později tak to |
---|
0:20:29 | je typová inference znamená odvozování typů |
---|
0:20:34 | a my máme vlastně |
---|
0:20:36 | porovnání s ostatníma jazyka jazyky jeden z nejsilnějších |
---|
0:20:40 | a inferenčních džínů vtom jazyce to znamená |
---|
0:20:43 | moc se snaží velice dobře odhadnout podle toho jak používáte proměnné jaký typ asi používáte |
---|
0:20:50 | a jakmile to odhadne tak o té doby už ho potom ten typni nemůžete |
---|
0:20:54 | a jestli se pracovali perlu tak je to trochu podobný možná pro vás |
---|
0:20:59 | ze zkušenosti |
---|
0:21:01 | a to podaří po poradí si to i se speciální a ty pomatené tady mám |
---|
0:21:06 | jmenované |
---|
0:21:07 | některé z nich |
---|
0:21:08 | ty piny ta je právě ten ty které vlastně |
---|
0:21:11 | a vyhodnocovány přímo tom partaje |
---|
0:21:15 | a nebo třeba python girls co jsou speciální typy ne si přímo na místě kde |
---|
0:21:20 | ty potřebujete specifikovat vyberete něco co ho zastoupí ten ty a to něco toho zástupce |
---|
0:21:27 | po tak použijte někde jinde kódu šéf vlastně slinkujete tyhle tři části kódu a řeknete |
---|
0:21:33 | je na všech třech bude muset být za každou cenu |
---|
0:21:36 | toužit stejný typ je to výhodné například pro makra pro různé template i a tak |
---|
0:21:41 | dál |
---|
0:21:42 | template jsem se smířil a přesuneme se modularitě |
---|
0:21:47 | na jazyk má podporu pro objektové pro programování pro moduly a oddělení různými name space |
---|
0:21:54 | s tak dál |
---|
0:21:56 | a poslední zmínka ještě to dal bude probrána dalším slon slajdu |
---|
0:22:01 | tak je konce oflo |
---|
0:22:03 | a k tomu takovou malou poznámku |
---|
0:22:05 | a že se k tomu dají psát speciální makra |
---|
0:22:09 | a makra v jiném smyslu než schumachera která přímo jako generují ten jazyk ale která |
---|
0:22:13 | spíš pozmění u jí syntaxi jazyka a sice píšou se pdfka notaci o kus nahoru |
---|
0:22:20 | ve formě |
---|
0:22:21 | a tím se stávají velice dobře čitelný například měli sme tam teďka nějaký ruskej s |
---|
0:22:26 | jednoduchý nějaký vyvolá čtyři chtěl |
---|
0:22:30 | automatické aplikovat |
---|
0:22:32 | na některé jeho funkce případně |
---|
0:22:35 | metody |
---|
0:22:37 | já chtěl aplikovat |
---|
0:22:38 | nějaký dekorátor |
---|
0:22:40 | a měl ten deklarátor vždycky spojení se jménem té funkce |
---|
0:22:44 | a tomto případě to nechtěl pokaždé vypisovat dekorátor funkci a po to zavolání toho té |
---|
0:22:49 | funkce s dekoratérem |
---|
0:22:51 | a tom případě použil makro a měl to prostě jako kdyby se zadefinovat speciální funkci |
---|
0:22:56 | a měl to velice hezky to vypadalo fungovalo to nám naprosto bezproblémově takže takové jednoduché |
---|
0:23:01 | věci to makro byl schopnej napsat za dvě tři minuty a ulehčil motorový množství práce |
---|
0:23:07 | a je to plně kompatibilní |
---|
0:23:11 | moduly různé typy modulů podporujeme pochopitelně samotné meze central jak jsem říkal cc plus já |
---|
0:23:18 | se propojit s čímkoli protože dneska když se podíváte tak má téměř všechno nějaké propojení |
---|
0:23:23 | na cc plus a pokud si budete hrát pokus kontra má tak prostě docílit do |
---|
0:23:28 | toho cíle které pro potřebujete |
---|
0:23:31 | a pravor function |
---|
0:23:35 | to asi víte co je kousek šest to je zajímavá věc kdo z vás tady |
---|
0:23:39 | program ale někdy v ruby například |
---|
0:23:42 | super |
---|
0:23:43 | aspoň jeden |
---|
0:23:45 | tak já du bist netuší co sou to něco jako konce všem s protože v |
---|
0:23:48 | ruby je a taková hezká věc si můžete |
---|
0:23:52 | vlastně volat nějakou sekvenci nějaký k o |
---|
0:23:55 | a přímo na místě |
---|
0:23:58 | přímo na místě kde ten kód byste chtěli položit |
---|
0:24:01 | ale může toho volat takle ty repetitive ně |
---|
0:24:05 | no a vlasně my jsme řešili to nastane problém |
---|
0:24:08 | takže jsme zavedli speciální typ rutiny kecání ty funkce |
---|
0:24:12 | kterou se nazývá na kousek šel |
---|
0:24:15 | a ale konce června může předávat do té sekce ve které jako další proměnné ne |
---|
0:24:20 | jenom přes hlavičkou a na proměnné které jsou vlastně vyhodnocují přímo té sekci |
---|
0:24:26 | a v ruby se to zapisuje tuším nějakými zatím si myslíte něco takového jestli se |
---|
0:24:32 | dobře pamatuji |
---|
0:24:34 | a |
---|
0:24:34 | todlecto je velice užitečná věc protože například pomocí tohoto konceptu ukážeme si později |
---|
0:24:39 | máme implementovaný ten defer |
---|
0:24:42 | to odkládání volání nějakejch těch sekcí kódu např na konci rutiny |
---|
0:24:47 | a další užitečné věci potřeba různé funkcionální pojetí práce se seznamy |
---|
0:24:55 | se mapami a tak dále |
---|
0:24:57 | takže můžete přát zavolá sort a přímo do té kousek čem po té sekce kódu |
---|
0:25:02 | dát akorát x je větší než ypsilon |
---|
0:25:04 | a on se to nula pro každý ten |
---|
0:25:07 | dvojici sou seznamu podle algoritmu řadí cíl a porovnávat přesně podle toho co vrací vlastně |
---|
0:25:12 | zase chce takže takové různé věci se s tím bejt dělat hezky se s tím |
---|
0:25:17 | dá vyhrát |
---|
0:25:18 | podpora tříd třídní systém podpora interfejsu máme speciální dva typy |
---|
0:25:23 | a to vám asi myslím radši na příkladech které má na konci protože to není |
---|
0:25:28 | úplně nechám na pochopení |
---|
0:25:30 | a mixy my podporujeme |
---|
0:25:33 | a pomalované typy |
---|
0:25:35 | to se hodí například pro ty node ulice plus kód pro mě vlastně ten typ |
---|
0:25:39 | si něčem obalíte aby to bylo čistě kompatibilní s tím dal spekulacím systémem |
---|
0:25:45 | je nedá nebo s to je ta implementace táhněte byly ty |
---|
0:25:49 | jak jsem o tom mluvil kasty další věc také se někomu ještě z ježí chlupy |
---|
0:25:55 | když si představím jak se kastu je tady přetypována řekněme |
---|
0:26:00 | a řádce plus |
---|
0:26:02 | tak my máme poměrně jednoduchý ne |
---|
0:26:06 | systém jak toho docílit ta se cena implementujete metodu která vrací daný ty pokud nejen |
---|
0:26:11 | talentem tam metrů kerá vracím tý že tak prostě budete moct napsat okamžitě přetypovat danou |
---|
0:26:18 | hodnotu na ten integer zavolá se metoda a ta něco vrátí |
---|
0:26:23 | takže tímto spíš se to způsobený mám implementovaný krásným je to velice užitečná věc například |
---|
0:26:28 | když pracujete s různými jednoduchými typy potřete dost často před i po mezi finta s |
---|
0:26:33 | těmi dvěma směry potřebujete mezi časem zase pošlete převážně čas do interní a formátu |
---|
0:26:40 | a do nějakého lidsky čitelného formátu a tak dál takže byli se užitečná věc |
---|
0:26:45 | pan nepotřebuje to vlastně vůbec žádné zásah ze strany programátora |
---|
0:26:50 | a já jsem tady snad vyplynulo zhruba sto sem říkal tak dál |
---|
0:26:56 | na interně |
---|
0:26:58 | implementováno podporu pro vyjímky tímto způsobem se řeší veškeré neřešitelné situace když třeba se něco |
---|
0:27:06 | porouchá jako vevnitř |
---|
0:27:10 | ne ani tak dál ale třeba po otevírání souborů při nějaké práci po síti prostě |
---|
0:27:16 | vytáhnout ve spojení a podobně takže to se řeší přes výjimky se kterými se dá |
---|
0:27:21 | perfektně zacházet díky tomu dyž prachy tání možná ne to si neukážeme protože to příliš |
---|
0:27:27 | a potom |
---|
0:27:29 | konečně ten paralelizmus |
---|
0:27:31 | tak máme takový zavedený nový operátor tvůj vykřičník |
---|
0:27:36 | o vykřičník za sebou |
---|
0:27:38 | který dělá jednoduchou věc že spustí danou skupinu |
---|
0:27:40 | v dalším vlákně |
---|
0:27:43 | takže když to pustí tak cyklu jak se tam že to pustit řád deset tisíc |
---|
0:27:45 | vláken a všechno zpracovala pro ně deseti tisíc krát a ta vlákna si můžu spustit |
---|
0:27:50 | další vlákna a tato vlákna jsou namapovaná dycky na vlákna přímo do tom systému ve |
---|
0:27:56 | kterém to běží používám být retz takže to multiplatformními že to všude |
---|
0:28:00 | a je to velice rychle předáme si pomocí |
---|
0:28:03 | různých metod ale nejraději má metadatech tím že hodnoty to znamená by to mělo ten |
---|
0:28:08 | funkcionální tvar |
---|
0:28:09 | je to prostě vrátí hodnotu a toho případně tam mám zabudovanou podporu pro černou to |
---|
0:28:16 | je zase zbylo |
---|
0:28:17 | jestli ste někdo poslouchal aspoň někdy nebo slyšel ten konce |
---|
0:28:21 | takže se vlastně kanálem dají posílat |
---|
0:28:24 | a naprosto kdes použití nějakých explicitních synchronizačních nech mechanismu tak si může to posílat hodnoty |
---|
0:28:31 | mezi vlákny úplně mezi sebou ústně stačí před a ten samý kanál pokud dva dvě |
---|
0:28:36 | vlákna nebo dvě funkce dvě metody vyvolání ty instance budou mít ten samý kanál tak |
---|
0:28:42 | můžu přes ten kanál komunikovat |
---|
0:28:45 | tak to nešel jsou těch u těch příkladu ten jazyk má trošku céčkovou neboce plus |
---|
0:28:51 | plusku syntaxi |
---|
0:28:52 | a tady obligátní halo kterým by si měl napsat jako a jo white lajn holt |
---|
0:28:59 | ale dá se za copy zjednodušeně protože interpret to jako takový vrací defaultní stavu poslední |
---|
0:29:06 | vykonanou poslední hodnotu kterou dostal to zas poslední instrukce takže se dá zapsat jen s |
---|
0:29:12 | krásnější formě |
---|
0:29:14 | tak |
---|
0:29:15 | trošku zajímavější možná ukázka je pracovat s prostředím vnějším |
---|
0:29:21 | a |
---|
0:29:23 | určitě znáte koncept mi není třeba vysvětlovat tři tečky znamená jakýkoliv počet a jakýchkoliv parametrů |
---|
0:29:29 | takže předáme celému programu extern a teďka dalo |
---|
0:29:33 | předáme nějaké parametry a ony vypíše pokud žádné tak vypíše prostě prázdný ta o |
---|
0:29:39 | tak to je intuice a je to zase jeden se zabudovaných typů stejně jako na |
---|
0:29:44 | i seznamy a tak dále ste linky a podobně |
---|
0:29:48 | takže je to použitelné velice jednoduše |
---|
0:29:52 | jo návratu hodnotu stav jde to |
---|
0:29:55 | tak z dostaneme se konečně to paralelizmu |
---|
0:29:59 | a |
---|
0:30:00 | paralelizmus se tady neimplementované je příklad pomocí funkce vrece |
---|
0:30:05 | a používáme klíčové slovo ty protože ve skutečnosti se může jednat nečisté funkce a my |
---|
0:30:12 | sme se mu začátku byl jsem se chtěj co nejvíce přiblížit o intuitivním chápání jazyků |
---|
0:30:17 | takže některé věci jsou zde pojmenovány jinak míša lezete dalších jazycích když dělají velice podobnou |
---|
0:30:24 | nebo někdy stejnou věc |
---|
0:30:25 | protože |
---|
0:30:26 | function vy řeknete matematikovi |
---|
0:30:29 | tak pro očekávat čistou funkci |
---|
0:30:31 | a holá díky tomu že si tady můžeme takle posílat někde něco vám a mít |
---|
0:30:36 | ve ty vedlejší efekty něco napsat na obrazovku a podobně |
---|
0:30:39 | tak to radši ani nazýváme rutinou |
---|
0:30:43 | a |
---|
0:30:44 | vidíte tam ten vlastně ten kanál té ty |
---|
0:30:48 | je to není ste jsou té |
---|
0:30:53 | taková zajímavost mezi není space a nějakým klíčovým slovem |
---|
0:30:59 | a můžeme psát volitelně dvojtečku zdvojenou dvojtečku a nebo jenom jednoduchou tečku |
---|
0:31:05 | ale je to jediný případ kde je tam |
---|
0:31:08 | tadlecta volba je ne ve všech ostatních případech vtom jazyce všechno napevno dál a nemůžete |
---|
0:31:13 | si vymýšlet |
---|
0:31:15 | a |
---|
0:31:16 | takže co tam já jsem to udělala |
---|
0:31:19 | co šíření roznásobím udělat |
---|
0:31:21 | taková otázka do pléna řekl jsem tady něco málo o konceptu differ a řekl jsem |
---|
0:31:26 | tady něco málo kanálech řekl jsem tady něco |
---|
0:31:30 | o posílání a deklaraci a o cyklech podstatě se nám řekl téměř všechno co je |
---|
0:31:36 | potřebné pro tento příklad pro pochopení zkusil by to někdo rozšifrovat prosím vás zvedněte ruku |
---|
0:31:41 | nebo to na mě rovnou vykřikne |
---|
0:31:44 | pan tady dyž taky odměnu pro vás takže vás můžu i materiálně |
---|
0:31:49 | motivovat |
---|
0:31:50 | že prej získáte dva citní procentní slevu na nějaký z nich produktu či služeb nevím |
---|
0:31:55 | přesně jaký ale to se dozvíte po přednášce tady pravděpodobně |
---|
0:31:59 | takže |
---|
0:32:01 | někdo |
---|
0:32:04 | nevadí zatím si to necháme stranou |
---|
0:32:07 | nám |
---|
0:32:08 | jednoduchým způsobem declare sítě |
---|
0:32:11 | nula znamená že se předá že se zavírá kanál to znamená ten kanál pošle jako |
---|
0:32:16 | by poslední zprávu to bude na |
---|
0:32:18 | řekne tím ano zavírám se |
---|
0:32:20 | a ve fort cyklu po tím se vlastně vygeneruju ty kanály |
---|
0:32:24 | a dokáže jsi něco uložíme a pak zavolám paralelně to abecedu ty no s těma |
---|
0:32:29 | parametrová s tím kanálem a s nějakým tím číslem abych měl nějakou informaci kterou si |
---|
0:32:34 | budu potom vyčítat jak vypadá výsledek tak vypadá právě takhle |
---|
0:32:38 | vyčítám hodnoty takže si nějaký nekonečném cyklu všimněte si máme tam povinností o hodnoty jako |
---|
0:32:44 | true a false sou přímo implementovány v jazyce takže se dají krásně použít |
---|
0:32:50 | tak v nekonečném cyklu se já dívám |
---|
0:32:52 | já ten kanál |
---|
0:32:54 | a pokud ten kanál push něco zpracovává protože ten kanál běží paralelně |
---|
0:32:58 | tak o tom král pokud něco pracoval tak status něho níže vrátí že finished a |
---|
0:33:03 | pokud je finished tak můžu zavři |
---|
0:33:06 | ten cyklus protože ten finished status se objeví vtom kanálu případě jsem si poslal to |
---|
0:33:12 | že sem uzavřel tou nulou to kapacity je to cena byla zkratka pro tebe se |
---|
0:33:16 | ty |
---|
0:33:17 | a pokud ne |
---|
0:33:19 | tak si píšu tu hodnotu sto kanál |
---|
0:33:22 | a |
---|
0:33:23 | to xml ju je bloko bylo neblokující ale tu |
---|
0:33:28 | tomto případě to vždycky vrátí hodnotu protože se jedná o primitivní ty in takže není |
---|
0:33:33 | s tím žádný problém |
---|
0:33:35 | takže vidíte že to ví co vlastně všechny ty čtyři čísla které jsem se tady |
---|
0:33:41 | které jsem si tady tom for cyklu vlastně vod nuly do té trojky |
---|
0:33:45 | poslal |
---|
0:33:46 | a všechny sem dostal jsem tak informaci o tom že se všechny ty kanál zavřeli |
---|
0:33:52 | tak |
---|
0:33:53 | další příklad trošku složitější |
---|
0:33:55 | přesuneme se k těm rozhraním která jsem říkala že máme byly může máme dvou typu |
---|
0:34:00 | tady vám ukazuji |
---|
0:34:02 | právě a oba typy |
---|
0:34:05 | a nejprve si na definuje běžné rozhraní |
---|
0:34:08 | interfejs na z muselo bejt imax |
---|
0:34:11 | a mladejch je z new si |
---|
0:34:13 | tom rozhraní pouze rutinu aby byl která má nějaké parametry mají nějaké tipy |
---|
0:34:19 | abych explicitně si ho hlídal co tam teda předávám |
---|
0:34:23 | a má něco vracet |
---|
0:34:26 | ta vlasta rutina podstatě interfejs nic jinýho neříká to je ta komunikace dovnitř |
---|
0:34:32 | a potom |
---|
0:34:33 | a vím že to modulu time |
---|
0:34:36 | existuje ty date time |
---|
0:34:39 | a já si ho chci právě |
---|
0:34:40 | nějakým způsobem pozměnit tenhleten ty |
---|
0:34:43 | a udělám to jednoduše tak |
---|
0:34:45 | že tenhleten interfejs aplikuju |
---|
0:34:48 | na tento ty |
---|
0:34:50 | a teďka možnost jsou vlastně dvě možnosti buď se vytvoří bicí tak interfejs a použiju |
---|
0:34:56 | jako |
---|
0:34:58 | jenom jako interfejs to znamená jenom chci říct že někam budu předávat něco |
---|
0:35:03 | co má metodu a debil |
---|
0:35:05 | a nebo z něj udělal takzvaný konkrétní interfejs se všeta novinka |
---|
0:35:11 | kterou tady máme čímž po změním ten původní ty |
---|
0:35:16 | na vždycky o změním ten původní ty ale vlastně jeho koupi přesně řečeno pozmění jeho |
---|
0:35:22 | koupi |
---|
0:35:23 | a konci dál bude chovat podle toho co bylo nadefinované to interfejs |
---|
0:35:27 | interfejs konkrétní |
---|
0:35:29 | se definuje nejen vektorové definuje pomocí té na praze for to znamená interfejs ty ten |
---|
0:35:37 | název toho existují jsou interfejsu pro a teďka nějakej ten typ kterej taky musí existovat |
---|
0:35:44 | a pak se tam objeví celá definice toho co vlastně ten interfejs má dělat |
---|
0:35:48 | a co to tady dělá tak je |
---|
0:35:51 | že to přidá sama k sobě tak to přidá to co předám parametry |
---|
0:35:56 | a vrátí to samo sebe |
---|
0:35:57 | čím jsem se vlastně momentálně změnil dá se říct a chování té metody a debil |
---|
0:36:04 | protože metoda a debil v případě typu date time |
---|
0:36:10 | nevrací nic vrací nám |
---|
0:36:13 | to znamená já jsem si to vlastně jo takže vrátí sebe |
---|
0:36:16 | to je jediný co dělá a do cíl jsem to těm že sem se nadefinoval |
---|
0:36:19 | vlastně interfejs |
---|
0:36:21 | prima vlastně dá se říct shodnou uplně shodnou a deklaraci |
---|
0:36:25 | a |
---|
0:36:26 | potom jsem si nadefinoval co která má vlastně ten interfejs pro ten tým dělat |
---|
0:36:29 | použití vypadá |
---|
0:36:31 | například následovně trošku sem to tam ze složitě ale ještě abych ukázalo že máme takové |
---|
0:36:36 | mach rovinky jako třeba nepoznala modulu který jednodušším způsobem může přímo vypisovat ten děj hlídá |
---|
0:36:43 | za vás vlastně veškerou korektnost těch pinů a tak dále |
---|
0:36:46 | aby si do přímo do kódu v dalo korektním kódů můžete zkontrolovat krom prohánět typově |
---|
0:36:52 | zapsat celé je to malá |
---|
0:36:55 | se vším všudy |
---|
0:36:56 | takže když to přeskočit a podíváte se mašina toho co vlastně se má objevit tom |
---|
0:37:01 | aha jedna nadpisu cože obsah máj jejíž pět a něco tak vidíte krásný přetypování na |
---|
0:37:08 | string takže výsledek toho c právo tak bude vždycky s tady plus je tomhle případě |
---|
0:37:12 | přetížený operátor který připojuje string k tomu předchozímu stringu |
---|
0:37:16 | a přetypovávat si něco co vrací metoda null z modulu tá jen to vrací aktuální |
---|
0:37:23 | čas konkrétní před pusy nedej tam x přidám k ní něco tady přidávám tři roky |
---|
0:37:30 | a tydlecty tři roky ten celej výsledek tak úplně novej novou hodnotu vlastně |
---|
0:37:35 | tak si přetypovaná string a nějaký vyšel přetypování na string to tady vypisuje hezkém uživatel |
---|
0:37:42 | lidsky čitelného formátu tady se můžete podívat jak vypadá výsledek mi podle toho to mel |
---|
0:37:47 | moduly generoval pěkného to mela |
---|
0:37:49 | a do toho nevložil ten malej patch a teď ten |
---|
0:37:52 | celý čas se vším všudy |
---|
0:37:54 | nám |
---|
0:37:56 | taková poznámka tento čas je podle erekce |
---|
0:37:59 | a všimněte si že na desetinná místa |
---|
0:38:03 | prováděli jsme že bude nejlepší v reprezentovat těma a začít s čísly s plovoucí desetinnou |
---|
0:38:10 | čárkou |
---|
0:38:11 | protože v budoucnu jak se nám rozšiřují ty hardwerove architektury dala tak to bude nejlepší |
---|
0:38:17 | formát na reprezentaci času má prostě největší rozpětí a přesnost je dostatečná |
---|
0:38:24 | a reprezentovat to integer bylo pro nás velice nevýhodné minimálně natřel těch empiric systémech kde |
---|
0:38:30 | mám jenom třiceti dvou bitové instrukce s indií ženy |
---|
0:38:34 | a |
---|
0:38:35 | práce to že bychom potřebovali minimálně šedesát čtyři bitů na to jak práci by byla |
---|
0:38:39 | pomalá a nevýhodná |
---|
0:38:40 | takže proto to reprezentujeme takhle a zjistil jsem že práci s těma floating point číslama |
---|
0:38:45 | a není zas tak pomalá takže v důsledku se nám to opravdu vyplatí |
---|
0:38:51 | tak |
---|
0:38:52 | todlecto nula si těch ohledně těch příkladů měl bych tady pochopitelně mnohem detailnějšího to můžeme |
---|
0:38:58 | probrat potom diskuzi koukám že za chvíli už bych měl pomalu končit |
---|
0:39:02 | eště vám |
---|
0:39:03 | no takže tady mám jenom řekl teďka zhruba a něco o tom projektu samotném ten |
---|
0:39:09 | projekt funguje zhruba od roku dva tisíce šest takže to opravdu dlouhá doba ten projekt |
---|
0:39:15 | není nestabilní projekce pořád vyvíjí pracoval na tom šest hlavních vývojářů a sedum řekněme takových |
---|
0:39:22 | vedlejší kteří |
---|
0:39:24 | doplnili nějaké moduly nebo něco takže to stále poměrně malý projekt a máme tam podprojekty |
---|
0:39:31 | které se zabývají především těmi moduly zajímavost je třeba máma module končit prostě akorát na |
---|
0:39:37 | načtete modul a najednou vám všechno jede přes ten ta prostě tom kole se to |
---|
0:39:41 | paměti a jede vám to rychle |
---|
0:39:44 | grafické modulu pro přide grafiku tam máme ten například používá náš hlavní vyvolá ste ho |
---|
0:39:50 | používá na svém jako iphony si proto programátory což si myslím že je velice zajímavé |
---|
0:39:55 | naneštěstí nemam ukázku |
---|
0:39:57 | nemám ani iphone |
---|
0:40:00 | a skrýval pro ty kteří dělají web a řeknu tak to roste úplnej základ takže |
---|
0:40:04 | máme tam nějak jednoduchej modul pro hezky velkej podporuje s téměř celé celý snad se |
---|
0:40:10 | nebo celej standard hezký well |
---|
0:40:13 | devadesát s úmyslem |
---|
0:40:15 | a z ní jel |
---|
0:40:17 | a znáte asi zase grafika celníci je právě ta zajímavost kdy díky tomuto modulu vy |
---|
0:40:24 | můžete nečte se simonu pak si označíte nějakej is trying se chce že se že |
---|
0:40:29 | se týká zdrojový kód v nějakém daném jazyce a z toho daného jazyka |
---|
0:40:35 | se potom vytvoří ste sekce pomocí dat chtěl jazyka se vytvoří spustitelná část programovat a |
---|
0:40:41 | se vloží přímo dodal a tím způsobem se dají volat externí rutiny |
---|
0:40:46 | to celníci chci jet můžete procent plus takže je to způsobem můžete vložit přímo do |
---|
0:40:51 | kódu dal nějakej c plus plusku jako a pomocí tohoto modulu prostě genů spoustě a |
---|
0:40:55 | všechno se vyřeší na pozadí |
---|
0:40:57 | za vás |
---|
0:40:58 | a studio máme tam nějaké jednoduchý programovací prostředí pro to dal ve skutečnosti to ale |
---|
0:41:04 | není moc potřeba spíše to jenom takový jako pro ty lidi kteří opravdu potřebují programovací |
---|
0:41:09 | prostředí se vším všudy s divadlem a tak dále pak to máme také |
---|
0:41:13 | a mnoho dalších modulech sem tady zmínil ta vymejšlí jenom máme tam procesy systémový máme |
---|
0:41:19 | tam |
---|
0:41:21 | kupu dalších prostě vopravdu jich je docela hodně několik desítek takže stanislaviny vyjmenuju |
---|
0:41:27 | no a jenom taková zajímavost nakonec ta virtuální mašina referenční protože my víme paralelně referenční |
---|
0:41:33 | virtuální mašinu to znamená |
---|
0:41:35 | přímo ten program |
---|
0:41:37 | a zároveň vidím jaký jazyk |
---|
0:41:39 | co jsou dvě udělaný věci ideologické jazyky většinou vyvinuli jenom ten jazyk samotný a pak |
---|
0:41:45 | se nedívali tolik ani na to implementaci a nebo naopak jsou jazyky kde se dívají |
---|
0:41:49 | pouze na implementaci jako je asembler třeba jako takže otázka při přívětivost a ideologie a |
---|
0:41:55 | tak dále zatím může trošku slabší |
---|
0:41:58 | no a abys to snažíme skloubit proto paralelně vyvíjíme jak jazyk taky to virtuální mašinu |
---|
0:42:03 | a zjišťujeme zpětně že todle špatně implementovatelný že to bude pomalý nebo nějakým způsobem se |
---|
0:42:08 | to nehodí |
---|
0:42:08 | tak to s tou jazyka buď vyhodíme nebo se to snažíme nějak po změny pokud |
---|
0:42:12 | to je opravdu |
---|
0:42:13 | byly obou pokud nějaký přínosný koncept |
---|
0:42:16 | no a naopak |
---|
0:42:18 | takže ta naše virtuální mašina momentálně podporuje celej ten jazyk kterej momentálně mám nějaký verzi |
---|
0:42:23 | a na ten ta samotná binárka přímo tak má jenom devět tisíc bajtů takže devět |
---|
0:42:29 | kilo |
---|
0:42:30 | a knihovna dalo |
---|
0:42:31 | to znamená bez modulů a samotná knihovna dál a nula celá devět megabajtů takže je |
---|
0:42:36 | to opravdu maličkatý jazyk který je použitelný téměř všude je to napsané či stránce devadesát |
---|
0:42:41 | devět |
---|
0:42:42 | a tím pádem je to velice rychlé pro na ní třás a jak onen tak |
---|
0:42:46 | je to minimálně dva a půl krát rychlejší při běžných operacích takže s to sem |
---|
0:42:51 | se může docela dobrý úspěch na to že to dělá jenom pár lidí |
---|