How I Came To Love The Julia Language

Sjmorderty
5 min readDec 17, 2020

Introduction

When it comes to Data Science in 2020, there are a lot of options to choose from to do nearly anything. This is both a very positive thing, because there are more tools available for scientists to work and predict with, and a negative thing. This is because with so many options it can be incredibly difficult to articulate what particular tool might adhere to a situation or be optimal towards solving a problem.

One newer piece of scientific technology that I accidentally introduced myself to while doing research is the Julia programming language. At the time, I had been writing models in Python with C-based back-ends, along with some Sklearn and Tensorflow models which I found maintaining to be rather complicated. For my specific scenario, I found myself running into Pythonic timeouts all of the time while moving massive heaps of data via requests.

The C back-end has certainly proven itself to be quite venerable in scenarios like this, but also present a problem. Most Python modules that work to compete in speed with other solutions in more imperative languages are primarily written in C, not Python. For me this made the whole system quite a bit more irritating, developing software and carrying it over to work from a high-level Python front-end.

To be clear, it is certainly a sensible solution, C is probably one of the best ways something can quickly be reiterated on and be reliable, so it makes sense that the fastest, industry standard tools would follow this system. However, it is still important to remember that C is a different language, despite Python’s interpretation by C; meaning that proprietary implementations of C will often need some sort of dependency system.

https://karantina.pertanian.go.id/question2answer/index.php?qa=166341&qa_1=free-watch-full-tenet-2020-online-free-123movies
https://karantina.pertanian.go.id/question2answer/index.php?qa=166359&qa_1=free-watch-full-mank-2020-online-free-hd-123movies
https://karantina.pertanian.go.id/question2answer/index.php?qa=166364&qa_1=free-watch-full-mulan-2020-online-free-hd-123movies
https://karantina.pertanian.go.id/question2answer/index.php?qa=166368&qa_1=free-watch-full-ava-2020-online-free-hd-123movies
https://karantina.pertanian.go.id/question2answer/index.php?qa=166371&qa_1=free-watch-full-godmothered-2020-online-free-hd-123movies
https://karantina.pertanian.go.id/question2answer/index.php?qa=166377&qa_1=free-watch-full-the-prom-2020-online-free-hd-123movies
https://karantina.pertanian.go.id/question2answer/index.php?qa=166381&qa_1=free-watch-full-happiest-season-2020-online-free-123movies
https://karantina.pertanian.go.id/question2answer/index.php?qa=166402&qa_1=watch-christmas-chronicles-part-2020-online-free-123movies
https://karantina.pertanian.go.id/question2answer/index.php?qa=166405&qa_1=free-watch-full-honest-thief-2020-online-free-hd-123movies
https://karantina.pertanian.go.id/question2answer/index.php?qa=166410&qa_1=free-watch-full-freaky-2020-online-free-hd-123movies
https://karantina.pertanian.go.id/question2answer/index.php?qa=166415&qa_1=watch-greenland-2020-hd-full-movie-online-free
https://karantina.pertanian.go.id/question2answer/index.php?qa=166421&qa_1=watch-jingle-jangle-christmas-journey-online-free-123movies
https://karantina.pertanian.go.id/question2answer/index.php?qa=166431&qa_1=demon-slayer-kimetsu-yaiba-movie-mugen-train-online-123movies
https://karantina.pertanian.go.id/question2answer/index.php?qa=166434&qa_1=free-watch-full-demon-slayer-mugen-train-online-free-123movies
https://karantina.pertanian.go.id/question2answer/index.php?qa=166439&qa_1=watch-demon-slayer-infinity-train-train-online-free-123movies
https://karantina.pertanian.go.id/question2answer/index.php?qa=166443&qa_1=free-watch-full-after-we-collided-2020-online-free-123movies
https://karantina.pertanian.go.id/question2answer/index.php?qa=166449&qa_1=nonton-mulan-sub-indo-flim-gratis-subtitle-indonesia
https://www.era-leader.com/node/53280
https://www.era-leader.com/node/53290
https://www.era-leader.com/node/53298
https://www.era-leader.com/node/53303
https://www.era-leader.com/node/53309
https://www.era-leader.com/node/53313
https://www.era-leader.com/node/53323
https://www.era-leader.com/node/53327
https://www.era-leader.com/node/53332
https://www.era-leader.com/node/53334
https://www.era-leader.com/node/53337
https://www.era-leader.com/node/53340
https://www.era-leader.com/node/53342
https://www.era-leader.com/node/53346
https://www.era-leader.com/node/53358
https://yenoje5679.medium.com/in-a-surprising-binge-of-transparency-battery-companies-tell-us-what-they-really-have-869ea45340ec
https://www.thewyco.com/news/in-a-surprising-binge-of-transparency-battery-companies-tell-us-what-they-really-have-17-12-2020
https://steemit.com/news/@misterrimbad/in-a-surprising-binge-of-transparency-battery-companies-tell-us-what-they-really-have
https://jsfiddle.net/54h7xLdp/
https://paiza.io/projects/P2RRhg-myTW-m0KkX30V9w
https://ideone.com/rsPkkJ
https://paste.ee/p/UVTRH
https://paste.toolforge.org/view/007f6f14
https://pasteio.com/xkyBX1PalhQP
https://www.topfind88.com/post/1152732/free-watch-full-tenet-2020-online-free-hd-123movies-quarantine-q-a
https://www.posts123.com/dashboard.aspx
http://www.raptorfind.com/link/866726/free-watch-full-tenet-2020-online-free-hd-123movies-quarantine-q-a
http://www.albaragnos.com/tennistavolo/stampa/?inl=0&lin=696
http://www.megavideomerlino.com/albatros/default.asp?inl=0&lin=1387
http://umanmedical.com/index.php?url_page=gust
https://blog.goo.ne.jp/movieshd/e/771fde2a7cc832c6ddb19cf764f94c32
https://duhgufhgugh.hatenablog.com/entry/2020/12/17/140605
http://officialguccimane.ning.com/photo/albums/safdsgfghfdh
http://www.onfeetnation.com/profiles/blogs/sdgfdhgdhgfjfju
https://webhitlist.com/forum/topics/fdhggfjgfjghkkk
https://caribbeanfever.com/photo/albums/dfhtgfrujyjtiktuyo
https://dcm.shivtr.com/forum_threads/3273863?post=14469793#forum_post_14469793
http://recampus.ning.com/profiles/blogs/sdfgfhgfjhjukiulou
https://www.mydigoo.com/forums-topicdetail-208513.html
http://www.woodwardumc.com/news/guestbook.html#yvComment
http://www.websitegoodies.com/guestbook.php?a=view&id=199592
https://green-revolution.org/petra-haubner
https://note.com/fddshuf8u/n/n485861017823
https://www.peeranswer.com/question/5fdae3ec3e88babc2e6189f5
https://jakatingkir.substack.com/p/fgjhgjhgkjkljhlhili

How Julia Solved These Issues

To summarize my frustration with Python, it is a great tool with C but often makes it rather difficult to engineer low-level solutions being so declarative and script-oriented. That being said, running Python as Python can actually be rather slow and certainly not optimal for machine-learning or big-data operations. Julia is a high-level, multi-paradigm, high-level programming language that just recently got into version 1.5, and if you’re in the industry it might be a good idea to check out now!

Speed

Julia is a very fast programming language, and that is something that everyone who uses it likely picked it up for. Not only is it fast to compile with Just-In-Time (JIT) compilation, it is also incredibly fast to write with polymorphic dispatch and syntactical expressions that can often compress a full function into one line of code.

Dependencies

Julia also had a very attractive approach to dependencies. In Julia, environments are stored in the form of simple text data, .toml files which hold all of the dependency information for a given project. This makes it incredibly easy for scientists to share environments with one another and work together more efficiently. It also makes deploying a model as easy as putting it into a folder. To be clear, Python has a similar model to this with Pip environments, but the flawless integration with precompiling, file-management, and repositories is where Julia really pulls ahead in WOW factor.

Data

Julia has unique approaches to data-types which makes it easier to explore different types of statistical and scientific data and represent it just as it is in the papers. For big-data nuts, there are Big types which can hold floating point accuracy and integer accuracy very well. For the dictionary fans, any data type can be a key including symbols, meaning dictionary keys can be called on an arbitrary representation of data — which I think is better than using integers or strings a lot of the time. This is particularly true for scientific work. Sets can get unique sets of data and can be used for many algorithms, and there are many more types that are incredibly fun to work with in the Julia language.

Another extension of data and code is meta-programming, which an interested user might be delighted to know is very well catered towards in the Julia language.

Flexible

The last thing that really made me gravitate towards primarily becoming a Julia programmer is just how flexible the language is. In Julia, it is incredibly easy to go from classic functional programming into a completely different paradigm in one simple line of code. Expressions in Julia are incredible and make it easy to make a scientific impact with just one line of code.

Conclusion

To conclude, the current industry-leading solutions are great tools, but there are certainly different tools that are worth exploring. The tool I happened to really fall in love with is Julia and its related ecosystem which is also rapidly being developed — and excites me. As a data scientist, it is important to remain up-to-date with the newest, latest, and greatest tools and even experimental tools that might be used within your industry. Julia is a fantastic language, and I think anyone that wishes to approach it for Data Science will certainly enjoy using the language. Regardless as to whether or not the language becomes a primary contributor to your code vault, I think it is certainly a skill I am glad I picked up and have learned a lot from.

--

--