Hacker News new | ask | show | jobs
by ubj 864 days ago
Great post, but I think the author missed a few advantages of Mojo:

* Mojo provides first-class support for AoT compilation of standalone binaries [1]. Julia provides second-class support at best.

* Mojo aims to provide first-class support for traits and a modern Rust-like memory ownership model. Julia has second-class support for traits ("Tim Holy trait trick") and uses a garbage collector.

To be clear, I really like Julia and have been gravitating back to it over time. Julia has a very talented community and a massive head start on its package ecosystem. There are plenty of other strengths I could list as well.

But I'm still keeping my eye on Mojo. There's nothing wrong with having two powerful languages learning from each other's innovations.

[1]: https://docs.modular.com/mojo/manual/get-started/hello-world...

2 comments

True, but the title of the blog is about Bioinformatics, and like another comment said:

> Bioinformatics is like 0.1% dealing with FASTQ files and the rest is using the ecosystem of libraries for statistics and plotting. Many of them in R

Considering that, do you need AOT, memory ownership for doing plotting and statistics? I'd argue not, and that's why R and Python are so popular in Bio.

doesn't this make more sense to have a python like language then for speed? and python for all that other stuff. so learn one'ish language and get it all?
Yeah that's how it ended up for me: large datasets get churned through for speed in Python, but I then usually switch over to R with the summary data because there's just way more biology-specific ecosystem in R than in Python.

R/Bioconductor has packages for human genome-specific analyses so it's easy to download gene positions etc., there are packages for read simulation, amplicon sequence variant detection, gene distance simulations, any kind of RNAseq analysis you can think of... none of these packages exist in Python. If you'd rerun it in Python you'd save 10 minutes or hours of running time but you'd lose days or months re-implementing analyses that are in R packages (plus those R packages often call on C++ code, anyway)

plus ggplot2 is miles ahead of any plotting in Python (to me :) ).

To your last point, have you tried plotnine? It's meant to be ggplot2 for python.

https://github.com/has2k1/plotnine

I've looked at it yes!! but there's heaps of ggplot-based libraries that I also like to use; things like cowplot, ggsignif, ggtree etc. It would be a cat-and-mouse game for plotnine to keep up with the ggplot-based ecosystem!
Yes. But the big problem is that all the things that make Python Python is also the things that make it slow. People have tried again and again to make a fast Python, and failed. And from my first impressions of Mojo, it's not very much like Python at all.
That seems to be exactly what Mojo is/wants to be. At least that's how I understand their landing page: https://www.modular.com/max/mojo
I feel the same way, I love using Julia, but the features that Mojo provides are exciting. It's great that we have both of them.