Fork me on GitHub

@roberto: it seems to me that the fact that questions on StackOverflow are enduring, linkable, searchable and open to the world outweighs the slight impracticalities of SO, don't you agree? I'm making a big deal out of this because I believe it would not only relieve the experts that spend a lot of time answering these questions over and over again, but more importantly make the Clojure ecosystem more open and welcoming - which it badly needs IMHO.


pleeeease I really want teams to adopt Clojure simple_smile but it would be easier if the Clojure community looked less like a cult


I don’t think the Clojure community looks like cult, quite the opposite. I’m not totally against posting questions in SO, I’m just stating why I don’t do it, and I prefer a medium like irc and slack.


I think the clojure community is way more open and welcoming than other tech communities. I can communicate with people more easily through irc or slack, and it builds relationship and bond. I already feel like a part of this community. I have never felt like this before.


lazy-lambda: :thumbsup:

Kira Sotnikov15:07:19

lazy-lambda: you are welcome

Kira Sotnikov15:07:34

And agreed, clojure people are awesome


@roberto: no offense meant. I feel the same, I love the Clojure community. But it's not about what I think. People in cults love other people of their cult, and feel it's open and welcoming too! We have to think about what it looks like from the outside. And believe me, when I talk about Clojure to the other programmers I work with, they see it as a cult. Even if they're mistaken, it is our responsibility (and best interest) to prove them wrong.


okay, so you are saying that if everyone posted all their questions on SO then it would change their perception?


also, I think there are lots of clojure related questions in SO, and the clojure community is more than just SO Q&A


I personally don’t like SO, so I won’t go there. I feel like most users there are vying to get their answers accepted. And less about building a community/relationship.


personally, I feel like the ruby community is more of a cult, and they have tons of entries in SO. It is a matter of perception and that changes based on the individuals.


@roberto: what I am afraid of is that, by adopting some habits, the Clojure community may become a private club, only looking to the inside; the fact that people are very friendly to each other inside that club is orthogonal to the issue I'm talking about. Of course, if you are completely allergic to SO, I would not force you to use it simple_smile ; and granted, asking questions on SO does take somewhat more effort than just typing in the Slack message box. However, I believe that encouraging people to ask their questions on Slack instead of a Q&A site would send messages that are harmful to the community, i.e: 1) it does not matter that other persons than the one who asked the question can benefit from the answers 2) it does not matter than many people can contribute to the answer 3) we're not really interested in building a knowledge foundation for Clojure 'the clojure community is more than just SO Q&A' -> have I ever said that? I'm not saying we should abandon Slack for all purposes, only that it's not very suitable for Q&A (less so than a Q&A website).


hmmm, i think the Clojure community is the first I’ve been a part of that looks outside more than others.


case in point: core.async, core.typed, Om


Yes... but I want more 😄


oh, you’ll get more, don’t worry about that.


just look at David Nolen’s talk at EuroClojure.


personally, if I have any questions about the language, I go to a couple of places: clojuredocs, or the beginner books (Living Clojure or Clojure for the True and Brave).


they have never let me down.


if I have a question about a specific library, github issues has saved my skin a lot of times. and asking questions in irc also.


I am still pretty amazed that the core contribs will answer your questions.


(isa? <@U050B88UR> ICloneable)


and most of the discussions here have to do with concepts than “howtos” or “recipes”, which is what you get in SO


hmm still quite a lot of these howtos here IMO


I haven’t seen much of those. And the ones I’ve seen are related to obscure topics. (like the internal workings of clojurescript).


also, I think it is a test for the community. If the community is not able to take up the slack and answer the basic questions, then it would be a bad sign.


what normally happens is that those of us who are learning and grasp a concept, eventually answer those questions. I think that is a healthy sign.


and it gives the community an opportunity to grow.


@val_waeselynck @roberto StackOverflow / Slack / IRC / Mailing Lists - none are mutually exclusive. I’m not sure what this conversation is about simple_smile


I’m just saying that not all Q&A belong in SO


Clojure experts traffic and support all of these avenues


and, at least in my case, I visit slack and irc for the interaction with the community.


man, I hate it when these css libraries include a js file and don’t mention in the documentation how to use the js api.


@dnolen: no issues on the supply side simple_smile my point is not that Clojure experts are neglecting any medium - they're not, and I'm very grateful for it. I just had a feeling that this Slack was a bit overused for Q&A questions, and suggested that SO may be a better fit for those. Hence the conversation


@val_waeselynck I have no idea how you came to this conclusion. I actually read all of the things I described above


Slack is no more important popular than anything else


@dnolen: sorry, I don't get what you mean in your last message, maybe my bad English :s . Look, I don't want to turn this into a troll.


@roberto: about the cult thing, I did not mean to hurt anyone's feelings; but that's what 'outsiders' around me think and say, and I want to raise awareness about it.


no worries


I understand


humans naturally fear what they don’t understand.


any experience of getting complete outsiders up to speed on Clojure?


no, but you might want to look at ClojureBridge


and see how they teach clojure to beginners.


@val_waeselynck there are some really great books now Clojure Programming, Living Clojure, Clojure for The Brave & True come to mind. Meetups are a great way to grow a local community. Agree about ClojureBridge.


Already know about these ressources simple_smile (have used most of them myself) what I'm wondering actually is what population can I reasonably expect to learn Clojure, and how fast


@val_waeselynck my team uses Clojure and we have co-op students every 4 months.


The Clojure community where I live is quite small, which is why I'm considering hiring people and training them afterwards, but I'm not sure it's viable.


@val_waeselynck it typically takes me a couple of weeks to get them comfortable and productive with it


Any luck with experienced programmers?


the trick is in identifying small and self contained tasks that the beginner can focus on to get momentum, then integrate new concepts as they go


@val_waeselynck I recently started teaching a Clojure workshop and I see similar results there as well


@val_waeselynck well I would say in the past and even today a very large population of Clojure programmers are experienced Java programmers.


we primarily focus on web applications


so ymmv in different domains simple_smile


@dnolen I do see a lot of ruby/python people as well at the workshop, I was a bit surprised by that actually


@val_waeselynck some inexperienced but very bright developers who don’t have to unlearn other paradigms would pick up Clojure pretty well I think


@dnolen: yes, but what proportion of all Java programmers are able to learn it?


@val_waeselynck - anybody who can have a conversation about the pros and cons of an approach rather than just be able to recite the approach for example


@val_waeselynck - I certainly struggled to unlearn the bad habits and modes of thinking I picked up working with Java for decades


but I am glad I did!


My personal experience is that experienced Java programmers (myself included) find they have to unlearn habits to get the best from Clojure. I’ve been doing some brown bag sessions in work for Java developers and they can see the advantages..I think Rich’s ‘Clojure, Made Simple’ will resonate with many Java dev’s and give them motivation.


@val_waeselynck the last survey that tracked (admittedly 2 years ago) this showed that 30% of all Clojure programmers are Java programmers, so it can’t be incredibly difficult.


all other language populations coming to Clojure in that survey were at most, half the size of the Java population.


I find that doing small focused projects is a good way to get Java devs interested


for example, my team started getting interested in Clojure by making internal utilities and support tools


stuff like working with JDBC really resonates with most Java devs I find


I think an appreciation of Rich’s ‘Clojure, Made Simple’ should be some sort of threshold before being allowed to touch Clojure. Same way I think everybody should be forced to ride a motorbike for 6months before driving a car 😉


@dnolen: as a fully paid up member of the 30%, I agree. I’ve reinvented myself before (COBOL->Java) so I know the hardest thing is the initial frustration at not being as productive. It takes some persistence to get past that.


@agile_geek: right so as important as the learning curve is the enthusiasm to actually learn something new.


@agile_geek: did you find (like me) that it was much more about paradigms and processes than tooling and syntax though?


lots of developers (people really) don’t want to learn new things simple_smile this has to be accepted into any calculation around adoption.


I’m coming over from java also, and I needed to unlearn all the OO


@dnolen: exactly what worries me.


Very true. I choose Clojure (over Scala) because it forced me to work with FP paradigm as that’s what I wanted to learn and I knew under pressure with Scala I would fall back on OOP.


ha - me too. Java->Scale->Clojure


up the power continuum


actually, I came via Racket + ML after doing the Dan Grossman course on Coursera


@val_waeselynck but that isn’t a Clojure problem, you see this reaction to any language that isn’t in the top 10


my point is that there are a lot of Java developers who just wouldn’t care enough unfortunately.


I got fascinated by SML, and when I gave Clojure a try, lots of concepts from that course translated over pretty nicely.


yeah, some devs are too comfortable where they are and are not interested in learning anything too different.


@colin.yates: but that may be OK…those who don’t see the advantages won’t join in. Not sure I’m unhappy with that?


I actually found Martin’s ‘Functional Programming in Scala’ course on Coursera really helpful in the transition


@val_waeselynck and even in the top 10 languages, take the top 2.


Java & JavaScript


I constantly hear both those communities and complain and refuse to learn another top 2 language.


it’s hilarious.


@dnolen: about that, given the language semantics, I would think that the gap would be easier to cross for JavaScript developers, any feedback on this?


@agile_geek: we should start a ‘recovering OOers’ club


I think the worst thing is that most Java developers get very attached to what hurts them the most.


I definitely think ClojureScript is quickly becoming the best way to get developers interested


“I used to do OO. I couldn’t help myself. The first thing I would type was ‘class’. Over and over again”.


when you show Figwheel in action it really sells itself simple_smile


gotta go put the kids to bed, this has been a fun 2 minutes diversion simple_smile


@yogthos: agreed RE: CLJS


@roberto: I recently had a realization that making classes quickly leads to having to do tons of memorization


figwheel and Om got me interested in CLJS, which inturn got me interested in clojure


@dnolen I think that’s a ‘disease’ I see in what I call 9-5er languages i.e. those heavily used in large enterprises..including .NET. I was one of those who couldn’t see the point of other languages when I could write what I needed in Java and it’s what most org’s used.


@roberto: the Clojure, Made Simple talk really made that click for me


yeah, that talk is a gem


@agile_geek: Well I like 9-5 too and I get to use Clojure(Script) simple_smile


but I’m not afraid to learn new things or try new things.


I wouldn’t say 9-5ers, it also has to do with the work culture.


if you are surrounded by devs who keep learning new things, and pushing themselves in new directions, you will do the same.


as a python+js developer, learning clojure is very exciting since it not only gives me a new way of thinking - but it means i can write my FE + BE code in the same language


@dnolen: I have learned so much that I apply to my Java from trying other languages over the last few years.


@roberto absolutely. I think it’s what I was trying to a clumsy metaphor.


@yogthos: I do the same. I always play around on the repl trying to transform the data. I find myself doing that instead of reading the javadocs. simple_smile


@roberto: I've taken that role of trying to encourage a learning culture by example in the last 3-4 jobs I’ve had.


you can’t get away without reading the javadocs in java.


I had an interesting chat with @alexmiller about whether the Java REPL proposed in Java 9 might change that…not sure it will though. Too much boiler plate?


@agile_geek: encouraging learning + 3 to 4 jobs - cause and effect maybe simple_smile


@colin.yates: contractor/consultant..nature of the job 😉


@yogthos: yep - I totally see CLJS becoming the primary doorway to the house of Clojure.


@agile_geek: I expected that, I’m only teasing. If I had tried to encourage learning enough to sufficiently adopt Clojure successfully in some of the larger enterprises I used to consult in then I expect it wouldn’t have lasted too long


@colin.yates: and I’m old…I’ve done a lot of stuff!


I really am going to put the kids to bed now - bye all


@roberto: when you're working in an environment where you have to read the docs to do anything and then setup unit tests to see how any one thing works, you really don't get much done in the course of the day simple_smile


@colin.yates: it is possible to introduce Clojure in the enterprise, just takes longer


@val: FWIW, I also feel a bit of the "cult" vibe you've described. I've been following the Clojure space for years now, and only started writing a few months back. I can't put my finger on why, but I've had a bit of an odd experience integrating with the community. Perhaps it has something to do with the fact that the languages are very much led/developed by specific individuals (Rich, Alex, David)? So there might be a bit of an accidental personality cult effect / hero worship thing going on? Eg: I've seen so many arguments come down to one side name-dropping Simple Made Easy / complecting / other talks, as if that alone is sufficient justification for a premise.


@colin.yates: my work used to be all websphere, oracle, jsf, the works and over the past 4 years we moved practically all new development to clojure


@yogthos: in languages where I don't have a REPL, I feel like I'm building a robot to try a car... instead of just trying the car.


@val_waeselynck that's a great way of putting it simple_smile


@val: whereas JS or Java or Ruby / Rails (etc) are the work of many, many people, and most newcomers don't begin their journey into the language by absorbing the philosophical talks of the language creators.


@ivanreese: interesting, never saw it that way.


my go to is "that's the library Luminus uses"


It is very important for Clojure programmers to never forget what it felt like on their first encounters with Clojure, when it was just 'a weird-looking language with too few features, small adoption and archaic roots'


I felt the opposite.


I worried that it had too many features.


(Not being contrarian)


It took me a while to learn that things like first class sets, multiple implementations of core abstractions, all the core libraries PLUS the idiomatic interactions with the host platform... That this was all fine, because the semantics were so dammed consistent.


Prior, I was used to languages that were designed through continual pet-features being tacked on, so there was terrible inconsistency between parts.


I started out going to meetups, spending about a month on 4clojure, and reading up on ring/compojure


@ivanreese: did I just hear you say Scala? ^^


No sir, I never touch the wacky tobbacco.


(My background is in ActionScript making tools for animators / interaction designers)


(I've spent the majority of my career writing in AS3, aka: Adobe's implementation of the doomed ES4 spec)


On the other hand, my first interactions with the community made it feel like everyone knew everyone. At Strange Loop, everyone seemed like old friends. I came away feeling that.. to really be a part of the community, I'd need to make a library that everyone loved (core.typed), or cook up some cool project that'd be a good showcase for the language (Goya), or do some heroic act of documentation (Shaun LeBron), or become really active contributing feedback on the betas (Sean Corfield), or some other act of meaningful contribution (porting pprint). It felt like a community of people who did great work for the community. Which is awesome, but it's a bit intimidating to a newcomer. I quite like the slack channel, because there's direct interaction with other humble users. This is something I was missing when I started.


I hadn't heard of 4Clojure. What a terrible and wonderful pun!!