Isn't julia the perfect language?


#1

Hi, i was watching this video https://www.youtube.com/watch?v=yiiDFRs62lQ and julia came to my mind. What do you think?


#2

You’re posting a half-hour video with a half sentence of explanation. Perhaps a little context would make this contribution more useful to the forum?


#3

As much as I love Julia, it’s definitely not perfect - regardless of what the video says :wink:
For starters here are some no-gos for some projects:

  • Julia generates a lot of code as a trade off for performance
  • Just starting Julia takes up ~100mb of ram.
  • Julia doesn’t have a strict type system
  • JIT overhead - python as an interpreted language has much lower startup times for packages etc
  • it’s still hard to compile small binaries (although this should improve drastically)
  • it has very little safety guarantees and you will get a lot of errors at runtime instead of compile time

I would say halve of these problems are fixable, while the other halve is just a trade off.

For example, that Julia doesn’t have a very ambitious type system seems to be a big part of the success - Julia didn’t get lost in trying to implement a very complex type system (Fortress seems to have done that mistake) and it’s also much more fun to program in it.

That Julia has little compile time checks and not such a strict memory safety model as e.g. Rust makes prototyping algorithms in Julia much easier.

It’s definitely less great, when you try to write a program that is not allowed to fail in any circumstance.
I’m sure that we can get closer to Rust with more tooling in that regard, but in the end it’s a lot easier to write such tools for a language with a sound, statically provable type system.

In the end, how perfect a language is depends really on your use cases and your definition of perfect.

E.g. Javascript and R are pretty horrible languages from a compiler/PL point of view, but their success tells a very different story.

edit:
Sorry for not even watching the video completely and not referring to it. I just wanted to get off my chest, that talking about ~the perfect language~ is a very problematic starting point to begin with :wink:


#4

The answer simply is at 25:24?


#5

More concretely, and as one of the comments helpfully mentions, he only starts describing various properties of the language at ~12:30 (but without ever going into specifics); and 25:24 is when he finally admits that the perfect programming language he had been describing doesn’t actually exist.

As expected for such a long video with a clickbaity title, the like/dislike ratio shows that most people were not amused by his choice of how to present the content.


#6

On a related note, I still don’t understand why this video was linked here and what it has to do with Julia.


#7

The OP likely thought that many of the features described in the video was applicable to Julia :slight_smile:


#8

I think Julia is “perfect” because of the explanation at the end. It has a great community who is passionate to realize the objective of having an awesome language for numerical computation.

Thanks to @mkborregaard for the constructive critisism and @waldyrious for pointing the timings.