Julia Why and how not te be Python!(GD Task)
This post is intended to be rough draft for preparation for Julia presentation at TCC GNDEC. I am excited.
Now one thing always comes to mind why another Language/Technology?(I am nerd and geek as well, That’s what I do for living passionately!)
There is quite great trend has reached in field of computer science and that is all want to become Data-Scientist. or at least want to get paid as high as possible. DS seems to be right choice. 😉 (this is really a troll 😀 )
First thing how Julia is born?
Someone posted on Reddit!
We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s 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.
(Did we mention it should be as fast as C?)
WoW!!! that’s real, interactive,compiled,with the speed of c and also easy to learn. as well as general purpose like Python? 😀 I am laughing yeah really laughing.
Well that’s how Julia came to life, or that’s the real motive behind Julia Project.
How you know Julia is for You?
- You are continually involved in computationally intensive work where runtime speed is a major bottleneck. (I just do that with each code block of mine if possible)
2. You use relatively sophisticated algorithms. (sometimes I do that)
3. You write a lot of your own routines from scratch (I don’t do that)
4. Nothing pleases you more than the thought of diving into someone else’s code library and dissecting its internals. (do that ‘a’-lot!)
Most of the above tasks listed I try to Do with ‘Python'(I am actually in serious relationship with this tool 😀 😉 because it never puts me down in Day job and just works! )
HOW JULIA A SO MUCH FASTER????
Julia is a really well-thought-out language. While the syntax looks superficially Matlabby,(Is that really a word?) that is about as far as the similarity goes. Like Matlab, R, and Python, Julia is interactive and dynamically typed, making it easy to get started programming.
But Julia differs from those languages in a few major ways.
Under the hood, it has a rigorous but infinitely flexible type system, and calls functions based on “multiple dispatch”: different code is automatically chosen based on the types of the all arguments supplied to a function.
(is it some kind of skipping type-checks each time?)
When these features are combined with the built-in just-in-time (JIT) compiler,
No GIL.. yeahhh!!!!!
they let code–even scalar for-loops, which are famous performance killers in R–run as fast as C or Fortran.
Yes I want it fast LIke SEE (C)
But the real killer is that you can do this with code as concise and expressive as Python.
I am excited are you to sale the SHIP in the sea?