5 ms·
Clojure 2015 Year in Review
- hellofunk 11y agoThis year, Clojure cemented itself as my favorite programming language, and I felt glad to be able to use it daily for my work, as it does take so much effort off the developer for little things, allowing one to concentrate more on big things. However, it was also the year I learned that, while Clojure, as a dynamic typed language running on a VM, is the best of that class of languages, static system languages are still irreplaceable for so many other things. This was the year I realized that one language does not fit all, and that it is okay to have more than one favorite language. (And in my case, it is Clojure and C++ that I am now using equally, and with equal enjoyment, and for entirely different reasons).
- s_kilk 11y ago> This year, Clojure cemented itself as my favorite programming language... Same. I've been playing with it for years, but I feel 2015 was the year Clojure(script) finally "got there", and is definitely here to stay.
- ComNik 11y ago> This was the year I realized that one language does not fit all, and that it is okay to have more than one favorite language. Same here. This, funnily enough, had the nice effect of taking a lot of stress out of talking about programming languages.
- hellofunk 11y agoI agree. I've noticed that programmers are often evangelical about their favorite language, and it gets tiring sometimes to say "yeah, but..." Sometimes, you just need a different tool, and efforts to make one language do absolutely everything well are not usually the best way to spend one's time.
- modarts 11y agoClojure is one of the most addictive languages I've ever worked in. I can see why so many people pick it up as something to build hobby projects with, it's just so damn fun to write.
- vvanders 11y agoI'd love to dive into it more but the startup time for Lein just absolutely kills me. 10s to build, 15s for REPL. This is on a laptop that handles VS2015, Rust and many other languages fine.
- modarts 11y agoIdeally, you wouldn't be restarting the process all that often. I'll typically be REPL'd in for quite a few hours at a time as I'm developing (only reason for restarts is usually pulling in new dependencies, or if your state gets out of whack; which is something that doesn't happen all that often after adopting Stuart's "reloaded" workflow based on component)
- lsh 11y agoStuart Sierra's Component: https://github.com/stuartsierra/component https://github.com/stuartsierra/component and his 'reloaded' workflow: http://thinkrelevance.com/blog/2013/06/04/clojure-workflow-reloaded http://thinkrelevance.com/blog/2013/06/04/clojure-workflow-r... I haven't looked into them but the lein startup time kills me too. I love Clojure but I am looking at alternatives like Racket because of this.
- modarts 11y agoPeople seriously switch languages based on the time it takes their dev environment to boot up?
- lsh 11y agoI can't speak for other people, but I guess being a person and considering switching from Clojure because the development workflow has a long feedback cycle that the answer to your question is a yes? I have Ring reloading code for me as it changes, however if there is a syntax error or exception in a thread, code doesn't get reloaded and strangeness ensues, requiring me to kill the jvm instance and start it up again. Stuart Sierra talks about this problem in his reloaded workflow, and how it's still a problem for him, but he at least now has a faster way of refreshing his app instances.
- furypt 11y agoFor which use cases are you using the other favourite language (in this case, C++)?
- hellofunk 11y agoClojure is not really an option when you do systems programming, such as writing native apps, command line tools, working on small devices like a Pi, etc. There are many things I'm exploring in C++ for which Clojure is just not a good tool for the job. But also, there are some really great C++ libraries in the areas of physics and graphics, and there is no equivalent of the in Java I could use.
- sdegutis 11y agoThere are a few Clojure-inspired Lisps that are meant to be suitable for writing command line apps. I'm trying to work on one myself in fact (https://github.com/sdegutis/Paladin https://github.com/sdegutis/Paladin), with the main goal being that it's written entirely in C and has 0 (required) external dependencies -- both goals having been inspired by the implementation and design of Lua. But I'm no expert at implementing languages so it's coming along slowly.
- lord_quas 11y agoYou know, typed clojure is pretty excellent. http://typedclojure.org http://typedclojure.org
- hellofunk 11y agoMm, it has tremendous shortcomings. A lot of pro shops can't use it any more.
- hellofunk 11y agoHere is the same discussion from 11 hours earlier: https://news.ycombinator.com/item?id=10820218 https://news.ycombinator.com/item?id=10820218
- sdegutis 11y agoSome days I wish I hadn't completely scrapped and deleted my Mac-only Clojure-only native IDE. It was fricken cool, even if it wasn't Emacs. I think that thing had promise. Welp.
- JadeNB 11y ago> Some days I wish I hadn't completely scrapped and deleted my Mac-only Clojure-only native IDE. Scrapped, sure, if you felt frustrated with it, but why did you completely delete it?
- sdegutis 11y agoProbably once a year, I go through my Github projects and delete ones that have absolutely 0% interest, including from myself. I would have used my IDE (Leviathan) myself but it's hard to compete with Emacs. With a bit of community help I think it could have become something really cool.
- yjgyhj 11y agoIs it on github? Maybe someone takes up the torch, or at least reads your sources for guidance.
- sdegutis 11y agoApparently someone found a fork of it on Github! I've forked it again myself and will keep it for the time being... 575 commits is a lot of time to throw away completely, I shouldn't have been so rash the first time.
- vijaykiran 11y agoI forked it in the hope of keeping track of it - but the "Whatever" commits weren't that encouraging. :)
- sdegutis 11y ago