3 ms·
A lot of the comments I see about Julia (and other trendy high level languages) are of the following form: "I can do things I needed C to do before, and almost
by plg 13y ago
A lot of the comments I see about Julia (and other trendy high level languages) are of the following form:
"I can do things I needed C to do before, and almost as fast"
which leads me personally to ask,
If you could do this in C before, and faster, then why are you switching?
Most people will say "because C is bad/difficult/clumsy for doing X"
which leads me to say,
why are you using C to do X?
I sincerely believe (as a computational scientist) that a combination of a high-level language for real-time interactive exploration and prototyping with a fast language like C for doing the actual gruntwork, is the best.
Attempts to combine the best of C (speed) with the best of scripting languages (easy to do things fast without having to pay attention to what you are doing) in my opinion end up merely joining the worst of both worlds rather than the best of both worlds.
Besides isn't programming about being specific? Do you really want to code stuff without having to worry about the details?
- catinsocks 13y agoYou can see it as an alternative to Matlab/R (sorta)/numpy not C. People only ever used C when speed was crucial and depending on what you were comfortable in or what you had learned maybe Fortran for speed instead of C. Julia is meant for scientific computing with some nice features. As I see it it is similar enought to Matlab to be easily learned by those who use Matlab but has enough goodies that it can be a viable alternative. Programming isn't about being specific it is about accomplishing a task and many times yes you don't want to have to worry about the details as long as it works the way it should.
- plg 13y agoI agree with what you say. More and more though as I get on in my career as a scientist I realize though that the details turn out to matter, sometimes a great deal. Anyway I'm all in favour of an open, fast MATLAB alternative
- RivieraKid 13y ago> I sincerely believe (as a computational scientist) that a combination of a high-level language for real-time interactive exploration and prototyping with a fast language like C for doing the actual gruntwork, is the best. Converting to C can take a LOT of time, and is an order of magnitude less enjoyable than Julia. What about maintaining the code, making improvements, integrating with other code? And what if the prototyping needs too be fast too? It can become a massive pain in the ass. Why should I undergo that if I can just use Julia? > Attempts to combine the best of C (speed) with the best of scripting languages (easy to do things fast without having to pay attention to what you are doing) in my opinion end up merely joining the worst of both worlds rather than the best of both worlds. I've used both Julia and C and I think it's the exact opposite, it combines the best of both worlds.
- coldtea 13y ago>which leads me to say, why are you using C to do X? Because they know C, it's fast and it has lots of libs available. They might also dislike Java or CL. Not every engineering decision is perfect, lots of factors play in. >Attempts to combine the best of C (speed) with the best of scripting languages (easy to do things fast without having to pay attention to what you are doing) in my opinion end up merely joining the worst of both worlds rather than the best of both worlds. The "pay attention" things is to needless complexity (memory management etc). They only reason we put up with those things was to get speed. If we can get adequate speed without those, nobody cares about them. >Besides isn't programming about being specific? Do you really want to code stuff without having to worry about the details? No, programming is about getting results. Nobody cares about the details in the level of programming language minutuae. We care about the "effort put in" and "quality/speed of results coming out" ratio.