Live data from Hacker News

Julia adoption keeps climbing

hpcwire.com

301–309 of 309 posts

Re: Julia adoption keeps climbing

#301
post #181

I'm a graduate student that's switched almost completely over to Julia. Prior to it I worked in both MATLAB (the IDE is so nice, and writing out matrix computations is just great) and Python (for ML). Julia is absolutely nicer to write in than either of the two. MATLAB is slow and at times feels less like a programming language and more like an incomplete and brittle interface with the JVM. Python is also slow, and i…

You should check out Makie. Getting it set up can be a bit frustrating if things don’t go right, and there is a small learning curve for using `@lift`, but it is an absolute joy to use once you ramp up.

I use it for my research by default. You can pan, zoom, etc. The subplot/layout system is frankly a lot better than Matlab (and I enjoyed Matlab for plotting!). The best part is that I can insert sliders and drop downs into my plot easily, which means I don’t need to waste time figuring out the best static, 2D plot for my experiment. I just dump all the data into some custom logging struct and use sliders to index into the correct 2D plot (e.g. a heat map changing over time, I just save all the matrices and use the slider to get the heat map at time t).

Re: Julia adoption keeps climbing

#302
post #70

Earlier quoted context omitted.

> way better People like to substitute "10x better" here but I think the real number is 100,000x better, aka it's not possible by default. Q: What it would take to replace Windows? A: iPhone was a new product category that targetted a new market.

It does happen, though. C has mostly replaced FORTRAN for scientific applications. Not entirely, FORTRAN is (infamously) still used, but I don't know anyone who has started a new project with FORTRAN. Just 6 years ago, I was taught Perl in my Introduction to Bioinformatics course. The teachers were still using Perl because it used to be the go-to language for bioinformaticians. The year after, and every year since, t…

There are many new projects in modern Fortran. Just search GitHub.

Re: Julia adoption keeps climbing

#303

I've been using R nonstop for pretty much 5+ years. I'm happy that there's established competition coming from Python and new competition coming from Julia. Having these languages compete over similar types of programmers pushes each one to be better, which is awesome. I'm not a die-hard R person, I'd be more than happy to switch under the right circumstances. But...I think one thing gets overlooked way too often. Fo…

My experience with R was somewhat different. R was my first computational language in 2006 (version 2.3, IIRC), and parsing real life data (biological, in my case) into a format acceptable to R was a non-trivial exercise. I had somebody write me a perl script to parse the raw data into a clean CSV, but that has its own problems. The tools that were the kernel of the tidyverse (created 2014) were just beginning to show up, and even magrittr pipes were many years away. The only tidyverse tool even close to mature at the time was ggplot. For me data munging was the limiting factor, and at some point I discovered many people prefer Python for these initial steps. In 2013 I learnt Python with the explicit aim of data munging, while continuing analyses in R. With Pandas I could cover 80% of my use case for R, and eventually dropped it completely. Again, this predates the creation of the tidyverse, which I noted with some irony.

For what its worth, Hadley Wickham was asked in a Reddit AMA several years ago about which platform he'd choose if he was just starting out. He pointed to Julia as his pick.

Re: Julia adoption keeps climbing

#304

Earlier quoted context omitted.

> and the rest could be embedded inside comments. I don't see any problem with that Do you mean embedding images and plots inside comments? If yes, please elaborate on how you see that happening in the real world. > The fact that they are saving it as json by default seems more to be laziness by the developers than a well thought-out solution, that could be just a straightforward serializer. So, how would that well t…

> How would that happen? At the very least, you could put the whole json stuff inside a comment. It's already plain text, isn't it?

Python supports multi-line strings for this. No need for comments.

Re: Julia adoption keeps climbing

#305
post #102

Earlier quoted context omitted.

Then Julia should stop describing itself as a general-purpose programming language.

Julia absolutely is a general purpose language and has been from the beginning. However, there are plenty of languages that are fine for building websites, whereas there are no other languages with the combination of speed and usability that Julia offers in technical computing. It's a lovely language for doing all kinds of work and I personally mostly use it for non-technical computing these days — specifically to im…

Can you compile Julia programs to native binaries with a singe command ? Can Julia run on mobile and embedded devices ? A real general purpose programming language should do all of those.

Re: Julia adoption keeps climbing

#306

I’m amazed how many people are defending Python. It’s such a kludgy language. I’m curious what the Fortran holdouts said back in the day.

> what the Fortran holdouts said back in the day.

Fortran holdouts say today that there is still no competition to Fortran for optimizing code in multiprocessing/supercomputing environment and no volunteers to rewrite tons of proven and optimized to the extreme numerical and physics code in another language. Good, old languages die hard...

Re: Julia adoption keeps climbing

#307
post #76

My gripes, feel free to disagree: 1. Julia uses base-1 indexing. 2. Julia uses an "end" keyword everywhere, which is imho too verbose (and the corresponding "begin" is missing so it's inconsistent).

Base-1 makes sense in sciences where you've Fortran, MATLAB, R, Mathematica. If anything before Python's rise in popularity base-0 was the strange choice. Fortunately you can use arbitrary indices with OffsetArrays.

Not really. It was a choice for C and C++ and it has a very solid low level implementation and efficiency motivation. Unfortunately, it also became a curse for these languages. After many decades of existence, they still haven't introduced proper multidimensional arrays, other than a hodgepodge of competing library implementations.

Re: Julia adoption keeps climbing

#308

Earlier quoted context omitted.

Are many scientists using PyPy though? I never saw it in use in academia even though I'd tried it out personally.

I've never seen PyPy used anywhere by anyone, except for in talks about PyPy at PyCon.

PyPy is definitely used behind the scenes in many places. IMHO you don't often hear about it because if you're ready to take the performance hit that comes with python you're probably not trying to squeeze the best out of it all the time.

There was also the lack of compatibility with existing packages, a big issue in the past, but nowdays it's pretty rare.

You can often just run your program into both and measure if using pypy makes sense for your task. Frequently the free speedup is very welcome, especially for long or repeating jobs.

Even when used opportunistically like this PyPy is still tremendously useful.

Re: Julia adoption keeps climbing

#309

Earlier quoted context omitted.

> How would that happen? At the very least, you could put the whole json stuff inside a comment. It's already plain text, isn't it?

> At the very least, you could put the whole json stuff inside a comment. It's already plain text, isn't it? So instead of having the whole file as JSON, which is lazy and not well thought-out, we'll put all content in JSON, then put that JSON inside a comment in a plain text file. Do I read you correctly? I feel we're making progress faster than these lazy Jupyter org bandits.

I believe people reading this are not detecting the sarcasm. I'm demonstrating that the Jupyter folks are not lazy engineers, and the "obvious" solutions people come up with are not that well thought-out when you start actually thinking about them.
Post reply on HN