3 ms·
Personally, I've found thing since learning Julia I've become pretty distrustful of the whole notion of prototyping in one language and then doing a full implem
by eigenspace 7y ago
Personally, I've found thing since learning Julia I've become pretty distrustful of the whole notion of prototyping in one language and then doing a full implementation in another.
It just seems so unnecessary when you have a language where you can start out in a highly interactive state that seems a lot like Python or Matlab but then you can seamlessly start optimizing or generalizing functions and end up with something that runs basically as fast as C but retains all the dynamic advantages from the prototyping phase.
Yes, Julia's namespace isn't as polluted as Mathematica's is and I think that's a good thing. It's got an amazingly vibrant package ecosystem and packages are treated on such a first class level that as soon as you load a (well made) package, it composes so well with everything else, including other packages that it feels built in. I've never really felt like I was 'writing some shim' to utilize code from a julia package.
- romantype 7y agoDo you now find that doing both the prototype and full implementation in Julia the better option? Sorry, couldn't figure this out from your comment whether you prefer Julia or some other language for doing the prototype and full implementation. If you can clarify this explicity, it would be helpful.
- eigenspace 7y agoApologies for the lack of clarity. Yes, I find I really like using Julia from start to finish and really admire that I can do so without compromise. I find this approach to be straight up superior to the usual pattern where one starts out in a slow dynamic language to build the prototype and then either replaces certain functions with interop calls to a fast language (losing all the features that brought you to your dynamic language in the first place!) or straight up replacing your entire prototype with a production version written in your fast language and providing bindings to your slow language.
- reikonomusha 7y agoI feel the same, except with Common Lisp, whose interactivity is maybe only rivaled by Smalltalk, and whose performance can be made close to that of C for real-world applications.
- eigenspace 7y agoYes, in fact Common Lisp was what I almost started investing my energy in before Julia. I almost referenced Common Lisp in the parent post alongside Julia but didn't because I never learned it very well and didn't want to speak from ignorance. My understanding though is that most of the statements I made also apply in CL though my impression at least from the point of view of scientific computation is that Julia's community is more energetic than CL's. Certainly Julia still has lessons to learn from CL though.
- veddox 7y agoI get the impression that the communities are different. Not that Julia's is "more energetic" (there's actually quite a bit of activity around CL too), but that it's simply a different crowd. The Julia people seem to me to be coming more from the application side of things - computational scientists who want to do a certain job - while the CL people are more interested in CL as a language, without a specific application field in mind. So although neither of the communities are especially large, the Julia bunch have been more focused on good libraries for scientific computation, which is why their ecosystem is better in that respect. (Also, the "Lisp curse": scientists are more likely to choose Julia as a new language, because it looks more like the languages they already know.) Source: I do computational biology with Julia, hobby projects in Common Lisp.
- eigenspace 7y agoTrue, if I was more careful I’d say Julia’s scientific / numerical community is more energetic. I definitely don’t want to sound like I’m dissing CL as I have great respect for it and want to be better acquainted one day.
- lispm 7y agoJulia is influenced by the Common Lisp Object System. But it made it fast for numerical computing. So there is a Julia lesson for CLOS... http://p-cos.blogspot.com/2014/07/a-lispers-first-impression-of-julia.html http://p-cos.blogspot.com/2014/07/a-lispers-first-impression...