Back to Blog
![]() I am a graduate student studying statistics, so I am very much in Julia's (initial) target audience, without much experience programming for reasons other than smashing numbers together. I do the vast majority of my programming in Julia (but Rust looks like a very interesting and potentially fun language), and there are definitely features - as robsmith notes - in Rust that I would like in Julia. Toy projects, scientific computing, perhaps even some web dev (assuming Julia is even targeting WASM).īut none of those things can't be done already and all of them can already be done in Rust (low-level + large-scale + web) or Python (SciComp), so Julia will have to come up with something else to convince me personally that it's worthwhile to invest in. So, with large scale projects and low-level projects being handled better by alternative language ecosystems, what remains? Its usefulness fully depends here on the implementation, not on the underlying PL theory. because you run into weird corner cases on the boundary of explicitly typed code with untyped code). It might be sufficient help in scaling up a code base, or it might not (e.g. Now, Julia does seem to have something that looks like gradual typing, but I'm not sure how that plays out in the real world. but only at runtime, likely hours or days after the code was written, which in turn makes debugging much more expensive. a string where an int is expected) and thus the code mysteriously blows up. I wanted to get away from typeless/unityped (also mistakenly known as "dynamically typed") programming languages because as soon as you try to scale up a code base written in them, you suddenly are faced with a nasty choice: Either replicate the absent type system with unit tests and/or assertions (causing a lot of otherwise senseless work because the code base is large), which adds significantly to any other unit/integration tests you might write, or take the huge chance that some function/method somewhere gets an argument of a "wrong type" (e.g. ![]() To me it seems that the only real raison d'etre of Julia is scientific computing, even if it is more flexible than that, strictly speaking (it is Turing-complete, after all).Īs a third point, I likely won't be using Julia for any large scale projects. Julia, but also Python, Ruby, JavaScript, every. In general I'm quite sure I wouldn't want to write low-level software in any language that includes a GC and/or JIT compilation (e.g. ![]()
0 Comments
Read More
Leave a Reply. |