{"id":20904,"date":"2023-02-09T03:45:59","date_gmt":"2023-02-09T03:45:59","guid":{"rendered":"https:\/\/www.booksofall.com\/id\/?post_type=product&#038;p=20904"},"modified":"2023-02-09T03:47:50","modified_gmt":"2023-02-09T03:47:50","slug":"beautiful-code-compelling-evidence","status":"publish","type":"product","link":"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/","title":{"rendered":"Beautiful Code, Compelling Evidence"},"content":{"rendered":"<h4>INTRODUCTION<\/h4>\n<p><a href=\"https:\/\/medium.com\/la-vie-en-code\/visualization-techniques-for-programmers-and-why-you-should-be-using-them-ed9cfba062da\">Visualization programmers<\/a> need a close-to-the-hardware, powerful 2D and 3D graphics toolkit to create applications that handle large amounts of data well. <a href=\"https:\/\/www.opengl.org\/\">OpenGL<\/a> is the most portable system for 3D graphics card programming, and thus is a common language for many visualization applications. Scott Dillard has said of the OpenGL graphics library bindings in Haskell:<\/p>\n<p>The library is fantastic. I don\u2019t think it gets enough fanfare. The only other <a href=\"https:\/\/www.opengl.org\/Documentation\/Documentation.html\">GL API<\/a> that rivals it is the C API itself. Most other languages provide a shoddy and incomplete interface to that, instead of an idiomatic interpretation of the OpenGL specification. I can\u2019t think of a single language, not even Python, whose OpenGL bindings come close.<\/p>\n<p>OpenGL is powerful, but it can also be more complicated than actually necessary. For applications involving 2D graphics, a low amount of interactivity, and a smaller amount of data, it would be simpler not to bother with the video card and the rendering pipeline. Additionally, some visualizations are meant for print form. The <a href=\"https:\/\/foundation.gnome.org\/\">Gnome Foundation\u2019<\/a>s Cairo 2D graphics toolkit is perfect for these applications. As luck would have it, Haskell also has an excellent binding to Cairo.<\/p>\n<p>Three other things make Haskell ideally suited to information visualization and visual analytics: a well-thought out and extensible library of generic data structures, lazy evaluation, and the separation of data transformation code from input\/output inherent in a pure functional programming language. Visualizations written in Haskell tend naturally to break up into portions of reusable and visualization specific code. Thus, programs for visualization written in Haskell maintain readability and reusability as well or better than Python, but do not suffer the performance problems of an interpreted language.<\/p>\n<p>For much the same reason as <a href=\"https:\/\/simon.peytonjones.org\/\">Simon Peyton-Jones<\/a> put together Tackling the Awkward Squad, I have put together these lecture notes. I hope these will bring a programmer interested in visualization and open to the aesthetic advantages of functional programming up to speed on both topics.<\/p>\n<h4>FUNCTIONAL PROGRAMMING<\/h4>\n<p>A lazy functional programming language such as Haskell has practical effects that reduce the programmer\u2019s concern over minutia that are irrelevant to the larger task at hand. Namely, it expresses concurrency and takes advantage of parallelism without the programmer having to bother with barriers, threads, shared data, and IPC. It is capable of loading, unloading, processing, and storing complex data structures on demand without complicated support structures, caching, and loading schemes. It enforces separation of data transformation from data presentation. It makes debugging easier for a variety of reasons, one being type-safety and compiler-time strict type checking. Finally, recursive data structures, such as graphs and trees, can be naturally expressed and traversed in functional programming languages without loss of efficiency.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p><iframe style=\"width: 100%; height: 700px; border: none;\" src=\"https:\/\/online.visual-paradigm.com\/share\/book\/beautifulcode-192hl48mw4?enforceShowPromotionBar=true&amp;p=1\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n","protected":false},"featured_media":20908,"template":"","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":""},"product_brand":[],"product_cat":[324],"product_tag":[],"class_list":{"0":"post-20904","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-haskell","8":"first","9":"instock","10":"shipping-taxable","11":"product-type-simple"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Beautiful Code, Compelling Evidence - BooksOfAll Indonesian<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Beautiful Code, Compelling Evidence - BooksOfAll Indonesian\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/\" \/>\n<meta property=\"og:site_name\" content=\"BooksOfAll Indonesian\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-09T03:47:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.booksofall.com\/id\/wp-content\/uploads\/sites\/12\/2023\/02\/img_63e46a7569ae4.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.booksofall.com\/id\/wp-content\/uploads\/sites\/12\/2023\/02\/img_63e46a7569ae4.png\" \/>\n<meta name=\"twitter:label1\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/\",\"url\":\"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/\",\"name\":\"Beautiful Code, Compelling Evidence - BooksOfAll Indonesian\",\"isPartOf\":{\"@id\":\"https:\/\/www.booksofall.com\/id\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.booksofall.com\/id\/wp-content\/uploads\/sites\/12\/2023\/02\/img_63e46a7569ae4.png\",\"datePublished\":\"2023-02-09T03:45:59+00:00\",\"dateModified\":\"2023-02-09T03:47:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/#primaryimage\",\"url\":\"https:\/\/www.booksofall.com\/id\/wp-content\/uploads\/sites\/12\/2023\/02\/img_63e46a7569ae4.png\",\"contentUrl\":\"https:\/\/www.booksofall.com\/id\/wp-content\/uploads\/sites\/12\/2023\/02\/img_63e46a7569ae4.png\",\"width\":\"535\",\"height\":\"731\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.booksofall.com\/id\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Categories\",\"item\":\"https:\/\/www.booksofall.com\/id\/categories\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Beautiful Code, Compelling Evidence\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.booksofall.com\/id\/#website\",\"url\":\"https:\/\/www.booksofall.com\/id\/\",\"name\":\"BooksOfAll Indonesian\",\"description\":\"Biggest IT eBooks library and learning resources - Free eBooks for programming, computing, artificial intelligence and more.\",\"publisher\":{\"@id\":\"https:\/\/www.booksofall.com\/id\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.booksofall.com\/id\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.booksofall.com\/id\/#organization\",\"name\":\"BooksOfAll Indonesian\",\"url\":\"https:\/\/www.booksofall.com\/id\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.booksofall.com\/id\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.booksofall.com\/id\/wp-content\/uploads\/sites\/12\/2022\/06\/booksofall-logo-2.png\",\"contentUrl\":\"https:\/\/www.booksofall.com\/id\/wp-content\/uploads\/sites\/12\/2022\/06\/booksofall-logo-2.png\",\"width\":166,\"height\":30,\"caption\":\"BooksOfAll Indonesian\"},\"image\":{\"@id\":\"https:\/\/www.booksofall.com\/id\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Beautiful Code, Compelling Evidence - BooksOfAll Indonesian","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/","og_locale":"id_ID","og_type":"article","og_title":"Beautiful Code, Compelling Evidence - BooksOfAll Indonesian","og_url":"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/","og_site_name":"BooksOfAll Indonesian","article_modified_time":"2023-02-09T03:47:50+00:00","og_image":[{"url":"https:\/\/www.booksofall.com\/id\/wp-content\/uploads\/sites\/12\/2023\/02\/img_63e46a7569ae4.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/www.booksofall.com\/id\/wp-content\/uploads\/sites\/12\/2023\/02\/img_63e46a7569ae4.png","twitter_misc":{"Estimasi waktu membaca":"2 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/","url":"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/","name":"Beautiful Code, Compelling Evidence - BooksOfAll Indonesian","isPartOf":{"@id":"https:\/\/www.booksofall.com\/id\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/#primaryimage"},"image":{"@id":"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/#primaryimage"},"thumbnailUrl":"https:\/\/www.booksofall.com\/id\/wp-content\/uploads\/sites\/12\/2023\/02\/img_63e46a7569ae4.png","datePublished":"2023-02-09T03:45:59+00:00","dateModified":"2023-02-09T03:47:50+00:00","breadcrumb":{"@id":"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/#primaryimage","url":"https:\/\/www.booksofall.com\/id\/wp-content\/uploads\/sites\/12\/2023\/02\/img_63e46a7569ae4.png","contentUrl":"https:\/\/www.booksofall.com\/id\/wp-content\/uploads\/sites\/12\/2023\/02\/img_63e46a7569ae4.png","width":"535","height":"731"},{"@type":"BreadcrumbList","@id":"https:\/\/www.booksofall.com\/id\/beautiful-code-compelling-evidence\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.booksofall.com\/id\/"},{"@type":"ListItem","position":2,"name":"Categories","item":"https:\/\/www.booksofall.com\/id\/categories\/"},{"@type":"ListItem","position":3,"name":"Beautiful Code, Compelling Evidence"}]},{"@type":"WebSite","@id":"https:\/\/www.booksofall.com\/id\/#website","url":"https:\/\/www.booksofall.com\/id\/","name":"BooksOfAll Indonesian","description":"Biggest IT eBooks library and learning resources - Free eBooks for programming, computing, artificial intelligence and more.","publisher":{"@id":"https:\/\/www.booksofall.com\/id\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.booksofall.com\/id\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Organization","@id":"https:\/\/www.booksofall.com\/id\/#organization","name":"BooksOfAll Indonesian","url":"https:\/\/www.booksofall.com\/id\/","logo":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.booksofall.com\/id\/#\/schema\/logo\/image\/","url":"https:\/\/www.booksofall.com\/id\/wp-content\/uploads\/sites\/12\/2022\/06\/booksofall-logo-2.png","contentUrl":"https:\/\/www.booksofall.com\/id\/wp-content\/uploads\/sites\/12\/2022\/06\/booksofall-logo-2.png","width":166,"height":30,"caption":"BooksOfAll Indonesian"},"image":{"@id":"https:\/\/www.booksofall.com\/id\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.booksofall.com\/id\/wp-json\/wp\/v2\/product\/20904","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.booksofall.com\/id\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/www.booksofall.com\/id\/wp-json\/wp\/v2\/types\/product"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.booksofall.com\/id\/wp-json\/wp\/v2\/media\/20908"}],"wp:attachment":[{"href":"https:\/\/www.booksofall.com\/id\/wp-json\/wp\/v2\/media?parent=20904"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/www.booksofall.com\/id\/wp-json\/wp\/v2\/product_brand?post=20904"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/www.booksofall.com\/id\/wp-json\/wp\/v2\/product_cat?post=20904"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/www.booksofall.com\/id\/wp-json\/wp\/v2\/product_tag?post=20904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}