Hacker News new | ask | show | jobs
by eirki 1831 days ago
Genuine question: Is Julia used for anything other than mathematics yet? Is there any sign of the Julia community expanding beyond science, maths, machine learning etc?
7 comments

Yes, people are using it for databases, web servers, video games, and a bunch of other things. These domains are less mature than julia's traditional wheelhouse of numerical / technical computing, but I think eventually it can be very competent at almost anything people put the time into building.

Julia is an incredibly flexible language that's all about enabling powerful code transformations, so it can be adapted to very different niches.

which library do you use for databases? when i checked a while ago, the situation was not very good and the best option was the JDBC interface

is this still the case

If you are interested in datasets that fit in memory, Dataframes.jl is really good now. For interfacing with SQL, there still isn't anything much better than jdbc.
Does the Julia runtime have good properties for something like a Web server?

Slow startup makes it questionable for CLI tools, although that is supposedly improving a lot.

But what about high-concurrency "server-like" workloads? The language itself I think would be great for such an application, but I have no idea if the runtime itself would be good.

Currently Julia will probably lose to C++ here due to some GC quirks and less well optimized strings. That said, both of these issues are being worked on, and I would expect fairly major progress by 1.8. (some of this work is already done. Specifically, as of 2 days ago memory alignment of strings has changed to save 8 bytes for most strings). Future improvements will likely include some form of small string optimization to prevent them from being heap allocated, and making julia's GC more efficient for highly threaded code.
Yes, but a lot of it isn't as highly optimized as some of the more mathy stuff. Julia has a ton of really good readers of various file formats (CSV, JSON, Arrow, etc). Many of these are as fast as anything out there, but some of them have some performance issues still. https://www.genieframework.com/ is a web framework entirely in Julia, (but probably not the fastest).

If you have specific things you are interested in, feel free to follow up.

Does it have to? IMO it's good to have a language focused on that domain as the tradeoffs tend to be different there, hence why Fortran is still actively used.
I use it for general application development. Some of the libraries still need quite a bit of work, but it's getting there. For practical web-service development, you need to hook in Revise.jl to get updates to your request handler without having to restart the server.
There’s a handful of things in a bunch of different domains, although mathy things are the most well developed. The language is definitely general purpose and suitable in a ton of different domains. It’s just going to take time for the ecosystem to build up.
I have to ask to ask the obvious question: why?

What problems would they be trying to solve?

Gradually-typed, syntactic macros, tidy syntax, good Unicode support in the standard library. All positive traits for app and/or server development in my opinion.