11 ms·
Clojure 2014 Year in Review
- jeremiep 12y agoThis is great! Glad to see more Clojure adoption in the corporate world. It's definitely well deserved! I used it only once at work to develop a stress test for a Java based game server. It was great fun to build, worked like a charm and ended up taking less than a thousand lines of code to implement the communications, bots and their execution scripts. Furthermore, the company just bought a copy of The Joy of Clojure and there's already a bunch of my coworkers interested in reading it. Good times!
- virmundi 12y agoA word of advice with Joy of Clojure: take up meditation. That book is surprisingly dense. I had to research topics ever few paragraphs. It is not a beginners books. Rather pair it with Clojure for the Brave and True. Combined the language comes alive. https://www.google.com/url?q=http://www.braveclojure.com/&sa=U&ei=_PCmVKeDGoS1ggTSs4SIBw&ved=0CAwQFjAA&usg=AFQjCNHwREuT-zFOIgs3_qMP0MGHnqITuA https://www.google.com/url?q=http://www.braveclojure.com/&sa...
- jeremiep 12y agoGood advice! The book is definitely dense and packed with useful information. I didn't read Clojure for the Brave and True yet, I'll add it to my reading list, thanks! However, I found it easier to digest than Let Over Lambda which was a real mind bender for me a few years ago. Being a LISP fan before learning about Clojure definitely made learning it much, much easier. It also made me appreciate the language early on for its impressive beauty, elegance and simplicity.
- reitzensteinm 12y agoSimilar experience here. I wrote a log parser with indexing and hierarchical cache invalidation to deal with larger than memory amounts of logs quickly and in a natural coding style, and after that I was hooked. Tiny code base, good performance, little need for ugly hacks. My latest site is now written in it and clojure script, and I see no reason to not continue. Though cljs is definitely a few years behind on the stability curve.
- jeremiep 12y agoI haven't had any major issues with cljs yet. I'm using it for personal side-projects where I prototype random ideas along with Om and React. I've had some issues with the Austin REPL however, there is sometimes random disconnections and it was hard to setup the first time, but using it is so much fun it completely shadows these issues.
- dkersten 12y agoI've had some issues with the Austin REPL however I've switched to using the Weasel[1] REPL instead and haven't had any disconnect problems since. Its also a little easier to setup (although still not "easy"). [1] https://github.com/tomjakubowski/weasel https://github.com/tomjakubowski/weasel
- zeroDivisible 12y agoFor everybody who wants to start Clojure, I know that there are loads of good resources, but the best one which I had found is this online MOOC: http://iloveponies.github.io/120-hour-epic-sax-marathon/ http://iloveponies.github.io/120-hour-epic-sax-marathon/ Teaches you TDD in Clojure and "forces" you to use git / Github / Travis to test your code. Highly recommended. edit: style.
- JBiserkov 12y agoMicrosoft/Nokia is using Clojure to power the web services behind MixRadio.
- neilprosser 12y agoI'm from MixRadio and we're actually about 40 engineers, not all doing Clojure. Pretty much all of our new micro-service work is done using Clojure. Not sure how many others in wider Microsoft/Nokia. Edit: making it clearer.
- nickik 12y agoI know that the Nokia Map people in Berlin use clojure.
- 147 12y agoI'd like to add that I'm starting a Clojure job next Monday at a "boring" company that you would never think would have a heavy reliance on Clojure. I think that there's a demand for Clojure developers that is unmet. I keep getting recruiters and etc. messaging me about Clojure.
- checksum404 12y agoCiti?
- 147 12y agoNah, it's at a company called RentPath. They own Rent.com, Apartment Guide, etc. I'll be a remote engineer.
- tsm 12y agoApartment Guide gave me a mug at Clojure/West last year...I was a little surprised that they were so invested in Clojure that they were sending multiple devs with boxes of swag to a Clojure conference. The devs I talked to also said they weren't very experienced with Clojure yet.
- mikerichards 12y agoThe amount of traction that Clojure is getting in companies like Walmart, Amazon, and elsewhere is surprising and impressive. Great work Clojure community.
- dmix 12y agoNot mentioned in the article but most interesting to me this year is how these guys are "building a bank from scratch in Brazil with Datomic and Clojure": https://www.youtube.com/watch?v=7lm3K8zVOdY https://www.youtube.com/watch?v=7lm3K8zVOdY The future looks bright for the language, especially with applications like this.
- coding4all 12y agoI've been writing Clojure almost exclusively for 3 or 4 years and it's just amazing. Core.async, Quil, Om, Chestnut, ClojureScript, ClojureScript + Apache Cordova, and I could go on forever.
- geophile 12y agoJust learning Clojure now. Would you do us newbies a favor and say a few words about the projects you mention: what they do, why we should look into them? There is much to learn, so a shove in the right direction(s) would be useful.
- coding4all 12y agoCore.async is an official Clojure and ClojureScript library that takes channels from the Go language and adds them to Clojure in a much nicer way. http://clojure.com/blog/2013/06/28/clojure-core-async-channels.html http://clojure.com/blog/2013/06/28/clojure-core-async-channe... All of the operations are expressions (not statements) This is a library, not syntax alts! is a function (and supports a runtime-variable number of operations) Priority is supported in alt -- Quil is a Clojure and ClojureScript library for creating interactive drawings and animations using Processing (https://en.wikipedia.org/wiki/Processing_%28programming_language%29 https://en.wikipedia.org/wiki/Processing_%28programming_lang...). -- Om is actually an interface to Facebook's React. Ironically, the terminology, and the feature set of Om has little, if any, resemblance to React. Om specifically transforms Clojure data so that it can be represented in a way that React can uderstand. In the Clojure world, we build on top of React and stay away from anything that resembles JavaScript and it's behavior. React provides a virtual DOM and we just use Clojure to talk to the rendering engine. https://gist.github.com/runexec/6efb322f29fc790a98a1 https://gist.github.com/runexec/6efb322f29fc790a98a1 -- Chestnut allows live coding in the browser. This means all changes are visible without having to reload the page. 2 Minute video of Om using Chestnut. https://www.youtube.com/watch?v=gI3fJKmvgq4 https://www.youtube.com/watch?v=gI3fJKmvgq4 https://github.com/om-cookbook/om-cookbook https://github.com/om-cookbook/om-cookbook -- Apache Cordova is the Apache License version of Adobe PhoneGap. ClojureScript compiles to highly optimized JavaScript already, so you can make mobile apps using ClojureScript and Apache Cordova.
- davexunit 12y agoSince Clojure adoption is picking up, what about convincing management to use other Lisps now? Clojure is okay, but I much prefer Scheme (Guile, Racket, Chicken, etc.).
- shaunxcode 12y agoRemember that the JVM is the major selling point for clojure. (that said there are many other lisps for the JVM)
- davexunit 12y agoI'm hoping it's just the gateway drug. The JVM is a monster.
- twic 12y agoA good monster like Godzilla, or a bad one like King Ghidorah? Either way, could you explain why you think so?
- coldtea 12y agoMonster? It's the best and fastest JIT that exists...
- finishingmove 12y agoFaster than LuaJIT? ;)
- jeremiep 12y agoNot only the JVM (which is rock-solid at this point) but also immutability, persistent data structures, the separation between values and identities and its solution to the expression problem which is protocols. I was at first turned down by the JVM (not knowing any better back then), but it turns out being a hosted language is one of the best aspects of Clojure.
- new2scheme 12y ago
- dominotw 12y agoI am not sure I would use RedMonk Index as popularity measure. Most people who I see using clojure are bored ruby programmers and they bought their open source culture with them to clojure. Clojure is not even in top 50 on TIOBE index http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html http://www.tiobe.com/index.php/content/paperinfo/tpci/index....
- puredanger 12y agoRed Monk's inputs are at least numbers based on tracks left by actual programmers and not meaningless search results. The "index" is calculated (http://www.tiobe.com/index.php/content/paperinfo/tpci/programminglanguages_definition.html http://www.tiobe.com/index.php/content/paperinfo/tpci/progra...) by searching the 25 highest ranked web sites on Alexa which have a search box and meet some basic criteria then magically weighting them as follows: - Google - 7.7% - YouTube - 7.4% - Baidu - 7.1% - Amazon - 6.8% - Google India - 6.5% - Yahoo Japan - 6.2% - Hao123.com - 5.8% - Google Germany - 5.5% - Microsoft Bing - 5.2% - Google Japan - 4.9% - Google UK - 4.6% - AliExpress - 4.3% - Alibaba - 4.0% - Amazon Japan - 3.7% - Google Brazil - 3.4% - 360.cn - 3.1% - Google Italia - 2.8% - Amazon Germany - 2.5% - Google Spain - 2.2% - Amazon UK - 1.8% - Google Mexico - 1.5% - Google Canada - 1.2% - Google Ad Services - 0.9% - Amazon China - 0.6% - Google Poland - 0.3% I might buy that a general internet or e-commerce search might tell you one (low-signal, high-noise) piece of data about popularity. Some of these sites seem highly questionable to tell you anything meaningful. Garbage in / garbage out. I think use of more specific numbers from sites like Stack Overflow or GitHub seems far more likely to give you relevant information.
- swannodette 12y agoMost Clojure programmers are Java programmers - http://cemerick.com/2012/08/06/results-of-the-2012-state-of-clojure-survey/ http://cemerick.com/2012/08/06/results-of-the-2012-state-of-... Even though this is 2 years old it's still the case that the Clojure folks are heavily dominated by users who have already invested in the JVM. The other largest group seems to be split evenly between Python & Ruby as reflected in this survey.
- mikerichards 12y agoAre we beginning to see the tipping point where mainstream corporates are starting to question whether traditional OO is the right way to go? Not to start a flame war, but it seems that Clojure/Rich's strong anti-OO stance is almost a selling point of the language. IMHO, OO just put some lipstick on the procedural pig.
- dominotw 12y ago>Are we beginning to see the tipping point where mainstream corporates are starting to question whether traditional OO is the right way to go? Nope. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html http://www.tiobe.com/index.php/content/paperinfo/tpci/index.... First functional language on that list is F# at 19.
- RussianCow 12y ago"beginning to see" != "already at". There is TONS of existing code written in OO languages--you can't expect functional languages to replace that overnight. However, functional languages like Clojure and F# are starting to become more common, even in corporate environments. (I know eBay and Wallmart use Clojure for some of their projects, among others.) I don't know if the trend will continue (my guess is yes), but you shouldn't dismiss it just because C, C++, and Java are still the most widely-used programming languages in the world.
- dominotw 12y agoBut uptick is not significant enough to say that they have enough momentum. Most companies like amazon write services in lots of different languages. Just using a language is not enough proof, do you have examples of major services written in functional languages at these enterprise companies?
- erichmond 12y agoAgreed there need to be "more" wins, but the amazon service seems like a pretty big one. From: https://lispjobs.wordpress.com/2014/11/25/clojure-software-development-engineers-amazon-com/ https://lispjobs.wordpress.com/2014/11/25/clojure-software-d... CORTEX is our next generation platform that handles real-time financial data flows and notifications. Our stateless event-driven compute engine for dynamic data transforms is built entirely in Clojure and is crucial to our ability to provide a highly agile response to financial events. We leverage AWS to operate on a massive scale and meet high-availability, low-latency SLAs.
- thom 12y agoAre people finding it easy/easier to fill clojure positions?
- terranstyler 12y agoI work 50%+ in Clojure as an IT Consultant and here in Europe it's not that easy to find a company that uses Clojure and embraces its benefits. When I use clojure, it's typically for companies who need to get something done and then I choose clojure to do it, but only once someone specifically asked me for clojure (but it was an American company). I don't find it as easy to work as clojure guy in Europe. In comparison, in the US there's much more demand but many companies refrain from remote contracting Europeans (even though I think my background is quite good ML, Data Science, Statistics, ..) So IMO the TL;DR is: filling clojure positions is only a problem in the US, not in Europe.
- JackMorgan 12y agoMy team which uses Clojure recently decided to grow. I regularly attend a local Clojure focused Meetup, and it is very easy to find interested developers there. The Meetup, which meets in Philadelphia, has over 150 members, so at least there is a large number of people interested.
- zubairq 12y agoClojure is awesome. However I don't want it to become too popular, as then those who do currently use it will lose all our magical powers if everyone has access to it :)
- gengstrand 12y agoI am surprised that no one here has yet mentioned Clojure in connection with Big Data. At OSCON 2014 ( see http://glennengstrand.info/analytics/fp http://glennengstrand.info/analytics/fp ), I was first introduced to Cascalog which allows you to write Hadoop map reduce jobs in Clojure. Both Cloudera and Hortonworks support it.
- puredanger 12y agoWe maintain a growing list of companies using Clojure here - http://clojure.org/companies http://clojure.org/companies