Python vs Julia

preview_player
Показать описание

Python and Julia are both common and powerful language that may seem alike, but there are definitely differences you should consider. In this video Martin Keen, Master Inventor, provides an overview of Python and Julia, showcasing their strengths so you can make an informed decision on the best for your next project.

Рекомендации по теме
Комментарии
Автор

You missed that Julia can use all the Python libraries just like there were native Julia libraries, but it goes further and can also use R, C++, Fortran, and Java libraries too as easily as Python in the case of C++ and almost as easily for the other languages. So, one of your big selling points for Python is not actually a selling point versus Julia.

PatrickChampion
Автор

Julia is (can be) as fast as C and as easy as Python...it's an incredible achievement.

travisporco
Автор

it's interesting how Julia on board looks so modern and python's defense was "it has a huge community and lot of packages". Check Julia 1.9 first the plot is fixed :D

AbhimanyuAryan
Автор

Julia is like a Python 4.0. Many libraries in Python are needed to fix the lacks of Python. Julia doesn't need libraries like Numpy, Numba, Cython, Cpython. Matrix multiplication? Already built in.

And there are a lot of things I like in Julia, but you'll never get in Python. I like that every block is terminated by an end. In Python I get often confused by nested blocks. I like Julia's support of Unicode and Latex. Formulas are more like they look in math.

Python is easy to learn, but if performance is needed, you have to do some extra mile. Julia, which is as easy to learn, write and read, doesn't need this effort.

Therefore there are just 2 advantages of Python over Julia: much bigger community and much more written code. I hope these advantages will decrease in the future.

demophilo
Автор

As a pure science background (biology), I like programming language with high level performance in any OS and also have strong types system. That's why I choose Julia. Julia combine both concept of Java (JIT) and C/Rust (LLVM Compiler). I think Julia has a bright future for scientist. Great video. Thank you🙏

valentinussofa
Автор

*The real problem of Julia is that Julia did not find a big tech company to spend money on it, just like how Google spent money on Python.*

sinan_islam
Автор

I’ve heard of Julia but this really has opened my eyes. Thanks, I’m going to learn it.

billvvoods
Автор

Nice video. But I think you have the point about extensibility backwards. Python’s lack of extensibility has forced, for example, multiple projects to write their own custom NumPy implementations from scratch (e.g. jax.numpy). The basic problem is that in Python there is no way to extend a given function onto a type that you don’t own. This extensibility is one of the prime selling points of Julia.

In fact, the most recent criticism of Julia that sparked a lot of discussion was that Julia is _too_ extensible and that the culture of extensibility has led to correctness bugs in popular third party libraries.

I think the point you were making wasn’t necessarily about extensibility but how “batteries included” each language is. On the continuum of “all functionality needs to be imported” (Python lives around here) to “all functionality is in the base language” (MATLAB lives around here), Julia is pretty decidedly on the Python side. The one notable difference is that Julia’s arrays have a concept of dimensionality baked in, so matrices and higher-dimension arrays are part of the core language. Personally, I’m a fan, because NumPy is hamstrung into some pretty clunky syntax around matrices. And it’s nice to not have to care about the difference between a list and a numpy.array. But I think those are more personal preferences. People seem to like NumPy, so I won’t tell them they’re wrong.

I’ll note one last difference in that community in Python and Julia mean different things. In Python, community is generally a one-way street. You can search a question and almost always find an answer someone gave at some point in time. In Julia, you won’t always find a lot of answers by searching, but you can hop on the Discourse, Slack, Zulip, etc. and very quickly get an answer, as the community is very active. There are advantages and disadvantages to both approaches. Julia’s approach certainly isn’t going to scale well as the user base grows, but for now it feels kinda nice. The people who most often answer your questions tend to be working on similar problems as you, so industry-specific connections kinda happen naturally.

jonathandiegelman
Автор

Maybe I was not paying attention but I don't remember any reference to the main difference between Python and Julia: namely that Python is interpreted and Julia is compiled just-in-time.

fsaldan
Автор

More videos on Julia would be really interesting.

wryltxw
Автор

It not really true if you say that Julia is “dynamically typed language” because Julia in contrast to Python can be use as “dynamically and statically typed language”. It depends on the user which approach he will choice. Special for the large scale Application it is the key difference.

DKPL
Автор

You make it sound like Julia cannot use 3rd party libraries for various tasks. I don't believe this is true, but someone naive to coding would think that was the case from what you said.

jamesbond_
Автор

Great video! Thank you for mentioning multiple dispatch, a real game changer. I think your comparison is fair to both languages. Looking forward to upcoming videos.

anomaliespatiale
Автор

I just want to point out that Julia has a lot libraries. I learned Julia before python. Python's syntax can be confusing. Also, Julia does not depend on white spaces so you can see the formatting. I have used Julia for signal processing for my acoustics work. Julia does not have a fragmented packaging system like python and can be ran only basically any desktop operating system.

phenixnunlee
Автор

Python is "do anything" because it has, for some strange reason, accumulated enormous number of additional libraries. In most cases Python programs are little more than glue code for those libraries (usually written in C/C++ or more and more Rust.) Julia also has many good libraries available for it. Also, perhaps with a bit of glue code ("wrappers") one can call virtually anything from anything else, although having to rely on different virtual machines and/or runtimes will complicate things.

bazoo
Автор

If you're going to become an actual scientist, study both. If you need to go to work and can't get an advanced degree, start with Python and get to Julia later. Guido was not an expert in computer languages. Python had major flaws as a purely frame-based language from the beginning. There are packages that you can run from Python that are highly-performant. Jax is my favorite. However, Python's implementation of the features needed to support a JIT compiler show that it is now nothing more than bad macro language for these packages. Python 4 is Julia.

purityballs
Автор

Scalability in terms of networking is the biggest issue in Python. Serializing / deserializing data and passing it to individual processes / nodes, across a distributed environment such a pain.

drasticfred
Автор

I’m going to make a bet in Julia for ML / DS and Rust for system programing. Lets see if they’ll have a kind of QT…

valdemarkjaer
Автор

Also, I would add, that numpy is not as intuitive as the in-built matrix operators in Julia. Plotting in Julia is so much easier than with matplotlib. JAX which is the new package for ML by DeepMind in python is almost a clone of the paradigm of FluxML in Julia. They even have their own version of JAX numpy which is made to resemble the matrix operations in Matlab and Julia. Some quirky things in the Python syntax do not exist and in general that 'pseudo code abbreviations' in python are not always obvious, like in python it is 'len' but Julia it is simply 'length' spelling it out completely

alexvass
Автор

I realized something while watching this. Chat GPT is trying to mimic answers like these. Not sure if it will ever be as fun as people can make the experience. Thanks to IBM for all the efforts you make in educating the general public of new technology people like myself may never get a chance to experience or even hear about, much less the inner workings. Just had to add my sincere appreciation and couldn’t imagine a more trustworthy source of truth than the Experts at IBM. Thank you for believing in your audience. Shows I’m not alone in believing this with the numbers of views.

toenytv