{"id":6242,"date":"2021-07-01T10:47:32","date_gmt":"2021-07-01T10:47:32","guid":{"rendered":"http:\/\/TheNextWeb=1358958"},"modified":"2021-07-01T10:47:32","modified_gmt":"2021-07-01T10:47:32","slug":"watch-out-python-julia-is-coming-for-your-crown","status":"publish","type":"post","link":"https:\/\/www.londonchiropracter.com\/?p=6242","title":{"rendered":"Watch out Python, Julia is coming for your crown"},"content":{"rendered":"\n<p>Don\u2019t get me wrong. Python\u2019s popularity is still backed by a rock-solid community of computer scientists, data scientists and AI specialists.<\/p>\n<p>But if you\u2019ve ever been at a dinner table with these people, you also know how much they rant about the weaknesses of Python. From being slow to requiring excessive testing, to producing runtime errors despite prior testing \u2014 there\u2019s enough to be pissed off about.<\/p>\n<p>Which is why more and more programmers are adopting other languages \u2014 the top players being Julia, Go, and Rust. Julia is great for mathematical and technical tasks, while Go is awesome for modular programs, and Rust is the top choice for systems programming.<\/p>\n<p>Since data scientists and AI specialists deal with lots of mathematical problems, Julia is the winner for them. And even upon critical scrutiny, Julia has upsides that Python can\u2019t beat.<\/p>\n<h2>The Zen of <span id=\"urn:local-text-annotation-jbxvgklvgi92mljn50ugj8hcmoexp0p8\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.thenextweb.com\/tnw\/entity\/python_programming_language\">Python<\/span> versus the Greed of Julia<\/h2>\n<p>When people create a new programming language, they do so because they want to keep the good features of old languages and fix the bad ones.<\/p>\n<p>In this sense, Guido van Rossum created Python in the late 1980s to improve ABC. The latter was <a href=\"https:\/\/homepages.cwi.nl\/~steven\/abc\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">too perfect<\/a> for a programming language \u2014 while its rigidity made it easy to teach, it was hard to use in real life.<\/p>\n<p>In contrast, Python is quite pragmatic. You can see this in the <a href=\"https:\/\/www.python.org\/dev\/peps\/pep-0020\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><em>Zen of Python<\/em><\/a>, which reflects the intention that the creators have:<\/p>\n<blockquote readability=\"8\">\n<p>Beautiful is better than ugly.<br \/>Explicit is better than implicit.<br \/>Simple is better than complex.<br \/>Complex is better than complicated.<br \/>Flat is better than nested.<br \/>Sparse is better than dense.<br \/>Readability counts.<br \/>Special cases aren\u2019t special enough to break the rules.<br \/>Although practicality beats purity.<br \/>[\u2026]<\/p>\n<\/blockquote>\n<p>Python still kept the good features of ABC: Readability, simplicity, and beginner-friendliness for example. But Python is far more robust and adapted to real life than ABC ever was.<\/p>\n<p>In the same sense, the creators of Julia want to keep the good parts of other languages and ditch the bad ones. But Julia is a lot more ambitious: instead of replacing one language, it wants to beat them all.<\/p>\n<p>This is <a href=\"https:\/\/julialang.org\/blog\/2012\/02\/why-we-created-julia\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">how Julia\u2019s creators articulate it<\/a>:<\/p>\n<blockquote readability=\"17\">\n<p>We are greedy: we want more.<br \/>We want a language that\u2019s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that\u2019s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled.<\/p>\n<\/blockquote>\n<p>Julia wants to blend all upsides that currently exist, and not trade them off for the downsides in other languages. And even though Julia is a young language, it has already achieved a lot of the goals that the creators set.<\/p>\n<h2>What Julia developers are loving<\/h2>\n<h3>Versatility<\/h3>\n<p>Julia can be used for everything from simple machine learning applications to enormous supercomputer simulations. To some extent, Python can do this, too \u2014 but Python somehow grew into the job.<\/p>\n<p>In contrast, <a href=\"https:\/\/www.infoworld.com\/article\/3241107\/julia-vs-python-which-is-best-for-data-science.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Julia was built precisely for this stuff<\/a>. From the bottom up.<\/p>\n<h3>Speed<\/h3>\n<p>Julia\u2019s creators wanted to make a language that is as fast as C \u2014 but what they created is <a href=\"https:\/\/theiotmagazine.com\/julia-vs-python-will-it-unseat-the-king-of-programming-8220e4cd2e0a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">even faster<\/a>. Even though Python has become easier to speed up in recent years, its performance is still a far cry from what Julia can do.<\/p>\n<p>In 2017, Julia even joined the <a href=\"https:\/\/www.hpcwire.com\/off-the-wire\/julia-joins-petaflop-club\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Petaflop Club<\/a> \u2014 the small club of languages who can exceed speeds of one petaflop per second at peak performance. Apart from Julia, only C, C++ and Fortran are <a href=\"https:\/\/www.nextplatform.com\/2017\/11\/28\/julia-language-delivers-petascale-hpc-performance\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">in the club right now<\/a>.<\/p>\n<h3>Community<\/h3>\n<p>With its more than 30 years of age, Python has an enormous and supportive community. There is hardly a Python-related question that you can\u2019t get answered within one Google search.<\/p>\n<p>In contrast, the Julia community is pretty tiny. While this means that you might need to dig a bit further to find an answer, you might link up with the same people again and again. And this can turn into programmer-relationships that are beyond value.<\/p>\n<h3>Code conversion<\/h3>\n<p>You don\u2019t even need to know a single Julia-command to code in Julia. Not only can you use Python and C to code within Julia,&nbsp;you can even <a href=\"https:\/\/towardsdatascience.com\/run-native-julia-code-with-python-92d3e1079385\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">use Julia within Python<\/a>!<\/p>\n<p>Needless to say, this makes it extremely easy to patch up the weaknesses of your Python code. Or to stay productive while you\u2019re still getting to know Julia.<\/p>\n<h3>Libraries<\/h3>\n<p>This is one of the strongest points of Python \u2014 its zillion well-maintained libraries. Julia doesn\u2019t have many libraries, and users have complained that they\u2019re not amazingly maintained (yet).<\/p>\n<p>But when you consider that Julia is a very young language with a limited amount of resources, the number of libraries that they already have is pretty impressive. Apart from the fact that Julia\u2019s amount of libraries is growing, it can also interface with libraries from C and Fortran to handle plots, for example.<\/p>\n<h3>Dynamic and static types<\/h3>\n<p>Python is 100% dynamically typed. This means that the program decides at runtime whether a variable is a float or an integer, for example.<\/p>\n<p>While this is extremely beginner-friendly, it also introduces a whole host of possible bugs. This means that you need to test Python code in all possible scenarios \u2014 which is quite a dumb task that takes a lot of time.<\/p>\n<p>Since the Julia-creators also wanted it to be easy to learn, Julia fully supports dynamical typing. But in contrast to Python, you can introduce static types if you like \u2014 in the way they are present in C or Fortran, for example.<\/p>\n<p>This can save you a ton of time: Instead of finding <a href=\"https:\/\/medium.com\/better-programming\/9-excuses-why-programmers-dont-test-their-code-8860a616b1b5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">excuses for not testing your code<\/a>, you can specify the type wherever it makes sense.<\/p>\n<h2>The data: Invest in things while they\u2019re small<\/h2>\n<figure class=\"post-image post-mediaBleed aligncenter\"><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-1358977 js-lazy\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2021\/07\/The-number-of-questions-tagged-Julia-left-and-Python-right-on-StackOverflow.jpg\" alt=\"The number of questions tagged Julia (left) and Python (right) on StackOverflow\" width=\"1661\" height=\"565\" sizes=\"(max-width: 1661px) 100vw, 1661px\" data-srcset=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2021\/07\/The-number-of-questions-tagged-Julia-left-and-Python-right-on-StackOverflow.jpg 1661w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2021\/07\/The-number-of-questions-tagged-Julia-left-and-Python-right-on-StackOverflow-280x95.jpg 280w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2021\/07\/The-number-of-questions-tagged-Julia-left-and-Python-right-on-StackOverflow-540x184.jpg 540w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2021\/07\/The-number-of-questions-tagged-Julia-left-and-Python-right-on-StackOverflow-270x92.jpg 270w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2021\/07\/The-number-of-questions-tagged-Julia-left-and-Python-right-on-StackOverflow-796x271.jpg 796w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2021\/07\/The-number-of-questions-tagged-Julia-left-and-Python-right-on-StackOverflow-1592x542.jpg 1592w\"><figcaption><a href=\"https:\/\/thenextweb.com\/news\/watch-out-python-julia-programming-coding-language-coming-for-crown-syndication#\" data-url=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Feditorial.thenextweb.com%2Fdd%2F2021%2F07%2F01%2Fwatch-out-python-julia-programming-coding-language-coming-for-crown-syndication%2F&amp;via=thenextweb&amp;related=thenextweb&amp;text=Check out this picture on: The number of questions tagged Julia (left) and Python (right) on StackOverflow\" data-title=\"Share The number of questions tagged Julia (left) and Python (right) on StackOverflow on Twitter\" data-width=\"685\" data-height=\"500\" class=\"post-image-share popitup\" title=\"Share The number of questions tagged Julia (left) and Python (right) on StackOverflow on Twitter\"><i class=\"icon icon--inline icon--twitter--dark\"><\/i><\/a>The number of questions tagged Julia (left) and Python (right) on StackOverflow<\/figcaption><noscript><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-1358977\" src=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2021\/07\/The-number-of-questions-tagged-Julia-left-and-Python-right-on-StackOverflow.jpg\" alt=\"The number of questions tagged Julia (left) and Python (right) on StackOverflow\" width=\"1661\" height=\"565\" srcset=\"https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2021\/07\/The-number-of-questions-tagged-Julia-left-and-Python-right-on-StackOverflow.jpg 1661w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2021\/07\/The-number-of-questions-tagged-Julia-left-and-Python-right-on-StackOverflow-280x95.jpg 280w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2021\/07\/The-number-of-questions-tagged-Julia-left-and-Python-right-on-StackOverflow-540x184.jpg 540w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2021\/07\/The-number-of-questions-tagged-Julia-left-and-Python-right-on-StackOverflow-270x92.jpg 270w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2021\/07\/The-number-of-questions-tagged-Julia-left-and-Python-right-on-StackOverflow-796x271.jpg 796w, https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2021\/07\/The-number-of-questions-tagged-Julia-left-and-Python-right-on-StackOverflow-1592x542.jpg 1592w\"><\/noscript><\/figure>\n<p>While all these things sound pretty great, it\u2019s important to keep in mind that Julia is still tiny compared to Python.<\/p>\n<p>One pretty good metric is the number of questions on StackOverflow: At this point in time, Python is tagged about twenty more often than Julia!<\/p>\n<p>This doesn\u2019t mean that Julia is unpopular \u2014 rather, it\u2019s naturally taking some time to get adopted by programmers.<\/p>\n<p>Think about it \u2014 would you really want to write your whole code in a different language? No, you\u2019d rather try a new language in some future project. This creates a time lag that every programming language faces between its release and its adoption.<\/p>\n<p>But if you adopt it now \u2014 which is easy because Julia allows an enormous amount of language conversion \u2014 you\u2019re investing in the future. As more and more people adopt Julia, you\u2019ll already have gained enough experience to answer their questions. Also, your code will be more durable as more and more Python code is replaced by Julia.<\/p>\n<h2>Bottom line: Do Julia and let it be your edge<\/h2>\n<p>Forty years ago, artificial intelligence was nothing but a niche phenomenon. The industry and investors didn\u2019t believe in it, and many technologies were clunky and hard to use. But those who learned it back then are the giants of today \u2014 those that are so high in demand that <a href=\"https:\/\/insights.dice.com\/2017\/07\/17\/a-i-specialists-earn-much-nfl-players\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">their salary<\/a> matches that of an NFL player.<\/p>\n<p>Similarly, Julia is still very niche now. But when it grows, the big winners will be those who adopted it early.<\/p>\n<p>I\u2019m not saying that you\u2019re guaranteed to make a shitload of money in ten years if you adopt Julia now. But you\u2019re increasing your chances.<\/p>\n<p>Think about it: Most programmers out there have Python on their CV. And in the next few years, we\u2019ll see even more Python programmers on the job market. But if the demand of enterprises for Python slows, the perspectives for Python programmers are going to go down. Slowly at first, but inevitably.<\/p>\n<p>On the other hand, you have a real edge if you can put Julia on your CV. Because let\u2019s be honest, what distinguishes you from any other Pythonista out there? Not much. But there won\u2019t be that many Julia-programmers out there, even in three years\u2019 time.<\/p>\n<p>With Julia-skills, not only are you showing that you have interests beyond the job requirements. You\u2019re also demonstrating that you\u2019re eager to learn and that you have a broader sense of what it means to be a programmer. In other words, you\u2019re fit for the job.<\/p>\n<p>You \u2014 and the other Julia programmers \u2014 are future rockstars, and you know it. Or, as <a href=\"https:\/\/julialang.org\/blog\/2012\/02\/why-we-created-julia\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Julia\u2019s creators said it in 2012<\/a>:<\/p>\n<blockquote readability=\"16\">\n<p>Even though we recognize that we are inexcusably greedy, we still want to have it all. About two and a half years ago, we set out to create the language of our greed. It\u2019s not complete, but it\u2019s time for a 1.0 release \u2014 the language we\u2019ve created is called Julia. It already delivers on 90% of our ungracious demands, and now it needs the ungracious demands of others to shape it further. So, if you are also a greedy, unreasonable, demanding programmer, we want you to give it a try.<\/p>\n<\/blockquote>\n<p>Python is still insanely popular. But if you learn Julia now, that could be your golden ticket later on. In this sense: Bye-bye Python. Hello Julia!<\/p>\n<p><em>Edit: I\u2019ve given a talk on Julia vs. Python! It was hosted by <a href=\"https:\/\/www.myhatchpad.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Hatchpad<\/a>, and the video is <a href=\"https:\/\/www.youtube.com\/watch?v=Yk2GrBJrShc\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">here<\/a>.<\/em><\/p>\n<p><em>This article was written by<span>&nbsp;<\/span><span data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Rhea Moutafis&quot;}\" data-sheets-userformat=\"{&quot;2&quot;:4227,&quot;3&quot;:{&quot;1&quot;:0},&quot;4&quot;:{&quot;1&quot;:2,&quot;2&quot;:16777215},&quot;10&quot;:2,&quot;15&quot;:&quot;arial,sans,sans-serif&quot;}\">Rhea Moutafis&nbsp;<\/span>and was originally published on<span>&nbsp;<\/span><a href=\"https:\/\/towardsdatascience.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Towards Data Science<\/a>. You can read it<span>&nbsp;<\/span><a href=\"https:\/\/towardsdatascience.com\/bye-bye-python-hello-julia-9230bff0df62\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">here<\/a>.&nbsp;<\/em><\/p>\n<p> <a href=\"https:\/\/thenextweb.com\/news\/watch-out-python-julia-programming-coding-language-coming-for-crown-syndication\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Don\u2019t get me wrong. Python\u2019s popularity is still backed by a rock-solid community of computer scientists, data scientists and AI specialists. But if you\u2019ve ever been at a dinner table with these&#8230;<\/p>\n","protected":false},"author":1,"featured_media":6243,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=\/wp\/v2\/posts\/6242"}],"collection":[{"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6242"}],"version-history":[{"count":0,"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=\/wp\/v2\/posts\/6242\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=\/wp\/v2\/media\/6243"}],"wp:attachment":[{"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6242"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6242"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.londonchiropracter.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}