{"id":476844,"date":"2024-05-13T06:30:00","date_gmt":"2024-05-13T04:30:00","guid":{"rendered":"https:\/\/innovationorigins.com\/?p=476844"},"modified":"2024-05-13T06:30:00","modified_gmt":"2024-05-13T04:30:00","slug":"there-is-a-new-coding-language-in-town-meet-julia","status":"publish","type":"post","link":"https:\/\/ioplus.nl\/archive\/en\/there-is-a-new-coding-language-in-town-meet-julia\/","title":{"rendered":"There is a new coding language in town: meet Julia"},"content":{"rendered":"\n<p>Programming languages are the core of all the software we have today. Despite the power and accuracy the leading ones give us, such as Python, MATLAB, and C, bugs and shortcomings exist, which is why new coding languages emerge.&nbsp;<\/p>\n\n\n\n<p>Julia is a general-purpose programming language with strong aims for scientific computing, machine learning, and data mining. It is also used for numerical analysis and computational science. Julia was introduced in 2012 and promises to take the best aspects of the currently most used programming languages\u2014such as Python and C++\u2014and limit their downsides. Being a relatively new language, it has to reach maturity, and at the moment, around 16,000 developers use it\u2013 Python counts on millions of them.\u00a0<\/p>\n\n\n\n<div class=\"io-block io-block__box\"><h2>Why this is important<\/h2><p>Better programming languages are essential to developing better software that can help solve the challenges of our time. <\/p><\/div>\n\n\n\n<p>Later this year, Eindhoven will host the world\u2019s main conference on this language, <a href=\"https:\/\/juliacon.org\/2024\/\">JuliaCon<\/a>. From July 9 to 13, the Julia community will convene in the city for five days of talks, keynotes, and workshops on the language. The Philips Stadium will be the conference venue, attracting a thousand visitors.&nbsp;<\/p>\n\n\n\n<p>\u201cTo me, three aspects stand out about Julia. The first one is speed in solving mathematical problems. The ecosystem surrounding Julia is also notable, with domain experts working on the different problems and sharing code. Furthermore, Julia is an open-source language, and there is a strong collaboration mechanism around it,\u201d says Gareth Thomas. He is the co-founder of the software consultancy company <a href=\"https:\/\/www.versionbay.com\/\">VersionBay<\/a> and one of the volunteers organizing JuliaCon.\u00a0<\/p>\n\n\n\n<div class=\"io-block io-block__box\"><h2>What\u2019s a programming language?<\/h2><p>A programming language is a set of syntactic and semantic rules instructing a computer to behave in a certain way and complete given tasks. Therefore, each language has its own vocabulary, a unique set of keywords that follows a syntax to create and execute computer instructions.\u00a0<br><br>Programming languages are behind all the software we use and experience. Websites use languages like HTML, JavaScript, and CSS, while C++ and Python are often the go-to options for coding more complex algorithms and programs and conducting extensive data analysis.\u00a0<\/p><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Enhancing speed<\/h2>\n\n\n\n<p>Despite being one of the most used languages in the world, one of Python\u2019s main shortcomings is its slowness. According to Jorge Vieyra, a development engineer at ASML and also part of the JuliaCon organizing committee, there are orders of magnitude of difference between code written using Python and C. In fact, Python relies on libraries \u2013 collections of code to speed up tasks \u2013 compiled with other languages. \u201cSometimes, when you want to use one library and call another one, you have to go through the Python internals \u2013 the language interpreter source code ed. \u2013 and connect it to them. And that&#8217;s where the bottleneck comes from,\u201d explains the development engineer.&nbsp;&nbsp;<\/p>\n\n\n\n<p>In addition, most of the libraries used when coding in Python are in a domain-specific area\u2014think cryptography, machine learning, or web applications\u2014and are compiled with other languages. By contrast, Julia offers packages for every domain written in Julia. This results in two positive outcomes: the language improves for everyone and enables faster sharing, meaning the coding process can go more rapidly.&nbsp;<\/p>\n\n\n\n<p>Thomas has a metaphor to clarify this aspect. \u201cThink of a Portuguese and Italian getting along; it takes longer to get on the same page because they don\u2019t speak the same language. But if everyone is speaking the same language, that makes everyone super productive.\u201d\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" data-id=\"476845\" src=\"https:\/\/archive.ioplus.nl\/wp-content\/uploads\/2024\/05\/PXL_20230911_165749770.NIGHT2_-1004x1004.jpg\" alt=\"\" class=\"wp-image-476845\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" data-id=\"476846\" src=\"https:\/\/archive.ioplus.nl\/wp-content\/uploads\/2024\/05\/Untitled-design-1-2-1004x565.png\" alt=\"\" class=\"wp-image-476846\"\/><\/figure>\n<figcaption class=\"blocks-gallery-caption wp-element-caption\">On the left is Jorge Vieyra, and on the right is Gareth Thomas. <\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Introducing a new approach to machine learning\u00a0<\/h2>\n\n\n\n<p>An aspect where Julia can make a difference is in the so-called physics-informed machine learning or scientific machine learning. Traditional machine learning works by giving a lot of input data to algorithms to process and provide correlations; this kind of approach is behind a model like OpenAI\u2019s ChatGPT. By contrast, scientific machine learning comes with another approach, feeding algorithms with scientific knowledge and using them to solve complex equations, for instance. \u201cBasically, we fed the algorithm knowledge we have and let machine learning fit what is missing,\u201d explains Vieyra.&nbsp;<\/p>\n\n\n\n<p>After giving the algorithm a complex calculation, it would work to quantify the value of hard-to-calculate constants and help suggest how to solve a given problem. \u201cThis brings machine learning closer to how the real world works. Julia is capable of that through multiprocessing, which is similar to how mathematicians think,\u201d adds Thomas. In a way, this approach would bring common sense to something hard to understand. Since everything is coded in the same language, performing calculations that wouldn\u2019t be feasible with other programming languages is possible.\u00a0<\/p>\n\n\n\n<p>Code compiled with Julia is already making a difference as plenty of applications arise. Examples vary from <a href=\"https:\/\/info.juliahub.com\/case-studies\/fugro-roames-ml\">electrical grid protection<\/a> to <a href=\"https:\/\/info.juliahub.com\/case-studies\/aot\">energy trading<\/a>. In general, the language is good at statistical analysis and modeling. Another interesting use case comes from Zipline, which is using Julia to find the best flight trajectories to deliver medicines efficiently. Notably, the language is also behind several developments in the pharmaceutical industry, with industry leaders such as Pfizer and AstraZeneca leveraging it.<\/p>\n\n\n<div class=\"vlp-link-container vlp-layout-basic wp-block-visual-link-preview-link\"><a href=\"https:\/\/ioplus.nl\/archive\/en\/tired-of-taking-notes-let-ai-do-the-work\/\" class=\"vlp-link\" title=\"Tired of taking notes? Let AI do the work!\"><\/a><div class=\"vlp-layout-zone-side\"><div class=\"vlp-block-2 vlp-link-image\"><\/div><\/div><div class=\"vlp-layout-zone-main\"><div class=\"vlp-block-0 vlp-link-title\">Tired of taking notes? Let AI do the work!<\/div><div class=\"vlp-block-1 vlp-link-summary\">Typing, typing, and more typing. Taking notes is not the most exciting task of a working day. Fortunately, we no longer have to do everything ourselves, as AI notetakers are entering the market in large numbers.<\/div><\/div><\/div>\n\n\n<h2 class=\"wp-block-heading\">The community\u00a0<\/h2>\n\n\n\n<p>As an open-source community, Julia is not backed by any company. Yet, <a href=\"https:\/\/numfocus.org\/\">NumFOCUS<\/a>, an American charity organization that helps open-source projects, supports it. Big companies donate money to the charity, which redistributes to these projects, helping them to pay server costs, and offering legal overview.&nbsp;<\/p>\n\n\n\n<p>Julia is fully driven by the efforts of its community. Saying that a language is open source means the language source code is available for use or modification. This kind of software is developed in a public and open collaboration and made freely available to the public. The community of developers around Julia is active in creating its building blocks. According to Vieyra, this helps a lot with language development, spotting bugs, and reporting them.&nbsp;<\/p>\n\n\n\n<p>For sure next July\u2019s JuliaCon will certainly spotlight the language and possibly attract more users, even in the Netherlands.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Programming languages are the core of all the software we have today. Despite the power and accuracy the leading ones give us, such as Python, MATLAB, and C, bugs and shortcomings exist, which is why new coding languages emerge.&nbsp; Julia is a general-purpose programming language with strong aims for scientific computing, machine learning, and data [&hellip;]<\/p>\n","protected":false},"author":2084,"featured_media":506434,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","footnotes":""},"categories":[84026],"tags":[10373,69735,84487,84490],"location":[6763],"article_type":[43139],"serie":[],"archives":[],"internal_archives":[],"reboot-archive":[82795],"class_list":["post-476844","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data","tag-ai","tag-ai-nl-3","tag-juliacon","tag-programming-language","location-netherlands","article_type-features","reboot-archive-data"],"blocksy_meta":[],"acf":{"subtitle":"From July 9 to 13, Eindhoven will host JuliaCon, a conference about Julia, a new programming language. But what is it capable of? ","text_display_homepage":false},"author_meta":{"display_name":"Mauro Mereu","author_link":"https:\/\/ioplus.nl\/archive\/author\/mauro-mereu\/"},"featured_img":"https:\/\/ioplus.nl\/archive\/wp-content\/uploads\/2024\/05\/innovationorigins_a_software_developer_sitting_on_a_desk_workin_e5d7d0ba-a1aa-4fc8-9fec-b03518cd0a71.png","coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/ioplus.nl\/archive\/en\/category\/data\/\" class=\"advgb-post-tax-term\">DATA+<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">DATA+<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/ioplus.nl\/archive\/en\/category\/data\/\" class=\"advgb-post-tax-term\">AI<\/a>","<a href=\"https:\/\/ioplus.nl\/archive\/en\/category\/data\/\" class=\"advgb-post-tax-term\">AI<\/a>","<a href=\"https:\/\/ioplus.nl\/archive\/en\/category\/data\/\" class=\"advgb-post-tax-term\">JuliaCon<\/a>","<a href=\"https:\/\/ioplus.nl\/archive\/en\/category\/data\/\" class=\"advgb-post-tax-term\">programming language<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">AI<\/span>","<span class=\"advgb-post-tax-term\">AI<\/span>","<span class=\"advgb-post-tax-term\">JuliaCon<\/span>","<span class=\"advgb-post-tax-term\">programming language<\/span>"]}},"comment_count":"0","relative_dates":{"created":"Posted 2 years ago","modified":"Updated 2 years ago"},"absolute_dates":{"created":"Posted on May 13, 2024","modified":"Updated on May 13, 2024"},"absolute_dates_time":{"created":"Posted on May 13, 2024 6:30 am","modified":"Updated on May 13, 2024 6:30 am"},"featured_img_caption":"","series_order":"","_links":{"self":[{"href":"https:\/\/ioplus.nl\/archive\/wp-json\/wp\/v2\/posts\/476844","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ioplus.nl\/archive\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ioplus.nl\/archive\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ioplus.nl\/archive\/wp-json\/wp\/v2\/users\/2084"}],"replies":[{"embeddable":true,"href":"https:\/\/ioplus.nl\/archive\/wp-json\/wp\/v2\/comments?post=476844"}],"version-history":[{"count":0,"href":"https:\/\/ioplus.nl\/archive\/wp-json\/wp\/v2\/posts\/476844\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ioplus.nl\/archive\/wp-json\/wp\/v2\/media\/506434"}],"wp:attachment":[{"href":"https:\/\/ioplus.nl\/archive\/wp-json\/wp\/v2\/media?parent=476844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ioplus.nl\/archive\/wp-json\/wp\/v2\/categories?post=476844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ioplus.nl\/archive\/wp-json\/wp\/v2\/tags?post=476844"},{"taxonomy":"location","embeddable":true,"href":"https:\/\/ioplus.nl\/archive\/wp-json\/wp\/v2\/location?post=476844"},{"taxonomy":"article_type","embeddable":true,"href":"https:\/\/ioplus.nl\/archive\/wp-json\/wp\/v2\/article_type?post=476844"},{"taxonomy":"serie","embeddable":true,"href":"https:\/\/ioplus.nl\/archive\/wp-json\/wp\/v2\/serie?post=476844"},{"taxonomy":"archives","embeddable":true,"href":"https:\/\/ioplus.nl\/archive\/wp-json\/wp\/v2\/archives?post=476844"},{"taxonomy":"internal_archives","embeddable":true,"href":"https:\/\/ioplus.nl\/archive\/wp-json\/wp\/v2\/internal_archives?post=476844"},{"taxonomy":"reboot-archive","embeddable":true,"href":"https:\/\/ioplus.nl\/archive\/wp-json\/wp\/v2\/reboot-archive?post=476844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}