{"id":1144,"date":"2022-02-15T19:29:05","date_gmt":"2022-02-15T19:29:05","guid":{"rendered":"https:\/\/jamj.org\/?p=1144"},"modified":"2022-02-15T19:29:05","modified_gmt":"2022-02-15T19:29:05","slug":"a-simple-startup-scene","status":"publish","type":"post","link":"https:\/\/jamj.org\/index.php\/2022\/02\/15\/a-simple-startup-scene\/","title":{"rendered":"New programming languages"},"content":{"rendered":"\n<p>To choose a programming language is always a difficult task. In theory it is just a tool to solve a problem but in practice it is much more than that.  Platforms, library support, community etc can greatly influence the time and effort to develop a <em>product<\/em>,  I have tried many  programming languages and in general I would say there is a clear improvement Lately. First I thought <strong>javascript <\/strong>would be the only language to rule them all, but after a few years dealing with extremely fast moving frameworks, excessive complexities of the language itself -think about the craziness of &#8220;<em>this&#8221;<\/em>&#8211; and a bunch of patches in the form of a thousands tools to deal with what the language was not designed for I quit.  <\/p>\n\n\n\n<p>Looking for a replacement I tried <em>Go<\/em> but it was not my cup of tea. I like many things about <em>Go -simplicity- <\/em> but I also dislike a lot, like the tediousness of some tasks, no class system etc.  <em>Rust<\/em> is too complex for my liking -see <em>c++<\/em>&#8211; and I do not like <em>Java<\/em> either.  There are a few newcomers that can bring hope though: <em>kotlin<\/em> and <em>Dart<\/em>:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e6625925e71&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69e6625925e71\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"266\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"http:\/\/192.168.1.150\/wp-content\/uploads\/2022\/02\/external-content.duckduckgo.com_-1.jpg\" alt=\"\" class=\"wp-image-1175\" srcset=\"https:\/\/jamj.org\/wp-content\/uploads\/2022\/02\/external-content.duckduckgo.com_-1.jpg 474w, https:\/\/jamj.org\/wp-content\/uploads\/2022\/02\/external-content.duckduckgo.com_-1-300x168.jpg 300w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>I have always wanted a better language for general computing and I think <em>Dart<\/em> fits the sweet spot between capabilities and easiness of use. Kotlin offers the same but in another level, It is a much more rich and complex language. I will be trying both and sharing my experiences.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Anyway, maybe the point it is not about the language itself but the results: things like the <a rel=\"noreferrer noopener\" href=\"https:\/\/www.graalvm.org\/\" target=\"_blank\">graalvm<\/a> virtual machine <a href=\"https:\/\/dotnet.microsoft.com\/en-us\/\">.net<\/a> o <a href=\"https:\/\/webassembly.org\/\">wasm<\/a> are the way to go. Pick the language of your choice, be<em> Go,<\/em> <em>Rust<\/em>, <em>C#,<\/em> <em>ruby<\/em> etc and let the virtual machine do the rest, support, libraries etc.<\/p>\n\n\n\n<p class=\"has-text-align-center\"> <img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" class=\"wp-image-1178\" style=\"width: 150px;\" src=\"http:\/\/192.168.1.150\/wp-content\/uploads\/2022\/02\/wasm.jpg\" alt=\"\" srcset=\"https:\/\/jamj.org\/wp-content\/uploads\/2022\/02\/wasm.jpg 474w, https:\/\/jamj.org\/wp-content\/uploads\/2022\/02\/wasm-300x300.jpg 300w, https:\/\/jamj.org\/wp-content\/uploads\/2022\/02\/wasm-150x150.jpg 150w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/>             <img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"67\" class=\"wp-image-1179\" style=\"width: 150px;\" src=\"http:\/\/192.168.1.150\/wp-content\/uploads\/2022\/02\/graal.jpg\" alt=\"\" srcset=\"https:\/\/jamj.org\/wp-content\/uploads\/2022\/02\/graal.jpg 474w, https:\/\/jamj.org\/wp-content\/uploads\/2022\/02\/graal-300x134.jpg 300w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>To choose a programming language is always a difficult task. In theory it is just a tool to solve a problem but in practice it is much more than that. Platforms, library support, community etc can greatly influence the time and effort to develop a product, I have tried many programming languages and in general [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-1144","post","type-post","status-publish","format-standard","hentry","category-thoughts"],"_links":{"self":[{"href":"https:\/\/jamj.org\/index.php\/wp-json\/wp\/v2\/posts\/1144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jamj.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jamj.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jamj.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jamj.org\/index.php\/wp-json\/wp\/v2\/comments?post=1144"}],"version-history":[{"count":0,"href":"https:\/\/jamj.org\/index.php\/wp-json\/wp\/v2\/posts\/1144\/revisions"}],"wp:attachment":[{"href":"https:\/\/jamj.org\/index.php\/wp-json\/wp\/v2\/media?parent=1144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jamj.org\/index.php\/wp-json\/wp\/v2\/categories?post=1144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jamj.org\/index.php\/wp-json\/wp\/v2\/tags?post=1144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}