Fork me on GitHub
#off-topic
<
2020-05-28
>
bherrmann12:05:16

Yea, I noticed his article because of your tweet.... I was curious to see if/how other devs reacted to his ideas...

borkdude12:05:36

Any favorite email CSS framework?

orestis17:05:43

We use litmus to test rendering etc

Ho0man05:05:35

Interestingly the same goes for some other langs like Elixir and F# as well. They used to appear in the same categories as Clojure and close to it in rankings in 2019 and prior surveys but didn't appear at all in 2020.

seancorfield05:05:27

Nor Erlang, nor several others that have appeared before. Makes the survey irrelevant, IMO, that they omit many languages that are in common usage.

👍 16
Aron06:05:00

The relevancy of surveys is a topic full of fud anyway 🙂 This thing where you fill out the answers and then you are eager to see if the majority agrees or disagrees so you can argue with your colleagues based on popularity contests... I was never too fond of the practice 🙂

👍 4
didibus10:05:41

The only thing interesting was to see what kind of new trends were maybe happening, but if they get rid of all the new and different choices, it becomes a pretty bad metric for finding those trends.

Aron10:05:35

if they are rare and not expected, then they can actually show something new

Aron10:05:47

everyone likes the first one

J07:06:23

I can't believe everyone "loves" typescript!

flowthing08:06:32

Why’s that? A large chunk of developers like static typing (with good reason, I think).

chrisulloa08:06:55

it’s hard not to love typescript especially because it makes writing javascript bearable

chrisulloa08:06:48

gradual static typing, incredible tooling… two things i like most

J08:06:02

but it's a bit of "fake static typing". yeah "gradual static typing" is more appropriate.

Aron08:06:31

ts is not js, you write ts not js

Aron08:06:48

js was bareable even before class was added

flowthing08:06:19

Well, surely the graduality is a benefit here, right? Since it means you can gradually adopt TypeScript in your existing JavaScript project.

Aron08:06:23

cljs is more reliable than ts to write js code

❤️ 4
Aron08:06:40

you can't gradually adopt

Aron08:06:02

as with cljs, you need to adopt tooling

J08:06:46

ts definitely wins in the marketing department 🙂 personal opinion only, not that it matters

flowthing08:06:52

Sure, but I was referring to gradually adding type information into your codebase.

Aron08:06:05

marketing is the biggest evil in our society

🙂 8
flowthing08:06:07

As in, you don’t need to type everything to get started.

Aron08:06:13

so good for them winning there

Aron08:06:49

you don't need ts types at all, this is a classic sophist trap

flowthing08:06:50

> cljs is more reliable than ts to write js code How do you mean? I’m sure most static typing advocates would vehemently disagree on that point.

Aron08:06:12

i am not so sure about that, since you have static type checking with spec, in fact, cljs has runtime type checking too, which ts can't even attempt

flowthing08:06:42

How do you get static type checking with spec?

flowthing08:06:13

I believe spec is explicitly not a type system.

Aron08:06:32

that's a different statement

Aron08:06:05

not as limited as a type system

Aron08:06:06

i am not saying ts is limited type system wise, i heard ppl are implementing all kinds of fun things in its type system

flowthing08:06:26

Well, they have different strengths. Having to type out specs manually is rather different from having the compiler infer types for you. Also, no Clojure editor that I know of can inform you about your function not adhering to a spec.

raspasov08:06:57

I have long been of the opinion that “static” typing is very artificial in practice… so I can “guarantee” something is a string … ok cool… in very practical terms, how does that help me distinguish a zip code from a city name?

raspasov08:06:34

Spec on the other hand, is all about “types” during runtime (aka, in practice)

flowthing08:06:23

I mean, I like spec. But in my experience, you’re going to have a very hard time convincing someone who likes and is used to static types that spec is superior. At least until there’s something that can automatically infer specs and an editor that can tell you the shape of the data functions expect and let you know if you’re trying to give a function the wrong kind of thing. The REPL notwithstanding.

raspasov08:06:14

I feel like the biggest argument “for” static types is in the editor, aka programmer convenience and keeping things “easy” - which is fair

👍 4
flowthing08:06:28

Totally agreed.

raspasov08:06:54

But I’d argue that any sort of static typing is making your life “easy” in the small… but does not help you solve the larger problems you almost certainly have

🎯 24
flowthing08:06:58

Especially with regard to the confidence they give you while refactoring.

raspasov08:06:25

In practice, IntelliJ + Cursive lets me refactor Clojure code with very high degree of certainty… I have a hard time coming up with a scenario where I felt I needed to do something and I couldn’t

raspasov08:06:01

Realistically, by re-factor, I mean “change the name of something”

flowthing08:06:58

Right — it’s changing the shape of something where the difficulty begins.

raspasov08:06:30

Sure… I’m not sure how “easy” that is in a language like Java where everything is intertwined beyond belief… haven’t done TypeScript, so I can’t speak about that

flowthing08:06:22

Well, the way I see it is that the “easiness” comes from the fact that your editor can immediately tell you that things aren’t OK.

raspasov08:06:29

And again, in my 6+ years of doing Clojure, I can’t recall a situation where I painted myself in a corner with a certain data shape and was like “well NOW I wish I could turn this data structure upside down”

👍 4
raspasov08:06:49

Right… and maybe that comes down to a style of programming… but with the REPL, I never feel limited… one practice I’ve adopted is what I call “deep destructuring” where if I’m passing a map to a function, I destructure the map right in the arguments

flowthing08:06:05

Sure, but I think you’d have to have something more concrete than that to convince someone who likes static types.

Aron08:06:36

can't give examples right now, because i am on the phone, but it's not the case that clojure doesn't support static typing if you really want it

raspasov08:06:14

(defn add-user 
  [{{:keys [city zip street]} :address
                 username :username}]
  ;...
  )

flowthing08:06:31

In a similar vein, I’ve been doing Python recently, and I find myself coming across type errors much more often than with Clojure. I wish I had taken a systematic approach to analyzing why that is…

raspasov08:06:41

I mean, sure you can always say “you need something more there” 🙂

didibus08:06:54

There's two type of static type enthousiasts. The mainstream ones, they don't care about correctness and safety, they care about convenience, like IDE auto-complete, and squiggly lines if they messed up something.

clj 8
raspasov08:06:56

But I get your point

Aron08:06:19

the whole point is that fully static typing is too restrictive and it's an ideological high ground, exactly something that if you don't get 100% right, your options will be limited and the worst use that being in that position makes you blinded to its nature because it's a local maxima of other bad ideas that support it

didibus08:06:51

And then you have the niche ones, they care about correctness and safety and static proofs and all that

raspasov08:06:59

I think with spec and and amazing spec IDE integration you can please those first ones

didibus08:06:12

And spec tailors to that second group

raspasov08:06:45

yea… but those static proofs are probably really only important if you’re writing a compiler

raspasov08:06:57

good luck proving your e-commerce store logic

didibus08:06:07

Though arguably it does make certain things more convenient as well, like validation and generative testing.

flowthing08:06:25

Well, I think there are also people who prefer designing their applications on top of types (e.g. https://blog.ploeh.dk/2015/08/10/type-driven-development/).

raspasov08:06:22

yea… I think ultimately there’s no convincing somebody that likes a certain cake that cake tastes bad

🎯 4
didibus08:06:33

Right, I mean that, if we talk about writing correct and bug free software, it's easy to bring up the value proposition of Spec and how Spec can clearly help to do that. If instead we start to talk about trivial IDE conveniences and catching trivial bugs like passing a string to +, it's harder to see the value of Spec

👍 4
raspasov08:06:43

It’s a matter of personal preference and people are different; but I’ll say one thing

raspasov08:06:00

Types are “extra” as far as computability and physics is concerned

raspasov08:06:51

there’s proofs that things that are fundamentally untyped are equivalent in power to typed things; like lambda calculus is fully Turing complete, etc

Aron08:06:52

it's a fundamentally different kind of programming. every day you write the same code with small differences, it's easy to miss typos. also, you can't change too much at once, so you write what you can, and write as much as possible, editor generating the same code over and over makes you feel productive. never mind what is the end result, important is that it's working.

raspasov08:06:09

So the cake is extra…

didibus08:06:42

My biggest issue and personal dilemma is that it is really easy to estimate the positive of types, but really hard to estimate the negatives.

raspasov08:06:34

I think the negatives are that ultimately you’re trying to create a “type” of something that is potentially, and very likely, not well defined

raspasov08:06:50

The universe has no “types”, they are human constructs, and thus, more or less, fake

didibus08:06:53

Its very easy to say, hey this one time I forgot to update this function after I change the name of the key on the map, and I broke the CI because of it. If I had static type checks this would have not happened.

flowthing09:06:21

For the people who like static typing I know, they feel that, given type inference, there are no negatives worth mentioning (compared to dynamic typing).

didibus09:06:57

That's the thing though, that's really hard to measure

raspasov09:06:28

@U0K064KQV this almost goes into the “convenience” category; I think with a static spec analysis via an editor, in theory you can catch those

flowthing09:06:50

I agree. Having to think about types instead of just the shape of your data does have its cost, but that doesn’t come off as a very convincing line of argument in itself. 🙂

didibus09:06:32

I mean, static spec analysis is just a type checker :p

didibus09:06:46

Though I think I'd like a kind of best effort type checker in Clojure, which brings about no change to the code. Clj-kondo actually does some simple static type checking now which is nice

raspasov09:06:48

This was one of the most convincing arguments against types that I recall https://www.youtube.com/watch?v=YR5WdGrpoug

flowthing09:06:54

In my experience, static typing enthusiasts find that video the exact opposite of convincing. 😛

raspasov09:06:15

@U0K064KQV that would be nice for sure… a good “nice to have”… I don’t think it will fundamentally change my life but it might prevent 1 in 1000 accidental error

😝 4
flowthing09:06:42

Yes. It’s more infuriating than anything. 😛

raspasov09:06:44

Then… I give up

raspasov09:06:47

Going to bed

didibus09:06:01

But that's the thing, I don't feel it's so much being against types. Like nobody can say: the computer can just tell me where the bugs are? I don't want that. Everybody wants that off course. The question is more, what sacrifice do we make today given the existing type checkers? Can we have Clojure with static typing? Because Clojure is what I want, if you say I can't have it because of static types, then I'm losing something really important

raspasov09:06:40

@U4ZDX466T what’s their argument against “Maybe Not”?

didibus09:06:57

That it only applies to the way Haskell types work

didibus09:06:09

But OCaml types can be open

raspasov09:06:20

Ah, I see…

raspasov09:06:39

Know almost nothing about OCaml but have heard good things…

raspasov09:06:07

But I also thought that Haskell is one of the holy grails of types (I guess not?)

4
flowthing09:06:39

@U050KSS8M There are too many points to list, and I don’t want to run the risk of representing anyone unfairly.

didibus09:06:18

I've faced this issue before. Clojure has this and that, can do this and that. And other people are like X can do that one, and B can do that one as well, and C this other thing. See, Clojure has nothing special.

flowthing09:06:21

But suffice to see that for most of it, I can certainly see where they’re coming from.

didibus09:06:52

Its like okay, where is the language called Union of all other languages.

raspasov09:06:10

@U0K064KQV yea… everything can do everything… Turing-complete; important is what’s idiomatic

didibus09:06:12

Which magically can do everything Clojure can :p

flowthing09:06:18

Even though I don’t see that talk as being anti-static typing, per se. It’s certainly anti-`Maybe` and anti-`Either`.

raspasov09:06:57

@U4ZDX466T as far as I recall there were some subtle but very pointed critiques… but it has been years since I watched it

didibus09:06:40

Its a good talk. The talk also criticizes Spec 1

raspasov09:06:59

yes, I recall that

flowthing09:06:04

I don’t know about “subtle”. Certainly not subtle if you like Maybe or Either. :P

😂 4
didibus09:06:05

And shows some of the reason for Rich working on Spec 2

didibus09:06:58

I've personally had all the problems Rich mentions in the talk. Basically, Maybe doesn't capture lifecycle

didibus09:06:32

Something is either optional throughout or mandatory

flowthing09:06:06

Yep, same here. I think the gist of the talk is that whether you need some bit of data or not depends on the context, and declaring it beforehand doesn’t make sense, and I totally agree there.

👍 4
raspasov09:06:42

@U0K064KQV in terms of what’s unique about Clojure, I came across this description recently… Clojure is one of the few (if not the only) language that is really “data-oriented”; that combined with the immutability allow you to very easily reason about your code

💯 8
didibus09:06:13

Anyways, if someone writes a static type checker for Clojure that infers everything and requires absolutely zero additional annotations and doesn't restrict in any way how I model my data or structure my code, I'll happily use it. But I doubt that can be, so there is clearly something we "lose" by going with static types

🎯 4
didibus09:06:46

But it's hard to say what exactly

didibus09:06:13

And I feel I too can't really say what it is I lose, but my intuition says I lose something precious

raspasov09:06:35

@U0K064KQV I’m almost positive that this kind of “best-effort” checker can be done… and you can progressively expand your usage of it by using type hints like ^Number, ^String

raspasov09:06:05

Heading to bed, good night all

didibus09:06:16

Me too, GN

J09:06:17

Sorry guys, I retract what I said at the beginning and will end with "everybody loves typescript".

😆 9
flowthing16:06:47

There’s no question that you can do more with spec than with static types, but as long as you have to write specs manually and your editor doesn’t tell you if you try to give a function the wrong kind of thing (or prefer to use types to design their programs), I don’t think many people who are used to static typing will be very interested. ’Course, I might be wrong.

Aron17:06:08

It is not the case that you have to write specs manually, you can generate a lot from existing data. Things that need to be written manually are better written manually. You can get a lot farther with small manual coding than repeatedly relying on unchanging abstractions that automate some work that might or might not be required. You cannot write the same kind of code some people write using static types, which is basically a kind of toolbox for stitching up big trees of abstractions, but this is a good thing, that style of coding, I don't care how successful it is in the enterprise and corporate world of software is not for long term, it's basically an intermediary step between manual filing and actual programming. I am sure this nuanced position will not precipitate in a quick and superficial reaction? ☺️

flowthing17:06:05

> It is not the case that you have to write specs manually, you can generate a lot from existing data. If you can make that as effortless as type inference, that might indeed convince some people who prefer static typing. 🙂 > I am sure this nuanced position will not precipitate in a quick and superficial reaction? Not sure what you mean by this… I’m not a static typing advocate, if that’s what you’re implying. The rest of what you’re saying I don’t really understand, at least not without some practical examples. Anyway, all I’m saying is that as long as Clojure can’t give people who prefer static typing something like Intellij IDEA for Java or Visual Studio for C# where the editor constantly almost tells you what to write, it’s going to be hard to convince those people to cross over to something like Clojure. I’m not trying to argue for the superiority of one kind of typing system over another at all.

Aron18:06:38

It seemed to me that you are making the point that giving to these people what they want is a good thing.

flowthing18:06:52

Ah, I see. I didn’t mean to imply that — apologies if I was unclear.

Aron19:06:34

Definitely not a problem from my part, I just feel so strongly about these things since I recently made the decision to work in cljs instead of typescript for these same reasons. Biggest problem was just the lack of runtime abilities whatsoever. Yeah I can get fast autocomplete, or multi file refactor, but in the end, it's not even the kind of programming I want to do, I feel doing it as a glorified librarian.

❤️ 4
p-himik12:05:08

Not weird at all - Clojure is not as popular as any of the languages listed there, and by a long way.

p-himik12:05:24

Seems like they decided to update the presentation of the results and the filtering is now stricter.

p-himik12:05:50

Although, Julia is there. OK, now it does seem strange for me.

☝️ 4
Adianto Wibisono13:05:53

It was there last year

Daniel Tan13:05:03

it was consistently one of the top languages since 2015

Daniel Tan13:05:41

i don’t think it can suddenly lose all its traction in one year and drop below all of the languages

Alex Miller (Clojure team)13:05:20

they're scared!

💯 16
😀 16
p-himik13:05:59

SO Developer Survey addendum made by Clojure community: "Popularity of Clojure is now 100%!"

12
flowthing13:05:29

Coincidentally, someone happened to send me this link today: https://trends.google.com/trends/explore?date=all&amp;q=clojure,kotlin 😛

bherrmann14:05:08

yes, well, Kotlin being pushed by google as Android's primarily language. I think mostly to say FU to Oracle

flowthing14:05:48

Well, it’s also a lot more palatable than Clojure to most people.

pablore17:06:41

I find kotlin the new Java. The type system is more sound, it has sum and product types and is overall more comfortable to use than Java for OOP.

mikerod14:05:48

So why is clojure no where on the survey? I’m confused

mikerod14:05:18

It really indicates it just dropped out of the top for every spot it used to show up?

mikerod14:05:31

Not even on the highest paid anymore?

mikerod14:05:32

It was number 1 last year. Hah

Old account14:05:21

well, some people unemployed - therefore average is very low... 😄

4
Old account14:05:51

of course - I am joking 😄

borkdude14:05:20

The real reason is of course that Clojurians is a cult, and the community does not participate in the heathen StackOverflow where OO and mutability are abound. This is why alternatives like http://ask.clojure.org have arisen.

😂 4
Ho0man06:05:03

[First off, sorry to post it to the channel as well. Just wanted to raise this and see what others think of it] I think you're right, but isn't that a problem? The isolation of the community - in this specific sense I mean, not generally. It's a little sad really. Clojure or not, a good number of those programmers out there adopting other languages right now, will go on ahead to introduce brilliant ideas and build great systems - a number of which perhaps could have found their home here had we as a community have done more for Clojure to be visible out there. So why not encourage the members more to be out there and active in places like Stackoverflow which in turn could buy more publicity for Clojure and make it more observable and at hand for outsiders - it would do no harm to our QA activities themselves, please correct me if I'm wrong. PS : I don't want to overemphasize publicity as an important factor for the growth of a language. In fact I remember a while back when someone raised a concern about the growth of the community, @alexmiller mentioned the fact that Clojure adopters tend to be more experienced than adopters of other new languages and part of the sudden rise of said languages - mostly oo and imperative -- are due to the fact that those languages are more familiar for general programmers out there as opposed to Clojure that advocates different concepts. And that completely rings true to this day specially given the adoption of Clojure in the industry, just thought there is more to be done on the publicity side for Clojure.

hindol07:05:19

Yes, I too feel this is a problem. All this activity on Slack is completely hidden from search engines. And the arguably most popular developer centric website (SO) is only filled with really old Clojure questions and no recent Clojure related activity. I feel this stops many from ever trying out Clojure.

hindol07:05:46

Also, as a community, we seem to celebrate every survey that puts Clojure near the top and question the credibility of every that drop Clojure from the list.

hindol07:05:18

One last thing I think is (although I have not verified it with data), the developer community is growing faster than the Clojure community, so Clojure may be growing, but as a percentage share of the whole developer community, still declining.

didibus10:05:47

To be honest, if you post a Clojure question on SO, you'll get an answer in less then an hour. Its not that people don't answer questions, it seems there are just not one really asking.

didibus10:05:17

I agree that Slack in a way is counter productive, but it's so fun 😋

didibus10:05:46

And slack is way better for the person who ask the question, but not as good for others in the future that have a similar problem

hindol10:05:34

The point is not efficacy though. It is about how the Clojure community is being perceived by others, time and again.

naomarik12:05:57

I'd assume rise in popularity of these platforms discord/slack are probably taking an enormous amount of questions that may have otherwise been asked on SO as well. Way more appealing to post a question in slack and get an answer within a few minutes and have some live discourse than wait awhile on SO.

David Pham13:05:15

Maybe we should develop a bot that categorize the question on slack and publish the answers.

Alex Miller (Clojure team)13:05:38

you can lament what people do or don't do or where they do it all you like, but you don't have any control over it, so I personally don't spend much time on it. if you want to do something good for marketing Clojure, there is a 2-step magic formula in dev marketing - 1) do cool and/or useful stuff 2) tell people about it. I don't know any other answer.

👍 22
borkdude13:05:38

btw, I was joking, if it wasn't clear

hindol13:05:15

But greater developer mindshare => more cool and/or useful stuff getting build. This is a self reinforcing cycle.

borkdude13:05:55

Clojurians is probably one of the biggest programming language Slacks out there. Has anyone thought about that?

naomarik13:05:49

Yeh, what brought me into clojure was seeing the cool stuff being made by small/solo teams. Precursorapp and figwheel first things that come to mind that I recall. Also reagent, I had never used react.js but was productive in it day 1 with no clojure experience using figwheel. Have some super warty code from that time.

didibus08:05:00

> But greater developer mindshare => more cool and/or useful stuff getting build I don't know about that. That's one of my gripe with PHP and JS. The amount of crap out there, built with those, and when you ask questions, you'll get so many answer by people who aren't that knowledgeable. In Clojure, you have quality over quantity most of the time. I don't really feel I'm missing out on anything cool. It has everything I need. And one thing about Clojure that I find unique, is actually the fact that the community is small, I get to talk directly to the core maintainers. That's prime level support right here. I mean, even paid tiers for commercial software you'll almost never get a chance to ask questions or support from one of the actual core developers.

didibus08:05:29

I'd say the only downside to Clojure's small popularity is the job opportunity being small. That's the biggest negative. Otherwise, maybe we'd get a little bit better tooling, but I don't know, it's quite impressive how good and complete the tooling is and everything that is already available considering the size of the community.

David Pham07:05:23

What would you want more for tools?

Old account14:05:26

Even Clojure does not have stack overflow that often 😄 we have recur 🙂

p-himik14:05:16

Don't forget about trampoline.

Old account14:05:51

this one is best :star-struck:

borkdude14:05:55

Also, the error messages are pretty self explanatory, so no need to ask questions anyway.

✔️ 32
Old account14:05:40

this explains why Java 9 is so "popular" 😄

pablore17:06:16

Also the documentation is brilliant

slipset14:05:46

Joking aside, I think there is a lot of truth to this. It seems like apart from a somewhat steep initial learning curve, the things you've learned about Clojure and its ecosystem is valid for a long time. Whereas in areas where both the language and the ecosystem seems to evolve from week to week, there is a lot more knowledge churn, This being lack of visibility on stack overflow

💯 8
mpenet14:05:12

it's probably quite arbitrary (maybe sample bias) . I doubt julia is much more popular than clojure

mikerod14:05:46

It’s not great publicity though for it to not show up at all anymore. 😢

😕 12
mikerod14:05:12

I did the survey and mentioned clojure a bunch. Where’s my percentage?! (Joking)

😄 8
mikerod14:05:40

1/65k definitely mentioned clj. (Me)

mikerod14:05:54

Should be a least mentioned category at least. Hah

nick15:05:03

Found this blog post on the 1st page of https://lobste.rs/ today Clojure affected me in a way that I can no longer read posts like this: >Ruby: The best tool for the automation job >Advantage #1: Reflection and breakpointing >Advantage #2: Hot Reloading is the New Hotness >Advantage #3: No-parens and the joy they bring >Advantage #4: DRYer is better After each paragraph I would like to say smth like "yeah but Clojure does it better" 😄

p-himik15:05:39

Even the "no-parens" part? :)

nick15:05:38

no, except that one 🙂 That was just a quote from the blog post

borkdude15:05:21

If no-parens means whitespace significant, then kill me now.

borkdude15:05:13

But at least Ruby doesn't have that.

p-himik15:05:18

AFAIK "no parens" means "no need to wrap function arguments in ()".

☝️ 4
Cameron17:05:01

I suppose in that case, in a way, we too have 'no parens'

didibus18:05:08

Reflection is a weird one. Would Clojure be reflective :thinking_face: Seems in a non OOP context I'm not sure what to think of reflection. We can't inspect inside a function, so maybe it's not reflective

mloughlin15:05:29

is there a paredit command that will move the cursor sexp into the previous sexp?

(defn foo)
[|]
where | is the text cursor

vemv17:05:33

do you know paredit-forward-slurp-sexp? It does it in the opposite direction (i.e you have to place | over foo) might suffice

Lone Ranger18:05:18

you could macro together paredit-backward-up, paredit-backward-down, slurp, paredit-forward-down. Kind of a non-answer I guess but best I can think of

jaide18:05:37

Quickest I could find in spacemacs is k to move up a line, then SPC + k + s

mloughlin19:05:26

I think it's an X/Y problem. I can't stop hitting insert newline below ("O" in vim bindings), which is mixing text editing with structural editing. I'll knuckle down and learn the paredit way.

jsa-aerial21:05:06

there should be backward slurp sexp

jaide21:05:07

backward slurp goes from

(defn foo)
[|]
to
[(defn foo)
|]

mloughlin15:05:35

expected output:

(defn foo [])

Ho0man05:05:35

Interestingly the same goes for some other langs like Elixir and F# as well. They used to appear in the same categories as Clojure and close to it in rankings in 2019 and prior surveys but didn't appear at all in 2020.

Ho0man06:05:03

[First off, sorry to post it to the channel as well. Just wanted to raise this and see what others think of it] I think you're right, but isn't that a problem? The isolation of the community - in this specific sense I mean, not generally. It's a little sad really. Clojure or not, a good number of those programmers out there adopting other languages right now, will go on ahead to introduce brilliant ideas and build great systems - a number of which perhaps could have found their home here had we as a community have done more for Clojure to be visible out there. So why not encourage the members more to be out there and active in places like Stackoverflow which in turn could buy more publicity for Clojure and make it more observable and at hand for outsiders - it would do no harm to our QA activities themselves, please correct me if I'm wrong. PS : I don't want to overemphasize publicity as an important factor for the growth of a language. In fact I remember a while back when someone raised a concern about the growth of the community, @alexmiller mentioned the fact that Clojure adopters tend to be more experienced than adopters of other new languages and part of the sudden rise of said languages - mostly oo and imperative -- are due to the fact that those languages are more familiar for general programmers out there as opposed to Clojure that advocates different concepts. And that completely rings true to this day specially given the adoption of Clojure in the industry, just thought there is more to be done on the publicity side for Clojure.