{"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\/da\/blog\/news\/yazykovye-sloi","title":{"rendered":"Sprogslag","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hello, Habr!<\/p>\n<p>Jeg pr\u00e6senterer herved overs\u00e6ttelsen af artiklen \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/clck.ru\/JwFe2\">Language Layers<\/a><\/noindex>\u00bb af Robert C. Martin (Uncle Bob).<\/p>\n<p><img decoding=\"async\" alt=\"Sprogslag\" src=\"\/wp-content\/uploads\/2019\/11\/7443f8be2481982b85afe6f8368a9e81.jpeg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nJeg bruger tid p\u00e5 at spille det gamle spil \u00abLunar Lander\u00bb fra 1969. Det blev skrevet af Jim Storer, en gymnasieelev. Han skrev det p\u00e5 en PDP-8 i FOCAL. Her er, hvordan programmet ser ud: <\/p>\n<p><img decoding=\"async\" alt=\"Sprogslag\" src=\"\/wp-content\/uploads\/2019\/11\/44821c373bf1285cf7085306e194cc14.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOg her er kildekoden i FOCAL:<\/p>\n<p><img decoding=\"async\" alt=\"Sprogslag\" src=\"\/wp-content\/uploads\/2019\/11\/bcde722861952deb2e7e8e3f7064c992.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJim Storer var en ret talentfuld gymnasieelev. Se p\u00e5 denne kode. Den har nogle ret interessante Taylor-udtryk. <\/p>\n<p>Generelt laver jeg en bin\u00e6r s\u00f8gning for at bestemme v\u00e6rdien af K, der ved sekventiel brug vil lande skibet perfekt. Derfor \u00e6ndrede jeg programmet s\u00e5ledes, at det kun accepterer \u00e9n v\u00e6rdi og derefter anvender den flere gange, indtil skibet lander eller g\u00e5r i stykker. Mens jeg skriver dette, ved jeg, at svaret ligger mellem 76.40625 og 76.4453125, og jeg vil pr\u00f8ve 76.4257813. Jeg begynder at t\u00e6nke, at tiden snart rinder ud, f\u00f8r jeg finder svaret. <\/p>\n<p>Imens kom jeg i tanke om, at jeg k\u00f8rte dette program p\u00e5 en emulator <noindex><a rel=\"nofollow\" href=\"https:\/\/clck.ru\/JwGvr\">PDP-8<\/a><\/noindex>, som jeg skrev i Lua til iPad.<\/p>\n<p>S\u00e5, lad os t\u00e6nke over det.<\/p>\n<ul>\n<li>iPad har en chip <noindex><a rel=\"nofollow\" href=\"https:\/\/clck.ru\/JwGxH\">A8X<\/a><\/noindex>, med tre kerner der k\u00f8rer ved omkring en gigahertz.<\/li>\n<li>Lua er skrevet i C og kompileres til A8X.<\/li>\n<li>Min PDP8-emulator er skrevet i Lua ved hj\u00e6lp af pakken <noindex><a rel=\"nofollow\" href=\"https:\/\/clck.ru\/JwGy4\">CODEA<\/a><\/noindex> fra Two Lives Left.<\/li>\n<li>FOCAL blev skrevet i slutningen af 1960'erne p\u00e5 PDP8.<\/li>\n<li>Lunar Lander blev skrevet i FOCAL.<\/li>\n<\/ul>\n<p>\nS\u00e5 det er A8X, C, Lua, PDP8 og FOCAL. Fem forskellige sprog. Fem forskellige mekanismer, der fort\u00e6ller maskinen, hvad den skal g\u00f8re; alle stablet oven p\u00e5 hinanden! <\/p>\n<p>Hvad er der galt? Hvorfor s\u00e5 mange sprog? Faktisk, glem iPad, PDP-8, C, Lua og alt det andet. Hvorfor er der s\u00e5 mange sprog? <\/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>T\u00e6nk over det! Hvor mange programmeringssprog kan du n\u00e6vne? Her, lad mig give dig en lille liste:<\/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>\nDu kan sikkert t\u00e6nke p\u00e5 andre, som jeg ikke har n\u00e6vnt. Sp\u00f8rgsm\u00e5let er, hvorfor der er s\u00e5 mange? Der kan kun v\u00e6re \u00e9t svar p\u00e5 dette sp\u00f8rgsm\u00e5l. \u00c5rsagen til, at der er s\u00e5 mange computersprog: <\/p>\n<blockquote><p> <em>Vi kan ikke lide dem.<\/em>\n<\/p><\/blockquote>\n<p>\nN\u00e5, m\u00e5ske er det en for st\u00e6rk udtalelse. M\u00e5ske burde jeg sige: <\/p>\n<blockquote><p> <em>Vi har v\u00e6ret i Hollywood.<br \/>\n Vi har v\u00e6ret i Redwood.<br \/>\n Vi krydsede havet for den gyldne kode.<br \/>\n Vi var ved vores fulde fem,<br \/>\n Det er en fin linje.<br \/>\n Det f\u00e5r os til at s\u00f8ge efter den gyldne kode.<\/p>\n<p> Vi \u00e6ldes.<\/em>\n<\/p><\/blockquote>\n<p> Okay, m\u00e5ske skal jeg tale for mig selv... Ville du ikke bare r\u00e5be ad Neil Young for at f\u00e5 ham til at stoppe med at klage, finde en s\u00f8d pige og leve med hende? Ville du ikke sige til ham, at jagten p\u00e5 et guldhjerte var spild af tid? Fort\u00e6l mig, hvad ville han g\u00f8re med det, hvis han fandt det? <\/p>\n<p>Og hvad ville vi g\u00f8re med det perfekte sprog, hvis vi fandt det?<\/p>\n<blockquote><p><em>Vi har lavet PDP-8 og FOCAL emulatorer for at spille &#187; Lunar Lander&#187;, skrevet af en gymnasieelev i 1969!<\/em>\n<\/p><\/blockquote>\n<p> <b>Det er, hvad jeg t\u00e6nker.<\/b><\/p>\n<p>Accept\u00e9r det. Stop med at s\u00f8ge. Der er ikke noget perfekt sprog. Vi har ledt overalt. Vi har set oppe og nede. Vi har set indvendigt og udvendigt.<\/p>\n<blockquote><p> <em>Vi har set p\u00e5 sprog fra begge sider.<br \/>\n Indefra og udefra<br \/>\n og stadig p\u00e5 en eller anden m\u00e5de.<br \/>\n Husk, at dette er sproglige illusioner.<\/p>\n<p>Vi forst\u00e5r virkelig ikke noget om sprog...<br \/>\n... overhovedet.<\/em>\n<\/p><\/blockquote>\n<p> Ja, i dag er en us\u00e6dvanlig dag.<\/p>\n<p>Men ikke desto mindre, essensen er:<\/p>\n<blockquote><p> <em>Vi har ikke brug for et andet sprog.<br \/>\n Vi har ikke brug for at vide vejen hjem.<br \/>\n Alt, hvad vi \u00f8nsker, er at komme ud over livet.<br \/>\n S.Q.L.<\/em>\n<\/p><\/blockquote>\n<p> Ja, en m\u00e6rkelig dag.<\/p>\n<p>S\u00e5 er der en tanke. M\u00e5ske skal vi stoppe med at skabe nye sprog og bare slappe af og v\u00e6lge et eller to, der virkelig er gode. Det vil g\u00f8re livet meget enklere, ikke?<\/p>\n<p>Og hvis du er interesseret, giver 76.43844461 en ret god landing ved 2.23 MPH.<br \/>\n<br \/>Kilde: <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\/da\/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=\"da_DK\" \/>\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\/da\/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\udd47Sproglige lag | ProHoster","description":"Hej, Habr! Jeg pr\u00e6senterer her en overs\u00e6ttelse af artiklen \u00abLanguage Layers\u00bb af Robert C.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/yazykovye-sloi","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/53040","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=53040"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/53040\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=53040"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=53040"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=53040"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}