7 ms·
I know that this might be not a very popular opinion but I am learning Clojure in 2020. I work a lot with data and in my particular job the most important thing
by Random_ernest 7y ago
I know that this might be not a very popular opinion but I am learning Clojure in 2020. I work a lot with data and in my particular job the most important things are rapid prototyping, productivity and level of abstraction. After getting into the basics I find it to be the most intuitive and well designed language I came across. Last time I felt that I could do extremely complex things in hardly any time was when I learned Python.
About the Tensorflow/Keras thing you mention: Imho Keras is dead with Tensorflow 2.0 and the entire Clusterfuck that came along with it made me try out Pytorch and I haven't looked back at it. I was able to convert my model from TF to Pytorch in half a day without any prior knowledge of Pytorch and it works like a charm.
- lbj 7y agoI still think Clojure is hot. I recently paired up with a C# developer to look at some rapid prototyping options for React apps. Turns out when we said 'rapid prototyping' our understanding differed by several orders of magnitude.
- city41 7y agoReagent is such an amazingly satisfying way to work with React.
- LandR 7y agoClojurescript and fig wheel got me actually interested in learning some front end. It finally felt like a sane way to do front end.
- balfirevic 7y agoAre you saying that a prototype that you'd estimate to take 3-4 days, your colleague would estimate it to take a year?
- kragen 7y agoMaybe Landslide Lyndon thought "rapid prototyping" meant getting feedback in 5 minutes, and thus being able to modify your prototype dozens of times a day, while their C# colleague thought "rapid prototyping" meant getting feedback in a day, and thus being able to try out new prototype designs several times a week.
- jcadam 7y agoYea, I've been using Clojure for years now as my default language of choice. That was after several years of trying out various different "newfangled" languages like Scala, Golang, Haskell (ok, Haskell isn't very new), etc. I eventually landed on Clojure and it just clicked. I would like to pick up a Lisp that's not tied to the JVM for some things... perhaps I'll learn Common Lisp this year.
- Random_ernest 7y agoWhat are your arguments against the JVM if I might ask?
- jcadam 7y agoI don't hate the JVM, but there are certain applications where I'd like to have something that compiles to native code. And of course, the fact that the current steward of Java and the JVM is Oracle makes me a bit uneasy.
- simongray 7y agoWhat about compiling to native executables using GraalVM? Doesn't remove Oracle from the equation, of course.
- nbardy 7y agoYou can also run CloureScript on node.
- simongray 7y agoClojure/ClojureScript is this satisfying combination of "boring" and stable, yet at the same time cutting edge. I think people need to get over their fear of the parens and start paying more attention to it. Having used Clojure exclusively in my professional life for the last 2 years, it saddens me that we don't see more converts from JS. It's such a great language for today's reactive frontend paradigm. Everyone in the mainstream seems to want JS to turn into Java and are massively migrating to TypeScript. I can't help but feel that TypeScript is just an evolutionary dead-end.
- nbardy 7y agoI just swapped from using Clojure to TypeScript at work and I can't feel any different. Types are really useful at organizations where people need to work together, Spec has been largely underwhelming on this front. I wish more attention would've gone into core.typed. Hickey has generally spent most of his time with the language choosing other peoples great ideas and picking the right set of them to combine for Clojure. Spec feels overly ambitious and more like a research project than something than something fundamental.
- nikofeyn 7y ago> I think people need to get over their fear of the parens and start paying more attention to it. i have no problem with parentheses. it’s the JVM that gives me pause. i feel .NET and BEAM are the better choices these days with c#/f# and elixir/erlang/lfe, respectively. i would love to use a lisp/scheme but just don’t feel comfortable with the JVM and how much of it comes through in clojure.
- LandR 7y agoThen compile clojure to .Net? Clojure has compilers for both jvm and .net
- nikofeyn 7y agoas far as i can tell clojure clr is just a side project for a couple of people and in no way gets the same full support as clojure on jvm, not to mention that it lags behind clojure on jvm. and again as far as i can tell, no one really uses clojure clr. i have never seen anyone mention it other than to point out it exists. it isn’t like clojure purports to be a lisp on both jvm and .net. it is also unclear how to interop clojure clr with c# and f#. clojure clr doesn’t address the want of a stable vm, clear usage, and supporting toolset.
- city41 7y agoI really love Clojure. I dug deep on it for a while and got pretty good at it. But I haven't used it in years. The trouble with Clojure is it's very hard, bordering on impossible, to get it going in a work environment. It's very difficult to justify the cost at the management level. It's also very difficult to build a grass roots movement amongst coworkers because the harsh reality of lisp languages is you pretty much need some kind of "paredit-like" capability in your editor to not go insane. So people are really turned off at both needing to learn a new language and editor functionality. I'm glad I learned Clojure and lisps in general as they've made me a better programmer. I just wish I could leverage them more.
- Random_ernest 7y ago> The trouble with Clojure is it's very hard, bordering on impossible, to get it going in a work environment. Really? I guess things changed but I had 0 trouble setting it up recently. > reality of lisp languages is you pretty much need some kind of "paredit-like" capability in your editor to not go insane Every major Editor like VSCode, Atom, Vim, Emacs has this.
- LandR 7y agoAs does intellij. With cursive it's a great ide for clojure/ clojurescript.
- city41 7y ago> Really? I guess things changed but I had 0 trouble setting it up recently. I don't literally mean setting it up like on a dev machine. I mean getting it installed as the language to use to build new products at a company. > Every major Editor like VSCode, Atom, Vim, Emacs has this. Sure, but the problem is it's "yet another thing" they need to learn. They're already skeptical about learning Clojure itself because <current-language> works just fine. So dealing with parentheses adds to the hurdles. At least, in my experience. It will of course depend on the people involved.