off-topic: stackof developer survey

263 views
Skip to first unread message

Gregg Reynolds

unread,
Mar 22, 2017, 5:26:26 PM3/22/17
to clo...@googlegroups.com
very interesting stuff, esp. the sociological bits:


sadly, clojure does not even rank in popularity.  but it's number 1 in pay worldwide.  o sweet vengeance!

Luke Burton

unread,
Mar 22, 2017, 7:17:10 PM3/22/17
to clo...@googlegroups.com
Some fun reading in there, Clojure features a couple of times. It would be fun to watch for spikes in traffic to Clojure related resources, because I'm sure that landing "most highly paid" will cause a few people to sit up and take notice.

This did get me thinking though. If the community *did* want to score highly on some of these metrics, what would those be? Or do none of them adequately capture what is valued by the Clojure community?

I think I'd claim that popularity is a terrible metric, even though it can be gratifying to be popular. The fact that lots of people do a particular thing doesn't mean that thing is inherently good, or worth striving for. Some very popular things are bad lifestyle choices, like smoking, a diet high in sugary foods, and writing JavaScript.

Conversely some very, very good things can die from even the perception of being unpopular. We often get people asking on the subreddit why they find so many "abandoned" libraries in Clojure. The fact a piece of software might have been written years ago, and still be perfectly usable, is such an anomaly in more "popular" languages that people assume we've all curled up and died. I recently had a project steered away from Clojure (suffice to say it was a very good fit, I thought) due to concerns around the availability of Clojure programmers in the long term. In Silicon Valley. Where you can throw a rock in the air and be certain it will hit a programmer on the way down.

Anyway, my personal metric for Clojure success would be: "for projects where Clojure is an appropriate technical fit, how often are you able to choose Clojure?" It's a selfish metric but the higher it goes, the happier I am ;)

Luke.

Gregg Reynolds

unread,
Mar 22, 2017, 8:36:58 PM3/22/17
to clo...@googlegroups.com
On Wed, Mar 22, 2017 at 6:16 PM, Luke Burton <luke_...@me.com> wrote:

On Mar 22, 2017, at 2:26 PM, Gregg Reynolds <d...@mobileink.com> wrote:

very interesting stuff, esp. the sociological bits:


sadly, clojure does not even rank in popularity.  but it's number 1 in pay worldwide.  o sweet vengeance!

Some fun reading in there, Clojure features a couple of times. It would be fun to watch for spikes in traffic to Clojure related resources, because I'm sure that landing "most highly paid" will cause a few people to sit up and take notice.

This did get me thinking though. If the community *did* want to score highly on some of these metrics, what would those be? Or do none of them adequately capture what is valued by the Clojure community?

I think I'd claim that popularity is a terrible metric, even though it can be gratifying to be popular. The fact that lots of people do a particular thing doesn't mean that thing is inherently good, or worth striving for. Some very popular things are bad lifestyle choices, like smoking, a diet high in sugary foods, and writing JavaScript.

Yeah, well, I can't vouch for the methodology.  Smalltalk is number 2 in Most Loved? Who knew?  (Hint: it's a very self-selecting sample). 

Personally I don't think the language popularity stuff is very meaningful.  More interesting to a greybeard like me is e.g. "years since learning to code", where "20 or more years" is waaaay ahead of anything else, but is listed at the bottom and not even mentioned in the commentary!  Ditto for "years coding professionally, where "20 or more years" is in fifth place, but is listed at the bottom; and "years coded professionally in the past, where "20 or more years" wins by a mile, but again is not mentioned in the commentary.  haha.  Remember that age and treachery beats youth and talent any day of the week! ;)

g

Didier

unread,
Mar 22, 2017, 8:50:27 PM3/22/17
to Clojure
As I understand it, the Most Love metric asks people who work with the language how happy they are with it.

So I find this metric very interesting. Clojure foes rank well in this, but it falls below a lot of others. I'd like to know why?

Why doesn't everyone who uses Clojure loves it?

I can see either because it's not everyone's cup of tea. Like a love it or you don't situation. Or it actually has pain points, and as a community we should try to address those.

Mars0i

unread,
Mar 23, 2017, 8:49:40 PM3/23/17
to Clojure
The highest-paid win suggests there's greater demand than supply, so people who aren't comfortable with FP or lisp may be forced to code in Clojure, or try to for the sake of a job without doing it right, and are unhappy as a result.

Mars0i

unread,
Mar 23, 2017, 11:12:51 PM3/23/17
to Clojure


On Thursday, March 23, 2017 at 7:49:40 PM UTC-5, Mars0i wrote:
The highest-paid win suggests there's greater demand than supply, so people who aren't comfortable with FP or lisp may be forced to code in Clojure, or try to for the sake of a job without doing it right, and are unhappy as a result.

There are better explanations in the #off-topic channel of the Clojurians group in slack.

piast...@gmail.com

unread,
Mar 24, 2017, 6:05:24 PM3/24/17
to Clojure


> This did get me thinking though. If the community *did* want to score highly 
> on some of these metrics, what would those be?

I'll be happy so long as Clojure is the popular choice for doing the things where it's advantages should matter: machine learning, AI, NLP, concurrent programming. 

It drives me crazy that Python is doing so well in all of the areas where Clojure should be winning. There are such beautiful libraries for working with vectors and matrices with Clojure, which should obviously help with NLP, yet people use Python instead. Likewise, so much of machine learning should be done as work in parallel, and Clojure makes that easy, yet Python is preferred. Drives me crazy. 

These last few years I've been at a lot of NLP startups, and the choice of Python makes me sad. 

Gregg Reynolds

unread,
Mar 24, 2017, 6:17:15 PM3/24/17
to clo...@googlegroups.com


On Mar 24, 2017 5:05 PM, <piast...@gmail.com> wrote:


> This did get me thinking though. If the community *did* want to score highly 
> on some of these metrics, what would those be?

I'll be happy so long as Clojure is the popular choice for doing the things where it's advantages should matter: machine learning, AI, NLP, concurrent programming. 

It drives me crazy that Python is doing so well in all of the areas where Clojure should be winning. There are such beautiful libraries for working with vectors and matrices with Clojure, which should obviously help with NLP, yet people use Python instead. Likewise, so much of machine learning should be done as work in parallel, and Clojure makes that easy, yet Python is preferred. Drives me crazy. 

doesn't drive me mad, but it does puzzle ans annoy me.  puzzle: why is it?  not sure, personally.


These last few years I've been at a lot of NLP startups, and the choice of Python makes me sad. 




On Wednesday, March 22, 2017 at 7:17:10 PM UTC-4, Luke Burton wrote:

On Mar 22, 2017, at 2:26 PM, Gregg Reynolds <d...@mobileink.com> wrote:

very interesting stuff, esp. the sociological bits:


sadly, clojure does not even rank in popularity.  but it's number 1 in pay worldwide.  o sweet vengeance!

Some fun reading in there, Clojure features a couple of times. It would be fun to watch for spikes in traffic to Clojure related resources, because I'm sure that landing "most highly paid" will cause a few people to sit up and take notice.

This did get me thinking though. If the community *did* want to score highly on some of these metrics, what would those be? Or do none of them adequately capture what is valued by the Clojure community?

I think I'd claim that popularity is a terrible metric, even though it can be gratifying to be popular. The fact that lots of people do a particular thing doesn't mean that thing is inherently good, or worth striving for. Some very popular things are bad lifestyle choices, like smoking, a diet high in sugary foods, and writing JavaScript.

Conversely some very, very good things can die from even the perception of being unpopular. We often get people asking on the subreddit why they find so many "abandoned" libraries in Clojure. The fact a piece of software might have been written years ago, and still be perfectly usable, is such an anomaly in more "popular" languages that people assume we've all curled up and died. I recently had a project steered away from Clojure (suffice to say it was a very good fit, I thought) due to concerns around the availability of Clojure programmers in the long term. In Silicon Valley. Where you can throw a rock in the air and be certain it will hit a programmer on the way down.

Anyway, my personal metric for Clojure success would be: "for projects where Clojure is an appropriate technical fit, how often are you able to choose Clojure?" It's a selfish metric but the higher it goes, the happier I am ;)

Luke.

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Mars0i

unread,
Mar 24, 2017, 10:46:18 PM3/24/17
to Clojure


On Friday, March 24, 2017 at 5:17:15 PM UTC-5, Gregg Reynolds wrote:


On Mar 24, 2017 5:05 PM, <piast...@gmail.com> wrote:


> This did get me thinking though. If the community *did* want to score highly 
> on some of these metrics, what would those be?

I'll be happy so long as Clojure is the popular choice for doing the things where it's advantages should matter: machine learning, AI, NLP, concurrent programming. 

It drives me crazy that Python is doing so well in all of the areas where Clojure should be winning. There are such beautiful libraries for working with vectors and matrices with Clojure, which should obviously help with NLP, yet people use Python instead. Likewise, so much of machine learning should be done as work in parallel, and Clojure makes that easy, yet Python is preferred. Drives me crazy. 

doesn't drive me mad, but it does puzzle ans annoy me.  puzzle: why is it?  not sure, personally.


These last few years I've been at a lot of NLP startups, and the choice of Python makes me sad.

I thought that Python had a big head start.  Is that incorrect?

OO is still dominant, overall, and FP requires a big transition.  If you're a Java programmer, which is a more natural choice? Python or Clojure?  Sure, Clojure is more closely tied to the JVM, but you don't write JVM code.

Joe Python

unread,
Mar 25, 2017, 12:18:01 PM3/25/17
to Clojure
Scipy/Numpy had a head start in this area long before others should up in the Open source space.

Dragan Djuric

unread,
Mar 25, 2017, 1:49:45 PM3/25/17
to Clojure
But why is it bad news if your competition don't use the best tool available (if it is true, of course)? I consider it a competitive advantage.

On the other hand, it is perfectly clear why everyone uses Python for ML and (almost) nobody uses Clojure:
1) All serious literature is in Python. There is almost no literature for Clojure. No, Pact books do not count as good literature in my opinion.
2) There are numerous turnkey solutions in Python. There are only partial solutions in Clojure. It doesn't matter whether Clojure is better or not; most people, naively in my opinion, want to become ML masters in a weekend or so, and Python gives them that promise.
3) I'm sure other people in the thread can come up with more reasons...

What is the solution, then? Well, other than creating and releasing good software and writing about it, I am not sure. To return to the starting point: is it so important? Isn't it advantageous in some sense to have access to stuff that your competition doesn't have?

Didier

unread,
Mar 25, 2017, 2:23:40 PM3/25/17
to Clojure
Is Clojure so great at AI, ML, NLP and concurrent programming?

It seems to me the libraries are lacking. I also know there's a race for performance, and it looks like CPU parallelization isn't even fast enough, so distributed or GPU based solutions are being built, which I'm also not sure Clojure offers much support for.

Dragan Djuric

unread,
Mar 25, 2017, 2:32:37 PM3/25/17
to Clojure
Clojure offers full support for GPU computing. See http://clojurecl.uncomplicate.org, as far as I know, Python doesn't have so well integrated GPU programming. It also supports full high-performance CPU acceleration. Also, although Neanderthal (http://neanderthal.uncomplicate.org) is not yet on par feature-wise with what Python offers with Numpy and other libraries, it is gaining features rapidly (major update comes next week), and what's there is, IMHO, much better than what Python offers. I'll also create ClojureCUDA, and integrate that into Neanderthal. cuDNN Clojure library is then relatively straightforward to create. 

Lots of stuff is there, and even more coming up, but what can you do... we have the best features no one knows about :)

craig worrall

unread,
Mar 25, 2017, 4:23:56 PM3/25/17
to Clojure

Yes, if you have a 'product' perspective, but others will have a service provider perspective and would like to see employers committed to Clojure and looking to engage with practitioners.+

Dragan Djuric

unread,
Mar 25, 2017, 4:36:24 PM3/25/17
to clo...@googlegroups.com
Sure, I agree. I'm just saying that whoever would like to see whatever, they'll have to commit some work or money into making it happen, or change their preferences to other stuff :). For example, if someone is a programmer who would like to learn ML to be able to land a better job, and this employability is the main criterium, Python is the obvious choice. If that programmer does not like Python and prefer Clojure, he or she has the option to commit some work into making Clojure's ecosystem better, or to learn to love Python. Likewise, if a company prefers Clojure, they can open-source their libraries, or fund some work on Clojure open-source... 

Many other small contributions can be made, even the simplest things like writing getting starting guides, or improving the documentation and tests of existing tools, but vast majority of people don't do even that. All in all, if everyone just wait for the perfect solution to appear out of nowhere, I'm afraid they will wait for a long time... 

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to a topic in the Google Groups "Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure/1Ha-hMgr1us/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clojure+unsubscribe@googlegroups.com.

piast...@gmail.com

unread,
Mar 25, 2017, 9:23:29 PM3/25/17
to Clojure
> doesn't drive me mad, but it does puzzle ans annoy 
> me.  puzzle: why is it?  not sure, personally.

I've seen this pattern at the last 2 startups that I've worked at: 

The startup hires a bunch of people as they graduate from college. They are hired to do data analysis, typically on some kind of financial data (these are the types of startups I've been at). These newly hired people have a background in math and statistics. They learned programming by accident, incidentally. They learned Python, because that was what was recommended in all of the college classes that they took. Then they graduate and start work at the startup, and when they need to program, they do it in Python, because that is what they know. They are learning a great deal, very fast, about the business world, and financial analysis; they don't feel they have the time to learn about a new programming language. 

Meanwhile, from the perspective of the startup, the history of their decisions went like this: they had an idea, so they contracted with a team in India to build the prototype -- the founding team had no one technical on staff, so they went with the cheapest option, which was PHP. So the crew in India builds a flawed prototype in PHP. The basic idea for the startup was good, and they make some money, so after a year they hire a CTO, who immediately wants to scrap the prototype and build solid, high quality software. The decision is made to move away from PHP. But what should they move toward? They are already hiring a large number of data analysts who know Python, so the most obvious option is to hire more Python programmers, and standardize the company around Python. 

I've seen this pattern more than once. 

For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.

Didier

unread,
Mar 27, 2017, 12:51:09 AM3/27/17
to Clojure
All the uncomplicate libraries look really awesome. I'm going to give them a try out. I agree with you 100%, as a Community, we'll have to build more tools, write tutorials, add tests, etc., if we truly want Clojure to grow. Awesome job on those, I like their landing page, great description, good doc, very nice.
Reply all
Reply to author
Forward
0 new messages