Merge Python and Julia, i.e. an (unofficial) integration proposal, sort of like the Mojo language

For many programmers whose first high level language was C, anything without {} is jarring to read.

Dot methods discovery is doable as Feat/methodswith dot completion by xgdgsc · Pull Request #3240 · julia-vscode/julia-vscode · GitHub . I’ ve used it just fine for months if you want to try at Release A quick dot methods completion demo · xgdgsc/julia-vscode · GitHub . I don’ t know why vscode devs seems not interested. They don’ t even have time for a simple bugfix and translation.

The static nature of Mojo should actually make that much easier. If you’re familiar with PyTorch or Jax, you’ll be familiar with a lot of the restrictions these force on you (no dispatch or runtime control flow, most notably). Mojo autodiff will probably be up and running within a few months if they get to work on it soon, because (unlike Julia) they can write the autodiff first, with restrictions, and only work on other code later. In Julia, autodiff typically tries to support general legacy code (arbitrary dispatch and control flow), which makes it obscenely difficult. (ReverseDiff doesn’t, but lacks tons of crucial features like GPU support.)

I’m sure they are, but they’re probably insanely busy. A lot of Julia packages are like that; it takes a lot longer to get PRs merged and reviewed in Julia than in other languages like Python, IME. Partly this is because of manpower issues, and partly because reviewing Julia PRs is a real slog sometimes; Julia provides very few tools for verifying correctness (no property-based testing, no static analysis, rampant mutability, no static shape-checking, no borrow checking…), and tons of performance footguns. Some correctness tools (e.g. StaticLint.jl) exist but aren’t widely used in CI, because there isn’t a single standardized CI script all users could use; many programmers don’t have time to learn about all the correctness checks they could be adding to their code. So in Julia, you really have to read every line of code in detail, probably several times, since you can’t rely on tests to guarantee correctness.

2 Likes

I am the opposite. My first high level language was C and I really hate {} and ;. Because of this, when I first came across Python, I loved it. Now, I love Julia even more!

2 Likes