{"id":53040,"date":"2019-11-22T00:00:00","date_gmt":"2019-11-21T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/yazykovye-sloi"},"modified":"2020-02-18T14:00:54","modified_gmt":"2020-02-18T11:00:54","slug":"yazykovye-sloi","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/yazykovye-sloi","title":{"rendered":"Jazykov\u00e9 vrstvy","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ahoj, Habr!<\/p>\n<p>Nab\u00edz\u00edm v\u00e1m p\u0159eklad \u010dl\u00e1nku \u201e<noindex><a rel=\"nofollow\" href=\"https:\/\/clck.ru\/JwFe2\">Jazykov\u00e9 vrstvy<\/a><\/noindex>\u201c od Roberta C. Martina (Str\u00fd\u010dka Boba).<\/p>\n<p><img decoding=\"async\" alt=\"Jazykov\u00e9 vrstvy\" src=\"\/wp-content\/uploads\/2019\/11\/7443f8be2481982b85afe6f8368a9e81.jpeg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nTr\u00e1v\u00edm \u010das hran\u00edm star\u00e9 hry \u201eLunar Lander\u201c z roku 1969. Napsal ji Jim Storer, student st\u0159edn\u00ed \u0161koly. Napsal ji na PDP-8 v jazyce FOCAL. Takhle vypad\u00e1 program: <\/p>\n<p><img decoding=\"async\" alt=\"Jazykov\u00e9 vrstvy\" src=\"\/wp-content\/uploads\/2019\/11\/44821c373bf1285cf7085306e194cc14.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA tady je zdrojov\u00fd k\u00f3d v jazyce FOCAL:<\/p>\n<p><img decoding=\"async\" alt=\"Jazykov\u00e9 vrstvy\" src=\"\/wp-content\/uploads\/2019\/11\/bcde722861952deb2e7e8e3f7064c992.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJim Storer byl docela talentovan\u00fd student st\u0159edn\u00ed \u0161koly. Pod\u00edvej se na tento k\u00f3d. Obsahuje docela zaj\u00edmav\u00e9 Taylorovy v\u00fdrazy. <\/p>\n<p>Tak\u017ee prov\u00e1d\u00edm bin\u00e1rn\u00ed vyhled\u00e1v\u00e1n\u00ed, abych ur\u010dil hodnotu K, kter\u00e1 p\u0159i opakovan\u00e9m pou\u017eit\u00ed p\u0159esn\u011b p\u0159istane lod\u00ed. Proto jsem zm\u011bnil program, aby akceptoval pouze jednu hodnotu, a pak ji aplikoval n\u011bkolikr\u00e1t, dokud lo\u010f nep\u0159istane nebo se nerozbije. Zat\u00edmco to p\u00ed\u0161u, v\u00edm, \u017ee odpov\u011b\u010f le\u017e\u00ed mezi 76.40625 a 76.4453125, tak\u017ee zkus\u00edm 76.4257813. Za\u010d\u00edn\u00e1m m\u00edt pocit, \u017ee mi dojde \u010das, ne\u017e najdu odpov\u011b\u010f. <\/p>\n<p>Mezit\u00edm m\u011b napadlo, \u017ee jsem tento program spustil v emul\u00e1toru <noindex><a rel=\"nofollow\" href=\"https:\/\/clck.ru\/JwGvr\">PDP-8<\/a><\/noindex>, kter\u00fd jsem napsal v Lua pro iPad.<\/p>\n<p>Tak\u017ee, dob\u0159e, poj\u010fme se nad t\u00edm zamyslet.<\/p>\n<ul>\n<li>iPad m\u00e1 \u010dip <noindex><a rel=\"nofollow\" href=\"https:\/\/clck.ru\/JwGxH\">A8X<\/a><\/noindex>, s t\u0159emi j\u00e1dry b\u011b\u017e\u00edc\u00edmi na frekvenci giga hertz nebo tak n\u011bjak.<\/li>\n<li>Lua je naps\u00e1na v C a kompiluje se do A8X.<\/li>\n<li>M\u016fj emul\u00e1tor PDP8 je naps\u00e1n v jazyce Lua, s pou\u017eit\u00edm bal\u00ed\u010dku <noindex><a rel=\"nofollow\" href=\"https:\/\/clck.ru\/JwGy4\">CODEA<\/a><\/noindex> z \u010d\u00e1sti Two Lives Left.<\/li>\n<li>FOCAL byl naps\u00e1n na konci 60. let na PDP8.<\/li>\n<li>Lunar Lander byl naps\u00e1n v jazyce FOCAL.<\/li>\n<\/ul>\n<p>\nTak\u017ee, to jsou A8X, C, Lua, PDP8 a FOCAL. P\u011bt r\u016fzn\u00fdch jazyk\u016f. P\u011bt r\u016fzn\u00fdch mechanism\u016f, jak \u0159\u00edct stroji, co m\u00e1 d\u011blat; v\u0161echny jsou vrstven\u00e9 jedna na druhou! <\/p>\n<p>Co to znamen\u00e1? Pro\u010d je tolik jazyk\u016f? Odpus\u0165te mi, zapome\u0148te na iPad, PDP-8, C, Lua a v\u0161echno ostatn\u00ed. Pro\u010d je tolik jazyk\u016f? <\/p>\n<p>##\u041f\u043e\u0447\u0435\u043c\u0443 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u0430\u043a \u043c\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u043e\u0432? <\/p>\n<p>Zamysli se nad t\u00edm! Kolik programovac\u00edch jazyk\u016f m\u016f\u017ee\u0161 vyjmenovat? Tak tady je mal\u00fd seznam:<\/p>\n<ul>\n<li> FORTRAN<\/li>\n<li> ALGOL<\/li>\n<li> COBOL<\/li>\n<li> SNOBOL<\/li>\n<li> LISP<\/li>\n<li> BCPL<\/li>\n<li> B<\/li>\n<li> C<\/li>\n<li> SIMULA<\/li>\n<li> SMALLTALK<\/li>\n<li> EIFFEL<\/li>\n<li> C++<\/li>\n<li> JAVA<\/li>\n<li> C#<\/li>\n<li> PYTHON<\/li>\n<li> RUBY<\/li>\n<li> LOGO<\/li>\n<li> LUA<\/li>\n<li> BASIC<\/li>\n<li> PL\/1<\/li>\n<li> JAVASCRIPT<\/li>\n<li> GO<\/li>\n<li> DART<\/li>\n<li> PROLOG<\/li>\n<li> FORTH<\/li>\n<li> SWIFT<\/li>\n<li> ML<\/li>\n<li> OCCAM<\/li>\n<li> OCAML<\/li>\n<li> ADA<\/li>\n<li> ERLANG<\/li>\n<li> ELIXIR<\/li>\n<li> FOCAL<\/li>\n<\/ul>\n<p>\nSamoz\u0159ejm\u011b, m\u016f\u017ee\u0161 si vzpomenout na dal\u0161\u00ed, kter\u00e9 jsem nezm\u00ednil. Ot\u00e1zka zn\u00ed, pro\u010d jich je tolik? Na tuto ot\u00e1zku skute\u010dn\u011b m\u016f\u017ee b\u00fdt jen jedna odpov\u011b\u010f. D\u016fvod, pro\u010d existuje tolik po\u010d\u00edta\u010dov\u00fdch jazyk\u016f: <\/p>\n<blockquote><p> <em>Nem\u00e1me je r\u00e1di.<\/em>\n<\/p><\/blockquote>\n<p>\nNo, mo\u017en\u00e1 je to p\u0159\u00edli\u0161 siln\u00e9 prohl\u00e1\u0161en\u00ed. Mo\u017en\u00e1 bych m\u011bl \u0159\u00edct: <\/p>\n<blockquote><p> <em>Byli jsme v Hollywoodu.<br \/>\n Byli jsme v Redwoodu.<br \/>\n P\u0159e\u0161li jsme oce\u00e1n za zlat\u00fdm k\u00f3dem.<br \/>\n Byli jsme ve sv\u00e9m \u017eivlu,<br \/>\n To je tak tenk\u00e1 hranice.<br \/>\n To n\u00e1s nut\u00ed hledat zlat\u00fd k\u00f3d.<\/p>\n<p> A my st\u00e1rneme.<\/em>\n<\/p><\/blockquote>\n<p> Dob\u0159e, mo\u017en\u00e1 bych m\u011bl mluvit za sebe\u2026 Necht\u011bl jsi prost\u011b za\u0159vat na Neila Younga, aby p\u0159estal na\u0159\u00edkat, na\u0161el n\u011bjakou milou d\u00edvku a bydlel s n\u00ed? Necht\u011bli jste mu \u0159\u00edct, \u017ee hled\u00e1n\u00ed zlat\u00e9ho srdce bylo marn\u00e9? \u0158ekn\u011bte mu, co by s n\u00edm ud\u011blal, kdyby ho na\u0161el? <\/p>\n<p>A co bychom ud\u011blali s dokonal\u00fdm jazykem, kdybychom ho na\u0161li?<\/p>\n<blockquote><p><em>Vytvo\u0159ili jsme emul\u00e1tory PDP-8 a FOCAL, abychom si zahr\u00e1li &#187; Lunar Lander&#187;, kterou napsal student st\u0159edn\u00ed \u0161koly v roce 1969!<\/em>\n<\/p><\/blockquote>\n<p> <b>Tohle si mysl\u00edm.<\/b><\/p>\n<p>Sm\u00ed\u0159te se s t\u00edm. P\u0159esta\u0148te hledat. Neexistuje \u017e\u00e1dn\u00fd dokonal\u00fd jazyk. Hledali jsme v\u0161ude. D\u00edvali jsme se shora dol\u016f. D\u00edvali jsme se dovnit\u0159 i ven.<\/p>\n<blockquote><p> <em>Pod\u00edvali jsme se na jazyky z obou stran.<br \/>\n Zevnit\u0159 a zven\u010d\u00ed<br \/>\n a po\u0159\u00e1d tak \u010di onak.<br \/>\n Pamatujeme si, \u017ee jsou to jazykov\u00e9 iluze.<\/p>\n<p>O jazyc\u00edch opravdu nic nech\u00e1peme...<br \/>\n... v\u016fbec.<\/em>\n<\/p><\/blockquote>\n<p> Ano, dnes je zvl\u00e1\u0161tn\u00ed den.<\/p>\n<p>Ale p\u0159esto, podstata je tato:<\/p>\n<blockquote><p> <em>Nepot\u0159ebujeme jin\u00fd jazyk.<br \/>\n Nepot\u0159ebujeme v\u011bd\u011bt, jak se dostat dom\u016f.<br \/>\n V\u0161echno, co chceme, je dostat se za hranice \u017eivota.<br \/>\n S.Q.L.<\/em>\n<\/p><\/blockquote>\n<p> Ano, podivn\u00fd den.<\/p>\n<p>Tak\u017ee, je tu jedna my\u0161lenka. Mo\u017en\u00e1 bychom m\u011bli p\u0159estat vytv\u00e1\u0159et nov\u00e9 jazyky a jen se uklidnit a vybrat jeden nebo dva, kter\u00e9 jsou opravdu dobr\u00e9. To by n\u00e1m hodn\u011b usnadnilo \u017eivot, \u017ee?<\/p>\n<p>A pokud v\u00e1s to zaj\u00edm\u00e1, 76.43844461 v\u00e1m d\u00e1v\u00e1 docela dobr\u00e9 p\u0159ist\u00e1n\u00ed p\u0159i 2.23 MPH.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/476644\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u00abLanguage Layers\u00bb \u0430\u0432\u0442\u043e\u0440\u0430 Robert C. Martin (Uncle Bob). \u042f \u043f\u0440\u043e\u0432\u043e\u0436\u0443 \u0432\u0440\u0435\u043c\u044f, \u0438\u0433\u0440\u0430\u044f \u0432 \u0441\u0442\u0430\u0440\u0443\u044e \u0438\u0433\u0440\u0443 \u00abLunar Lander\u00bb 1969 \u0433\u043e\u0434\u0430. \u041e\u043d\u0430 \u0431\u044b\u043b\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0414\u0436\u0438\u043c\u043e\u043c \u0421\u0442\u043e\u0440\u0435\u0440\u043e\u043c, \u0443\u0447\u0435\u043d\u0438\u043a\u043e\u043c \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u0448\u043a\u043e\u043b\u044b. \u041e\u043d \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0435\u0435 \u043d\u0430 PDP-8 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 FOCAL. \u0412\u043e\u0442 \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430: \u0410 \u0432\u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 FOCAL: \u0414\u0436\u0438\u043c \u0421\u0442\u043e\u0440\u0435\u0440 \u0431\u044b\u043b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-53040","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u00abLanguage Layers\u00bb \u0430\u0432\u0442\u043e\u0440\u0430 Robert C.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/news\/yazykovye-sloi\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u042f\u0437\u044b\u043a\u043e\u0432\u044b\u0435 \u0441\u043b\u043e\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u00abLanguage Layers\u00bb \u0430\u0432\u0442\u043e\u0440\u0430 Robert C.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/yazykovye-sloi\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-11-21T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:00:54+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Jazykov\u00e9 vrstvy | ProHoster","description":"Ahoj, Habr! P\u0159edkl\u00e1d\u00e1m v\u00e1m p\u0159eklad \u010dl\u00e1nku \u201eLanguage Layers\u201c autora Roberta C.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/yazykovye-sloi","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u042f\u0437\u044b\u043a\u043e\u0432\u044b\u0435 \u0441\u043b\u043e\u0438 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u00abLanguage Layers\u00bb \u0430\u0432\u0442\u043e\u0440\u0430 Robert C.","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/yazykovye-sloi","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-11-21T21:00:00+00:00","article:modified_time":"2020-02-18T11:00:54+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53040","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 05:50:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:32:31","updated":"2026-01-24 05:50:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/53040","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=53040"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/53040\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=53040"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=53040"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=53040"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}