{"id":4521,"date":"2011-11-01T11:00:38","date_gmt":"2011-11-01T11:00:38","guid":{"rendered":"http:\/\/blog.widmann.org.uk\/?p=4521"},"modified":"2011-11-01T11:00:38","modified_gmt":"2011-11-01T11:00:38","slug":"the-dart-programming-language","status":"publish","type":"post","link":"https:\/\/widmanniana.org\/blog\/the-dart-programming-language\/","title":{"rendered":"The Dart programming language"},"content":{"rendered":"<div style=\"float: right; margin-left: 10px; margin-bottom: 10px;\">\n<a href=\"http:\/\/www.flickr.com\/photos\/l0b0\/3647050\/\" title=\"photo sharing\"><img decoding=\"async\" src=\"http:\/\/farm1.static.flickr.com\/1\/3647050_8c7994a31a_m.jpg\" alt=\"\" style=\"border: solid 2px #000000;\" \/><\/a><br \/>\n<span style=\"font-size: 0.9em; margin-top: 0px;\"><br \/>\n<a href=\"http:\/\/www.flickr.com\/photos\/l0b0\/3647050\/\">Dart<\/a><br \/>\nOriginally uploaded by <a href=\"http:\/\/www.flickr.com\/photos\/l0b0\/\">l0b0<\/a><br \/>\n<\/span>\n<\/div>\n<p>I might be completely wrong here, but I&#8217;m starting to think Google&#8217;s <a href=\"http:\/\/www.dartlang.org\/\">Dart language<\/a> is solving the wrong problem.<\/p>\n<p>I mean, Dart is beautiful and much cleaner than JavaScript, but as a developer that&#8217;s not solving the immediate problems I face.<\/p>\n<p>The problems I see with current web development include:<\/p>\n<ul>\n<li>Your code has to be split into server-side code (e.g., in PHP) and client-side code (in JavaScript), which is annoying because it separates the logical flow of your code.  Dart does not seem to solve this. (You could imagine a language that compiled down to PHP and JavaScript as required.)\n<li>You need jQuery all the time for modern websites, yet jQuery is not integrated into Dart from the outset.  I think they&#8217;re planning to implement a completely new way of achieving the same, but until that&#8217;s ready, it&#8217;s hard to assess whether it&#8217;s better or worse.  It would be nice to have a web language that integrated jQuery-like functionality from the outset.\n<li>Related to this, you typically use many JavaScript\/jQuery libraries to implement menus, clocks, menus and such things.  It appears these won&#8217;t be accessible from Dart, which will make it useless for advanced websites until replacement libraries have been implemented.\n<li>It&#8217;s really hard to write code that runs on every browser dating back to IE6.  Dart does explicitly not solve this issue; in fact, they don&#8217;t even seem to support modern versions of Internet Explorer at the moment.  As far as I can tell, that would mean that you&#8217;d need to write your site twice, once in Dart and once in Internet Explorer JavaScript, which is really not ideal.\n<li>They seem to expect most programmers will put Dart into their websites in the same way you use JavaScript at the moment.  However, for efficiency it&#8217;s not great to upload actual source code &ndash; it&#8217;s much better to upload a minimal version as created by <a href=\"http:\/\/code.google.com\/closure\/\">Google Closure<\/a>.  It would therefore be fine to have a language (such as Dart) for developing sites but still uploading JavaScript to the actual website.<\/ul>\n<p>I think that what I&#8217;m trying to say is that I&#8217;d love to have a language somewhat like Dart for writing websites in, but I&#8217;d love that language to compile down to efficient JavaScript (with jQuery) and PHP, especially if the resulting websites would work with all browsers dating back to Internet Explorer 6 (and in cases where that wouldn&#8217;t be possible, you&#8217;d get compile-time warnings about using features requiring a modern browser).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dart Originally uploaded by l0b0 I might be completely wrong here, but I&#8217;m starting to think Google&#8217;s Dart language is solving the wrong problem. I mean, Dart is beautiful and much cleaner than JavaScript, but as a developer that&#8217;s not solving the immediate problems I face. The problems I see with current web development include: Your code has to be split into server-side code (e.g., in PHP) and client-side code (in JavaScript), which is annoying because it separates the logical flow of your code. Dart does not [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[159,114],"tags":[],"class_list":["post-4521","post","type-post","status-publish","format-standard","hentry","category-en","category-computing"],"_links":{"self":[{"href":"https:\/\/widmanniana.org\/blog\/wp-json\/wp\/v2\/posts\/4521","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/widmanniana.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/widmanniana.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/widmanniana.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/widmanniana.org\/blog\/wp-json\/wp\/v2\/comments?post=4521"}],"version-history":[{"count":0,"href":"https:\/\/widmanniana.org\/blog\/wp-json\/wp\/v2\/posts\/4521\/revisions"}],"wp:attachment":[{"href":"https:\/\/widmanniana.org\/blog\/wp-json\/wp\/v2\/media?parent=4521"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/widmanniana.org\/blog\/wp-json\/wp\/v2\/categories?post=4521"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/widmanniana.org\/blog\/wp-json\/wp\/v2\/tags?post=4521"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}