{"id":89,"date":"2016-08-15T19:39:16","date_gmt":"2016-08-15T17:39:16","guid":{"rendered":""},"modified":"2018-09-17T21:51:58","modified_gmt":"2018-09-17T19:51:58","slug":"sedem-jazykov-za-sedem-tyzdnov","status":"publish","type":"post","link":"https:\/\/spireng.sk\/en\/sedem-jazykov-za-sedem-tyzdnov\/","title":{"rendered":"Sedem jazykov za sedem t\u00fd\u017ed\u0148ov"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"imgp_img\" style=\"float: left; margin: 2px 5px;\" src=\"\/sites\/default\/files\/imagepicker\/1\/dfds65f4ds6.jpg\" alt=\"Obr\u00e1zok\" width=\"200\" height=\"215\" \/>Hovor\u00ed sa, \u017ee ko\u013eko jazykov vie\u0161, to\u013ekokr\u00e1t si \u010dlovekom. Nepochybujem o tom, \u017ee v \u010dase, ke\u010f toto porekadlo vzniklo, nie\u010do ako programovacie jazyky ani neexistovalo. Napriek tomu by sa to dalo \u013eahko parafr\u00e1zova\u0165 ako: Ko\u013eko programovac\u00edch jazykov vie\u0161, to\u013ekokr\u00e1t si program\u00e1torom. Nie \u017ee by ste potrebovali by\u0165 guru vo v\u0161etk\u00fdch existuj\u00facich jazykoch. Nie. Sta\u010d\u00ed ve\u013emi dobre (do h\u013abky) pozna\u0165 zop\u00e1r a tak trochu vedie\u0165 o v\u0161etk\u00fdch. T\u00e1 \u0161ir\u0161ia (aj ke\u010f nie hlbok\u00e1) vedomos\u0165 o in\u00fdch jazykoch v\u00e1m za prv\u00e9 otv\u00e1ra obzory a ukazuje, \u010do v\u0161etko existuje a za druh\u00e9 v\u00e1s tak trochu pripravuje na de\u0148, ke\u010f sa pred vami zrazu objav\u00ed projekt postaven\u00fd na jednom z t\u00fdchto jazykov. Aj preto je dobr\u00e9 sk\u00f4r alebo nesk\u00f4r siahnu\u0165 po knihe ako je <a href=\"http:\/\/www.bookdepository.com\/Seven-Languages-in-Seven-Weeks\/9781934356593\">Seven Languages in Seven Weeks<\/a> od Bruce Tatea.<!--more--><!--break--><\/p>\n<p>Je to naozaj tak, ako sa p\u00ed\u0161e v n\u00e1zve. Kniha v\u00e1s u\u010d\u00ed sedem programovac\u00edch jazykov (aj ke\u010f to nemus\u00ed by\u0165 za sedem t\u00fd\u017ed\u0148ov). Autor si dal pomerne silne z\u00e1le\u017ea\u0165 na v\u00fdbere a zozbieral naozaj mnohochu\u0165. Ako s\u00e1m p\u00ed\u0161e, rob\u00ed to nie aby v\u00e1s nau\u010dil konkr\u00e9tne t\u00fdchto sedem jazykov, ale aby uk\u00e1zal, \u010do v\u0161etko existuje a \u017ee je dobre si \u0161tudova\u0165 a prezera\u0165 \u00faplne nov\u00e9 veci. Aj preto kniha za\u010d\u00edna motiva\u010dnou kapitolou, pre\u010do sa v\u00f4bec naraz u\u010di\u0165 to\u013eko jazykov.<\/p>\n<p>A potom u\u017e nasleduj\u00fa samotn\u00e9 jazyky \u2013 ka\u017ed\u00fd ma svoje tri kapitoly, ktor\u00e9 v\u00e1s r\u00fdchlokurzom preved\u00fa od \u00fapln\u00e9ho za\u010diatku a\u017e po komplikovanej\u0161ie t\u00e9my. Ruby ako \u010diste objektovo orientovan\u00fd jazyk, IO ako prototypov\u00fd jazyk a Prolog zalo\u017een\u00fd na logick\u00fdch pravidl\u00e1ch. \u010ealej Scala ako kombin\u00e1cia objektovo orientovan\u00e9ho a funkcion\u00e1lneho jazyka, Erlang ako nie\u010do medzi Prologom a funkcion\u00e1lnymi jazykmi, Closure ako funkcion\u00e1lny jazyk pre JVM a na z\u00e1ver Haskell ako \u010diste funkcion\u00e1lny jazyk.<\/p>\n<p>Ako vidno, zast\u00fapen\u00e9 s\u00fa r\u00f4zne paradigmy programovania, pri\u010dom autor medzi nimi preskakuje a vyber\u00e1 jazyky, ktor\u00e9 plne zastupuj\u00fa dan\u00fa paradigmu, alebo s\u00fa naopak, ich kombin\u00e1ciou. A pr\u00e1ve o t\u00fdch kombin\u00e1ci\u00e1ch hovor\u00ed ako o nie\u010dom, \u010do v skuto\u010dnosti pos\u00fava svet programovac\u00edch jazykov \u010falej. Pod\u013ea jeho n\u00e1zoru to toti\u017e nikde nefunguje tak, \u017ee ak pr\u00edde nov\u00e1 paradigma, tak sa jednoducho za\u010dne pou\u017e\u00edva\u0165. To je v\u017edy pr\u00edli\u0161 ve\u013ek\u00e1 zmena pre svet IT, aby sa jednoducho mohla sta\u0165. Namiesto toho sa udeje to, \u017ee pr\u00edde nejak\u00fd jazyk, ktor\u00fd v sebe kombinuje star\u00fa aj nov\u00fa paradigmu. Ak\u00fdsi most, ktor\u00fd umo\u017e\u0148uje rozm\u00fd\u0161\u013ea\u0165 star\u00fdm aj nov\u00fdm \u0161t\u00fdlom (napr\u00edklad C++ bol medzistupe\u0148 medzi C-\u010dkom a nov\u00fdmi objektov\u00fdmi jazykmi).<\/p>\n<p>Bruce je fan\u00fa\u0161ikom funkcion\u00e1lnych jazykov (na tom v\u00fdbere to je tak trochu vidno, hoci mus\u00edm poveda\u0165, \u017ee sa sna\u017e\u00ed objekt\u00edvne pomenova\u0165 aj probl\u00e9my a nedostatky t\u00fdchto jazykov). A tie\u017e si mysl\u00ed (v poslednom \u010dase sa s t\u00fdmto n\u00e1zorom stret\u00e1vam nejako \u010dasto), \u017ee v\u0161etky jazyky nakoniec smeruj\u00fa k Lispu (funkcion\u00e1lny jazyk, ktor\u00fd je tu s nami u\u017e 40 rokov), z\u00e1rove\u0148 si ale uvedomuje, \u017ee ak by mal Lisp uspie\u0165, tak u\u017e by sa to stalo. Aj preto sa pozer\u00e1 na nov\u00e9 jazyky ako Scala alebo Closure ako na t\u00fdch prav\u00fdch potomkov Lispu (a Javy), ktor\u00e9 by sa mohli presadi\u0165.<\/p>\n<p>Kniha je nap\u00edsan\u00e1 tak, \u017ee ka\u017ed\u00fd programovac\u00ed jazyk je rozdelen\u00fd do troch \u010dast\u00ed, ka\u017ed\u00e1 vysvet\u013euje jedno alebo viacero zauj\u00edmav\u00fdch t\u00e9m. Na z\u00e1ver ka\u017edej takejto \u010dasti je potom s\u00e9ria cvi\u010den\u00ed. Autor nab\u00e1da a ukazuje, ako si u seba rozbeha\u0165 pre ka\u017ed\u00fd jazyk sk\u00fa\u0161obn\u00e9 prostredie, tak\u017ee pokia\u013e si radi sk\u00fa\u0161ate veci, o ktor\u00fdch pr\u00e1ve \u010d\u00edtate, tak to budete ma\u0165 o to jednoduch\u0161ie.<\/p>\n<p>Za sedem t\u00fd\u017ed\u0148ov sa nedok\u00e1\u017eete nau\u010di\u0165 do h\u013abky sedem programovac\u00edch jazykov. Niektor\u00e9 z t\u00fdch, ktor\u00e9 s\u00fa v knihe, s\u00fa naozaj obsiahle a ich pln\u00e9 pochopenie by v\u00e1m zabralo pravdepodobne mesiace. Ale to ani nebol cie\u013e. Cie\u013e bol uk\u00e1za\u0165 nov\u00e9 veci a to, \u017ee jazyky sa menia. \u017de mainstream sa ve\u013emi pomaly, ako tektonick\u00e1 doska, centimeter po centimetri pos\u00fava. A \u017ee ak dnes viete .Net, Javu a JavaScript, tak o 10 rokov to u\u017e nemus\u00ed by\u0165 tak\u00e9 super ako je dnes. A cie\u013eom bolo tie\u017e vysvetli\u0165 existuj\u00faci svet z novej perspekt\u00edvy. A\u017e pri \u010d\u00edtan\u00ed o Ruby m\u00f4\u017eete pochopi\u0165, \u017ee Java nie je \u010diste objektovo-orientovan\u00fd jazyk (lebo m\u00e1 primit\u00edvne typy, \u010do nie s\u00fa objekty) alebo a\u017e pri \u010d\u00edtan\u00ed o Io pochop\u00edte ako funguj\u00fa prototypov\u00e9 jazyky a teda JavaScript (a zarad\u00edte sa tak medzi pomerne \u00fazku skupinu v\u00fdvoj\u00e1rov). Ve\u013emi jednoducho povedan\u00e9, \u010das str\u00e1ven\u00fd \u010d\u00edtan\u00edm takejto knihy v\u00e1m nem\u00f4\u017ee u\u0161kodi\u0165. M\u00f4\u017ee v\u00e1m len pom\u00f4c\u0165 t\u00fdm alebo in\u00fdm smerom.<\/p>","protected":false},"excerpt":{"rendered":"<p>Hovor\u00ed sa, \u017ee ko\u013eko jazykov vie\u0161, to\u013ekokr\u00e1t si \u010dlovekom. Nepochybujem o tom, \u017ee v \u010dase, ke\u010f toto porekadlo vzniklo, nie\u010do ako programovacie jazyky ani neexistovalo. Napriek tomu by sa to dalo \u013eahko parafr\u00e1zova\u0165 ako: Ko\u013eko programovac\u00edch jazykov vie\u0161, to\u013ekokr\u00e1t si program\u00e1torom. Nie \u017ee by ste potrebovali by\u0165 guru vo v\u0161etk\u00fdch existuj\u00facich jazykoch. Nie. Sta\u010d\u00ed ve\u013emi [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-89","post","type-post","status-publish","format-standard","hentry","category-vyvoj-softveru"],"_links":{"self":[{"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/posts\/89","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/comments?post=89"}],"version-history":[{"count":1,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/posts\/89\/revisions"}],"predecessor-version":[{"id":142,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/posts\/89\/revisions\/142"}],"wp:attachment":[{"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/media?parent=89"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/categories?post=89"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/tags?post=89"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}