5 ms·
I don't know if you have any experience with it, but how would you compare it to clojure?
by Synroc 13y ago
I don't know if you have any experience with it, but how would you compare it to clojure?
- terhechte 13y agoI bought a Clojure book and started going through it, and I have some limited experience with ELisp and Racket. I really like lispy (is that even a word?) languages, so I tried to get into Clojure, also because I really like the ideas behind ClojureScript and the various libraries for it. So far, my experience has been mixed, I guess because I didn't read enough, or maybe it is my unfamiliarity with anything jvm-related (having never been a Java guy), as that's also something I constantly run into when I'm doing Scala. I'll try to write a bit more in Clojure, but so far Julia felt easier to get into, and I really like the ability to use types so that stupid errors don't result in runtime issues. There're way too many interesting languages these days :)
- jamesjporter 13y agoI'm acutally playing with Clojure and Julia right now and I'm running into the same problem. Never used Java and a lot of the Clojure material assumes you're coming with at least a little bit of Java background. That said Clojure is a much more mature language, Julia is still very new, its APIs are changing rapidly, etc. Agreed about too many interesting languages though :)
- peatmoss 13y agoHere's an idea: A port of Incanter to Typed Racket
- bitsai 13y agoNot exactly a trivial task... Incanter uses several sizable Java libraries (such as Parallel Colt) under the hood, so a port would first need to either finding suitable replacements or re-writing that code as well.
- peatmoss 13y agoDefinitely not a trivial task--though it may be a worthy task. Incanter has moved from PColt to JBlas, and is moving toward core.matrix which will abstract the linear algebra stuff. If anything, I'd guess that Racket might be an easier ask than Clojure due to the JVM weirdness around boxing / unboxing of numbers passed to and from the underlying jblas (it's entirely possible I don't understand what I'm talking about re boxing / unboxing, though I've heard tell that the JVM makes some aspects of numerical work very challenging).
- gtani 13y agoThere's a few threads on SO that try to summarize what you need to know if you haven't programmed in java before(and, yes, it's a decent amount), e.g. what a JAR is, classpath, -server vs. -client, -Xmx and Xms, GC options etc. Alternatively, ask on reddit, IRC or the mailing list http://stackoverflow.com/questions/5721496/learning-java-so-i-can-get-at-clojure http://stackoverflow.com/questions/5721496/learning-java-so-... http://stackoverflow.com/questions/11358929/what-should-a-scala-developer-know-about-java-and-or-the-jvm http://stackoverflow.com/questions/11358929/what-should-a-sc... http://www.reddit.com/r/Clojure/comments/1ev4u5/what_do_i_need_to_learn_about_java/ http://www.reddit.com/r/Clojure/comments/1ev4u5/what_do_i_ne...
- terhechte 13y agoThanks! These look very helpful! I'm currently doing quite some Scala and the problems are very similar, so I bet that these will help me a lot.
- adambard 13y agoQuite different. I think a good way to imagine Julia is as a science-flavoured Go with dynamic types. Well, no, that's not quite right. Really, it's more like someone took Matlab and made it a real general-purpose language, and built it close enough to C to be generally fast, not just fast at a few things. Matlab actually has more in common with Clojure, being a JVM language.
- crowding 13y agoMatlab is not a JVM language, it just has some ability to call Java built in, and some of the IDE is in Java implementation. Launch Matlab without booting a JVM: matlab -nojvm
- tel 13y agoJulia is aiming at Matlab while Clojure is aiming at JVM/Lisp. If you're used to using Matlab for scientific computation then at some point Julia will become a much better option. Much of their work is around lifting heavy numerical components up into the runtime which are wasted on a lot of the programming one would do in something like Clojure. I'd say they're pretty different niches.
- simonster 13y agoJulia isn't (currently) targeted as a general-purpose programming language, but there's nothing in the core language that's specialized for scientific computing. While the linear algebra libraries etc. are part of the standard library, they're either written in Julia or wrappers for external projects. Its closest relative in terms of paradigm is might be Dylan (http://en.wikipedia.org/wiki/Dylan_programming_language http://en.wikipedia.org/wiki/Dylan_programming_language), which Apple intended as a lispy general-purpose language for the Newton. IMHO, making it useful in the domains where people use Clojure is really just a matter of library support (and whether you can tolerate 1-based indexing).
- tel 13y agoWhile that's true, I can't believe that given its numerical bent it'll take anything less than an incredible push to move it to a more general playing field.
- StefanKarpinski 13y agoShh! Don't tell anyone but all computing is numerical computing.
- tel 13y agoI... disagree. Strongly? In fact almost feel the opposite, that "numerical work" is a subset of computing. What would you call a lambda calculus reducer numerically?