jampekka 1 day ago

> Going from MATLAB to NumPy I felt like I suddenly became a mediocre programmer, spending less time on math and more time on "performance engineering" of just trying to figure out how to use NumPy right.

Matlab is about as slow without readily vectorized operations as Python.

Slowness of Python is a huge pain point, and Julia has a clear advantage here. Sadly Julia is practically just unusable beyond quite niche purposes.

Python does now have quite serviceable jit hacks that let one escape vectorization tricks, but they are still hacks and performant Python alternative would be very welcome. Sadly there aren't any.

5
AnotherGoodName 1 day ago

One of the things i suspect will happen very soon is that all languages will become as fast as each other and your reason to use one over the other for performance reasons might not exist. I know this sounds optimistic and wishful thinking but hear me out here;

Modern AIs are literal translation engines. That's their origin. The context that lets them do what they do was originally there to allow good translations. It doesn't matter if the translation is programming language output, or actual language output. I can today ask an AI to rewrite a chunk of Matlab code into Rust and it works! There's even code generators that will utilize the GPU where sensible.

We're really not that far off that we can write code in any language and transparently behind the scenes have it actually running on a more performant backend when needed. Ideally you keep the Matlab/Python frontend and the translation will be on the intermediate layers in a two way fashion so step through/debug works as expected.

Based on playing with the above steps manually with good results we're almost at the stage of just needing some glue to make it all work. Write in Matlab/Python, and run as fast as any LLVM backed language.

codethief 1 day ago

Sounds like transpiling Typescript to JavaScript, except that you translate to a vastly different language, thereby making you, the programmer, largely unable to reason about the performance characteristics of your code ("Can the transpiler optimize this Python loop or nah?"), and you also throw in the indeterminism of LLMs. Oooof, I'm not sure I'd want that.

AnotherGoodName 1 day ago

When you're using Python the type of performance characteristics you're usually thinking of are "can i call an external library that runs this on the GPU" or "is this log(n) or n^2 complexity?" and such language translations shouldn't change those parts.

As in the language is regularly benchmarked at 10-100x slower than other languages. It's not a languages for caring about subtle performance characteristics outside "am i calling the external library correctly or not?" (as in this article) or "is this algorithm exponential time?".

lolc 2 hours ago

There are enough ambiguities between language libs, even different versions of the same lib, that transpilation will always depend on verification.

It'll work for toy examples. For nontrivial code the generated transpilation will flame out in a different way on every run.

Zambyte 1 day ago

> Sadly Julia is practically just unusable beyond quite niche purposes.

Why? Just the ecosystem?

Zambyte 48 minutes ago

Just happened to find this article, seems to do a good job of explaining why.

https://news.ycombinator.com/item?id=44013455

jampekka 1 day ago

Mainly the lack of practical support for non-REPL/Notebook usage and interoperability.

joshjob42 1 hour ago

Interop with what? It has a very good FFI for C, PyCall, RCall, etc. work quite well.

It is pretty REPL focused, but what is the thing you want that you don't have? Like better debugger support in VSCode or something?

leephillips 19 hours ago

“quite niche purposes”

I don’t understand this. Julia is a general-purpose language that I increasingly use to replace bash scripts. I’ve also happily used it for web scraping tasks¹, interactive web² projects³, generation of illustrations and animations, and, yes, scientific calculations. Aside from the language itself, which is fun to program in, its brilliant package system massively facilitates composing libraries into a solution.

1 https://lee-phillips.org/amazonJuliaBookRanks

2 https://www.admin-magazine.com/Archive/2025/85

3 https://lee-phillips.org/pluckit

tkuraku 1 day ago

I've found matlabs's JIT to be about on par with numba for loops.

bandrami 1 day ago

R

jampekka 1 day ago

R is for sure not a Python replacement. And it's even slower than Python.

bandrami 21 hours ago

R has significant performance advantages over Python if you are keeping it in its lane. But it's a DSL and not a general-purpose language.