Future directions of Julia

Haha sure, it’s just very unlikely to overtake Python or Javascript anytime soon, so much sunk cost in those ecosystems. I can settle for a situation where I’m employable for my skills in Julia and it’s not looked down upon as “niche” (usually, I wouldn’t care so much about the opinions of other people, but if they are supposed to hire you or give you grant money…)

5 Likes

Fortran, Erlang, COBOL :laughing:

10 Likes

Why would Julia want to overtake Javascript? Also, I don’t see any problem with Julia being a niche language. My understanding is that Julia is a niche language for scientific computing.

2 Likes

Just an example for a widely used language, and one that is being used for far more stuff than its frontend web origins would suggest. So I guess Julia competes on a general-purpose language level as well. And the question whether it only wants to be a niche language for scientific computing in the future or more is part of my thread’s question, where is the growth supposed to lead.

2 Likes

Exactly. For better or worse, one of the common naysayer opinions on Python vs Julia threads is “well I can do webdev etc. in Python as well as data science! (and integrate the two)”. Even though this is usually a flippant, low effort response, it’s certainly fair to argue that having mature general purpose computing tools/libraries avoids a different “two-language problem” whenever one wants to do anything on top of or in conjunction with scientific computing. Thankfully, the broader Julia ecosystem seems to be trending in this direction :slight_smile:

8 Likes

Niche is okay, but obscure is a problem. If you work on your own, you can choose what language you want. But if you work with colleagues or with customers, it is a problem if they are completely unfamiliar with the language.

6 Likes

@jules

I want Julia to become so established that I can use it as a tool for scientific collaboration without people asking me “why not python / R / matlab”.

I can only agree with this wish! Just emphasizing how good and fast Julia is doesn’t really help, I think. But the topic has often been discussed here and some answers are given reflexively. And I know what one can think of the again and again created indices, like e.g. the TIOBE index, but nevertheless the numbers show a direction.

And that is exactly how I see it:

In that way, people like 3b1b giving a recognition boost to Julia helps me without a single thing about the language changing.

Only my 2 cents…

3 Likes

Screenshot from 2020-09-09 20-38-03

It seems that this is the current value proposition of Julia.

The first item on my wishlist to Santa is to see its scope widened.

7 Likes

That’s the original value proposition. I believe the scope has already widened.

4 Likes

New proposal:
“A fresh approach to computing.”

8 Likes

If we could get native compilation <3

5 Likes

I want to see more people (my coworkers, really!) set aside their spreadsheets and turn on to Julia and Pluto. I think there is a large group of Excel users who could really accomplish a lot more if they weren’t trying to fit round peg problems into the square box that is Excel.

8 Likes

Frankly, I just like writing cool things.
Cool things is a very me specific thing, but this can probably be generalised by considering what you thing of as cool.

So I want:

  • more cool people to collaborate with on the cool things because programming is a team sport
  • more people wanting cool things, thus maximising my opportunities to be paid to make cool things (starvation will limit my capacity to make cool things)

Now this does not mean for me that we need to have everyone who does programming move to Julia.
Frankly not all people are equally important to my aforementioned goals.
If someone doing a feedforward Convolution Neural Net to recognise photos moves to Julia that’s ok.
But if someone doing variational inference over neural SDEs moves to Julia that’s much more significant because they are doing cool things.
Majority of programmers don’t get to do cool things (for my personal definition of cool).
So it doesn’t hugely matter (to me) if they use Julia or not.

But one thing that is exciting is if we can increase the level of cool things most programmers do.
So let’s say Swift for TensorFlow becomes super popular and suddenly there are 10 million programmers doing differentiable programming. (As distinct from doing plain deep learning).
That’s a big win for me, because now if you randomly sample a programmer who might change to using Julia the level of cool things they want to do has increased in expectation.

28 Likes

Maybe it’s the other way around. Most people are paid to do relatively mundane programming. If Julia had the level of acceptance of, say Python, it would be used mostly for mundane things. But, with the enormous increase in resources and exposure, development of the language and ecosystem would be accelerated and the pool of people with exposure to Julia would be much larger. (Think of employees at big tech companies finding and fixing bugs) It would then be easier to find people doing things in Julia that you are interested in. I’ve thought the same thing about other projects. The best way to get the exotic and elite things that you are interested in is to make the project broadly accessible for ordinary things.

16 Likes

If anything, it’s possible for both views to be true if we assume coolness is a multi-dimensional thing and most peoples’ evaluation of it comes from slicing on a single axis :wink:

I mostly use 1-D CNNs for my research. From a “general” deep learning perspective, this is probably as mundane as it gets (cool, you don’t have to write your own DSP filters, big deal). However, the application domain (analyzing clinical data + physiological signals) is very novel and has only just begun to see deep learning applied in the last couple of years. Personally, I find being able to obtain clinician-competitive results without having to burn hundreds of biomed engineering hours every time you switch devices or deploy in a new hospital pretty compelling. Is ML for Healthcare cool? It’s certainly well-hyped. Does it also lag behind cutting edge ML and thus rely on techniques many would deem mundane? Probably. How well does it fit under “a fresh approach to technical computing”? :man_shrugging:

8 Likes

I don’t like to type code, but I like to create programs.

I would like to talk to the computer (tell it what I want) and use drag-and-drop graphical elements, and the computer should create source code, which I can refine later.

Julia has a promise to General Purpose programming, and I am wondering if it could be a good fit for machine-written coding.

1 Like

There is enough in this for an entirely separate (technical as well as epistemological) discussion. Restricting myself to a reply that is as short as your statement: No, I don’t think I would want this.

I am expressing myself tentatively, because my response would depend strongly on what you mean by model, incorrect, and fix. As it stands, this is not clear.

1 Like

To replace Matlab, Julia needs it’s plotting and data visualization, especially for 3D ironed out.
To replace C and C++, It needs to truly solve the two language problem and needs to be able to target embedded controllers and DSPs as well hopefully as FPGAs and their integrated fabrics. To replace python, it’s startup time and ease of use for command line scripting needs to be improved.

I also think there is probably a safety standard that could be developed sort of like MISRA C or perhaps Julia could target MISRA-C. Don’t know but what does it take to get Julia code running in aircraft, cars, spacecraft, but if it is not going to want to go there it probably isn’t going to last long because something else will get there and overtake Julia.

Exciting times.

19 Likes

Something else might be RUST…

Currently starting a small flight control project with Julia, lets see how far I get …

13 Likes

well for one it will need a realtime GC. I just don’t see Julia ever targetting the embedded realtime space directly. On the other hand, I could absolutely see Julia enabling you to write a compiler for a domain specific language that spits out standalone programs that don’t offer the full julia runtime but do offer some subset that’s realtime savvy. So you could develop your algorithms in Julia, and then spit out a realtime kernel that implements that algorithm in a limited resource environment.

4 Likes