clojure-survey

Discussion about the State of Clojure survey (https://surveymonkey.com/r/clojure2020)
alexmiller 2020-01-02T18:10:25.000900Z

Hello, I'm prepping the State of Clojure 2020 survey and wanted to get some feedback before it goes live

alexmiller 2020-01-02T18:13:15.001500Z

hey all

dpsutton 2020-01-02T18:13:25.001900Z

howdy

alexmiller 2020-01-02T18:14:54.003200Z

Question: "What is your primary Clojure, ClojureScript, or ClojureCLR development environment?" Answers from last year are: • Emacs (CIDER, Spacemacs, Emacs Live, inf-clojure, other) • Vim (vim-fireplace, vimclojure, other) • Eclipse + Counterclockwise • IntelliJ + Cursive Clojure • Light Table • Sublime Text • Atom (Proto REPL, other) • VS Code (Calva, other)

alexmiller 2020-01-02T18:15:18.003900Z

What should I add? What should I remove?

alexmiller 2020-01-02T18:15:47.004600Z

last year's results https://www.surveymonkey.com/results/SM-S9JVNXNQV/

alexmiller 2020-01-02T18:16:02.005Z

this was Q12

seancorfield 2020-01-02T18:16:04.005100Z

For Atom, can you mention Chlorine explicitly please? It's actively maintained but ProtoREPL is essentially dead at this point.

alexmiller 2020-01-02T18:16:37.006100Z

so should it say "Atom (Chlorine, other)" ?

seancorfield 2020-01-02T18:16:42.006500Z

Yup.

alexmiller 2020-01-02T18:16:56.007300Z

are there others? does anyone still use Proto REPL?

dpsutton 2020-01-02T18:17:14.008Z

possible to separate CIDER from other non-CIDER versions? I know Stu and some others use emacs without CIDER.

alexmiller 2020-01-02T18:17:34.008500Z

does it matter?

seancorfield 2020-01-02T18:17:42.008900Z

A few, but only with older versions of Atom and several plugins, since ProtoREPL was broken by updates in those and no one is around to fix it.

dpsutton 2020-01-02T18:17:53.009300Z

to get a sense of how many people use inf-clojure. but not a huge deal

alexmiller 2020-01-02T18:18:32.010300Z

my general intent with this question is to provide a resource for people looking to find an editor and knowing where the crowd is. I don't know that CIDER vs not-CIDER is anywhere near as important as Emacs vs not Emacs

alexmiller 2020-01-02T18:18:49.010900Z

we used to have them split out and I found it was more confusing than useful

dpsutton 2020-01-02T18:19:02.011200Z

fair. should light table be removed? I understand its completely unmaintained and quite out of date

alexmiller 2020-01-02T18:19:06.011400Z

Light Table and Counterclockwise were both <1% last year so I'm planning to remove those

2
alexmiller 2020-01-02T18:20:17.012400Z

does that list of Emacs choices cover the major players?

dpsutton 2020-01-02T18:20:39.012600Z

looks good to me

eggsyntax 2020-01-02T18:21:04.013400Z

As an emacs/spacemacs user I can't say I've heard of Emacs-Live, is that something that has any significant takeup?

alexmiller 2020-01-02T18:21:20.013700Z

no idea, that's why I'm asking

dpsutton 2020-01-02T18:22:25.014600Z

i've heard of it. its a config that's keyed towards Clojure. might be useful for a beginner

1✅
ghadi 2020-01-02T18:22:47.015200Z

Nightcode & the oakes stack?

alexmiller 2020-01-02T18:23:00.015400Z

things not on the list, possibly to add: Nightcode, IntelliJ w/ clojure-kit, Conjure, Neovim w/ Acid

alexmiller 2020-01-02T18:23:50.015800Z

those all had a few mentions in "Other" last year, but not enough that I would expect them to be >1%

henrik 2020-01-02T18:25:28.017100Z

There’s https://github.com/mogenslund/liquid. I’m not sure anyone would use it as their primary editor, but I do have the sense that it’s sometimes used as a complementary one.

alexmiller 2020-01-02T18:25:28.017200Z

Are the Vim options still a good list? vim-fireplace, vimclojure, other

alexmiller 2020-01-02T18:25:37.017600Z

REBL?

dpsutton 2020-01-02T18:25:57.018Z

put REBL as a separate yes/no question?

alexmiller 2020-01-02T18:27:10.019100Z

prob not worth it. every question makes the survey longer and reduces the number of respondents so I'm going to resist adding new stuff if at all possible

1👍
alexmiller 2020-01-02T18:29:30.019400Z

Ok, next topic...

seancorfield 2020-01-02T18:30:07.020200Z

REBL usage would be nice to see -- but it's an add-on to any existing editor/REPL setup, not a replacement.

seancorfield 2020-01-02T18:30:25.020600Z

I wonder if Socket REPL vs nREPL is worth asking?

alexmiller 2020-01-02T18:31:11.021500Z

if you magically knew the answer, what would you do with the information?

seancorfield 2020-01-02T18:31:58.022800Z

Fair question. I don't think it's actionable but I do think it would be interesting to see how much uptake either of those have (REBL, Socket REPL).

alexmiller 2020-01-02T18:32:27.023200Z

I think I have a sense of REBL from the Patreon/issues/traffic

alexmiller 2020-01-02T18:34:01.024700Z

I could see socket/nrepl being of interest to @cfleming but not sure who else (but maybe he knows that answer already)

alexmiller 2020-01-02T18:35:01.025800Z

Q17 What tools do you use to compile/package/deploy/release your Clojure projects? Answers: clj, Leiningen, Boot, Maven, Gradle, Ant, make, custom scripts

alexmiller 2020-01-02T18:35:13.026200Z

What's missing? What should be removed?

seancorfield 2020-01-02T18:35:27.026600Z

@alexmiller Can you share the REBL usage sense you have? (since it sounds like it won't go into the survey).

alexmiller 2020-01-02T18:35:38.026900Z

well you use it :)

1
alexmiller 2020-01-02T18:36:04.027400Z

it falls off rapidly after that :)

seancorfield 2020-01-02T18:36:51.028400Z

Q17. Given the breadth of packaging tools for clj, is it worth separating some of those out as individual options? (I don't feel strongly about that, just a suggestion). Otherwise, that list sounds good to me.

seancorfield 2020-01-02T18:37:29.028500Z

That's too bad. I think REBL is awesome and would love to see more folks using it. Of course, I'd also like to see more updates from Cognitect on it too 🙂

alexmiller 2020-01-02T18:38:50.028700Z

it's small right now and a comparatively narrow slice of attention. lot of chicken and egg there of course. we expected it to be a slow burn.

seancorfield 2020-01-02T18:39:39.029500Z

If it were OSS, I'd be eager to contribute 🙂

alexmiller 2020-01-02T18:39:46.029800Z

like the IDE one, I'm trying to get a big picture feel (doing a separate clj-focused survey at some point might be interesting)

alexmiller 2020-01-02T18:40:02.030Z

so trying to get the "families"

alexmiller 2020-01-02T18:40:17.030400Z

ant was at 0% last year so going to finally remove it :)

1
alexmiller 2020-01-02T18:41:07.031200Z

this question is on the "Clojure" page too so it omits some cljs possibilities (that's a separate question)

alexmiller 2020-01-02T18:45:03.032Z

lots of people put shadow-cljs in the comments for this one, not sure how best to communicate clojure-ness here

alexmiller 2020-01-02T18:45:27.032400Z

always a bunch of Ansible here too, not sure if that makes sense

alexmiller 2020-01-02T18:45:39.032700Z

like maybe the question needs different wording here

alexmiller 2020-01-02T18:45:54.032900Z

maybe I should remove "deploy"

seancorfield 2020-01-02T18:47:16.034Z

For Q15, will 1.10.1 and 1.10.0 be separate options? Or will you just ask about the overall version? (1.10 vs 1.9 etc)

seancorfield 2020-01-02T18:49:56.034900Z

Shadow-cljs is listed in Q22 -- I'm surprised it was "lots" in Q17. Maybe add "(not ClojureScript)` to the question? :)

ghadi 2020-01-02T18:50:21.035500Z

@alexmiller thought about separating compile/package from deploy/release? that's probably why there is a lot of Ansible in the responses

ghadi 2020-01-02T18:51:21.036Z

and I see you said that in the scrollback 🙂

alexmiller 2020-01-02T18:55:42.036300Z

I changed it to 1.10.x (so grouped). I decided I cared more about 1.10.x vs others than about 1.10.0 vs 1.10.1

1
alexmiller 2020-01-02T18:56:46.036500Z

you can look in the Other responses - it's easily the most listed

seancorfield 2020-01-02T18:57:29.037300Z

Not doubting you, just echoing your surprise, and suggesting a way to avoid it?

alexmiller 2020-01-02T18:57:33.037600Z

yeah, maybe it's time to tease this apart a bit more. It could be a matrix question too with tool / use dimensions

alexmiller 2020-01-02T18:57:43.037700Z

yeah, thx

alexmiller 2020-01-02T18:58:47.038500Z

I'm not even sure what the right set of options for "deploy" is but maybe that's a good signal of needing more info

seancorfield 2020-01-02T19:00:26.040600Z

deploy has multiple meanings -- we talk about deploying systems to production but we also talk about deploying JAR files to Clojars/Central (and probably other meanings too?)

alexmiller 2020-01-02T19:00:34.040800Z

I think I'd start with a) what are the right verbs? and b) what are the right nouns? (with the anticipation of maybe changing the whole approach based on the answers)

alexmiller 2020-01-02T19:00:48.041100Z

yeah, lib vs app are different domains

alexmiller 2020-01-02T19:02:20.042500Z

for libs, I'm interested in knowing whether you make an artifact, how you make it, and how you put it somewhere for people to use

borkdude 2020-01-02T19:04:00.044400Z

I think it would be good to get some statistics on OS usage: Linux, MacOS, Windows, other - maybe split into: local dev environment / production environment

1👍1❤️
Filipe Silva 2020-01-03T11:00:04.109600Z

on the topic of finalising the windows cli, it would be useful to ask what terminal windows users use

Filipe Silva 2020-01-03T11:00:49.109800Z

the windows cli needs to be ran on powershell, but I'm not super confident powershell is what most people use by default

seancorfield 2020-01-03T17:31:19.128700Z

Good point! I never used Powershell until the CLI installer required it, and I still do nearly everything from either cmd or WSL instead.

borkdude 2020-01-03T17:31:53.128900Z

Luckily there is one option now that supports cmd.exe 🙂

seancorfield 2020-01-03T17:42:31.129300Z

Well, the Scoop PS installer adds cmd-clj and cmd-clojure shims that call the PS versions from cmd.exe but I don't know how well quoting works with those...

2020-01-05T04:27:20.130400Z

i think it would be interesting to get an idea of wsl use for clojure dev

alexmiller 2020-01-05T04:28:56.130600Z

yeah, I'm still thinking about how and whether to get that in the survey

alexmiller 2020-01-02T19:05:50.046200Z

+1, got it

alexmiller 2020-01-02T19:06:11.046700Z

some common answer sets: • (for clj git deps): no artifact, n/a, git repo • (for Maven artifacts): jar, Leiningen/boot/clj, Leiningen/boot/clj, clojars/s3/deps.co/? • (for cljs libs): shadow?, shadow? buck?, npm?

borkdude 2020-01-02T19:06:35.047100Z

I added: > maybe split into: local dev environment / production environment

alexmiller 2020-01-02T19:07:02.047800Z

still not sure I even have the right set of dimensions here, but I think this set of questions could be replaced with something more interesting/useful

borkdude 2020-01-02T19:07:04.047900Z

(my impression is that a lot of people develop on MacOS and deploy to linux for example)

alexmiller 2020-01-02T19:07:12.048100Z

yep

alexmiller 2020-01-02T19:07:31.048300Z

this is worth asking and I will look at the question options for it

alexmiller 2020-01-02T19:07:44.048500Z

some kind of matrix answer is probably best

alexmiller 2020-01-02T19:09:08.049200Z

and be more concrete about library vs apps make it able to have more interesting concrete options

alexmiller 2020-01-02T19:09:38.049500Z

not my call

seancorfield 2020-01-02T19:09:39.049700Z

I get the impression that Windows usage is increasing (for development) as Clojure reaches more people -- based on the number of questions I see about Windows-specific tooling over the last year.

seancorfield 2020-01-02T19:10:28.049900Z

Would be nice to have a sense of "primary development O/S" and "primary production O/S" (but I suspect that will be mostly Linux so it may not be as interesting?).

alexmiller 2020-01-02T19:13:17.050100Z

yeah, I'll split it out although I suspect Linux is the 99% for prod

alexmiller 2020-01-02T19:14:33.050300Z

Windows dev use is a 2 way thing too - when it's bad, it pushes Windows users away, either forever, or to WSL or Linux VM

alexmiller 2020-01-02T19:15:06.050500Z

so "there are few Windows users" can be cause or effect

seancorfield 2020-01-02T19:15:32.050700Z

It would be nice to finalize CLI on Windows so it could be promoted to the main site, instead of a wiki on an alpha repo 🙂

alexmiller 2020-01-02T19:16:00.050900Z

yep, it is one of my goals for 2020 :)

borkdude 2020-01-02T19:21:02.052100Z

If you want to take any of my ported code (deps.exe stuff), feel free

alexmiller 2020-01-02T19:24:03.054700Z

Candidate verbs of interest: • manage dependencies ("manage" is weak) • compile (I assume this is mostly for apps and in tandem with packaging, so maybe should not be included) • run tests • package (create an artifact - jar, war, vm package, cloud template ?) • release library (make a version of a library available for use) • deploy application

alexmiller 2020-01-02T19:24:24.055Z

stepping away for a few, feel free to comment on that

alexmiller 2020-01-02T19:24:39.055100Z

yeah, I haven't even looked at any of that yte

seancorfield 2020-01-02T19:24:42.055300Z

We should probably take this to #clj-on-windows if we want to dig in further. I've certainly been pretty happy with Scoop as a package manager for Windows but the deps.clj native image has simpler command-line quoting than the PS script so that's also very appealing... And CLI-in-Clojure, compiled to per-platform native code seems nicer than bash + PS + ...

borkdude 2020-01-02T19:27:02.055500Z

There is now a single-line PS installer for the executable. The only requirement is Powershell (to run the installer and the checksum code for caching) and java.exe. Works in cmd.exe

borkdude 2020-01-02T19:27:44.055700Z

If you have any questions, feel free to ping me in #clj-on-windows or anywhere else

borkdude 2020-01-02T19:29:53.055900Z

Just manually downloading the .exe into a dir on the path works too btw.

dominicm 2020-01-02T20:37:45.057100Z

This question seems more like "what editor do you use". Nothing to do with which plugins you use.

dominicm 2020-01-02T20:38:28.057300Z

In fact, separating those two questions might be interesting (vim has 3 competing plugins right now, emacs has cider/inf)

dominicm 2020-01-02T20:39:19.057500Z

Oops, second point was discussed below.

dominicm 2020-01-02T20:39:59.057700Z

Vim-iced is big too.

dominicm 2020-01-02T20:40:07.057900Z

I wouldn't mention neovim separately

dominicm 2020-01-02T20:40:51.058100Z

Vimclojure is dead. Most popular I see now is fireplace/conjure

dominicm 2020-01-02T20:41:30.058500Z

Decide where to invest time building tooling?

alexmiller 2020-01-02T20:41:39.058700Z

thx, added

2020-01-02T20:46:51.058900Z

fwiw, there are other things too, e.g. monroe

2020-01-02T20:49:30.059100Z

i think some people examine some of the survey results thinking to examine alternatives. if you're going to leave things out, please consider stating the general intent.

alexmiller 2020-01-02T20:50:27.059300Z

inf-clojure isn't left out - it's in there

2020-01-02T20:51:13.059500Z

there are other things like monroe and at least one derivative of it

alexmiller 2020-01-02T20:51:13.059700Z

(has always been in there)

alexmiller 2020-01-02T20:51:41.059900Z

not familiar with Monroe - that's an emacs thing?

2020-01-02T20:51:43.060100Z

i think the intent is totally fine

2020-01-02T20:51:55.060300Z

it is another nrepl-based emacs mode, yes

alexmiller 2020-01-02T20:52:28.060500Z

ok, I'll add

alexmiller 2020-01-02T20:53:12.060700Z

as far as I can remember, this is the first I've ever heard of someone mentioning it in relation to the survey

2020-01-02T20:55:15.060900Z

as i mentioned above, i think the general intent to not cover everything is fine -- i just think it's worth mentioning that explicitly. nobody knows all the ways in which clojure is being used, nor all of the tooling options, afaict 🙂

alexmiller 2020-01-02T20:56:06.061300Z

what kind of tooling?

alexmiller 2020-01-02T20:56:30.061500Z

yep, that's why there is an Other option to add whatever we missed

alexmiller 2020-01-02T20:56:41.061700Z

I use those to adjust the next year

alexmiller 2020-01-02T20:57:06.061900Z

but I'm trying to avoid missing anything important, which has happened in the past

1👍
dominicm 2020-01-02T21:11:17.062200Z

Fireplace vs conjure maybe... Although I think users go where the tooling is. So I'm probably working the wrong direction. Wagging the tail of the dog so to speak.

pez 2020-01-02T21:37:53.063800Z

I think it would be interesting to see Clojure and ClojureScript as separate server side languages.

seancorfield 2020-01-02T21:38:43.065500Z

The survey is already partitioned into Clojure-specific, ClojureScript-specific, and common sections...

alexmiller 2020-01-02T21:39:09.066100Z

he means in the server-side language used with cljs question

alexmiller 2020-01-02T21:39:13.066300Z

I assume

pez 2020-01-02T21:39:35.066700Z

Yes.

alexmiller 2020-01-02T21:39:48.067Z

I can break those out. I have no idea what that breakdown would be

seancorfield 2020-01-02T21:40:30.067500Z

Ah, gotcha.

seancorfield 2020-01-02T21:41:11.067900Z

Q21 gives a partial sense of that, separating Browser from Node.js?

pez 2020-01-02T21:42:42.068900Z

I think just having Clojure and ClojureScript as separate options on Q20 would do it.

seancorfield 2020-01-02T21:43:17.069800Z

I guess Q21 includes some small group of folks using cljs only on the backend, no frontend...?

pez 2020-01-02T21:43:44.070Z

Also, I am sometimes using Nashorn as my CLJS REPL, so maybe that should be a an option for whatever Q asked about that.

cfleming 2020-01-02T21:45:18.070800Z

I may have missed this, but is there a draft of this we’re looking at while discussing?

pez 2020-01-02T21:48:38.071600Z

We are looking at the 2019 survey. Posted in the start of this channel.

cfleming 2020-01-02T21:48:47.071800Z

Ok, thanks.

cfleming 2020-01-02T21:51:25.072700Z

Is Q11 useful information for anyone? It seems like that might inform the development of Clojure itself, but it’s mostly asking about things which are done now.

cfleming 2020-01-02T21:54:24.074900Z

Re: editor choice, it’s tricky. In general, I tend to think that Emacs vs non-Emacs is the main interesting question, but I’m not sure the same is true of e.g. Atom. Thinking about it, I tend to have a view of Emacs as a homogeneous environment which is clearly not true despite CIDER’s dominance.

cfleming 2020-01-02T21:55:55.076200Z

I don’t think that clojure-kit warrants a separate question, especially if there’s an Other option which can be filled in manually. I follow their repo so I see all their issues, and there’s very little activity.

cfleming 2020-01-02T21:57:16.077500Z

It would be nice if it were possible to have a series of checkboxes or a radio button associated with each option, so selecting Atom would allow you to choose between Chlorine, Proto-REPL or whatever.

ghadi 2020-01-02T21:59:33.078200Z

which one is Q11?

dpsutton 2020-01-02T22:00:10.078700Z

that's a great idea. i hope the survey allows it

eggsyntax 2020-01-02T22:00:19.079Z

I think it's fairly true as far as Clojure/Script dev in emacs goes -- I've only run across a small handful of people who don't use CIDER, and that tends to come hand-in-hand with several other packages. I'm (idly) curious what non-homogeneity you were thinking of.

dpsutton 2020-01-02T22:01:55.080400Z

i'm interested to see how many use emacs but not CIDER. I know there are a few

cfleming 2020-01-02T22:02:53.081300Z

Emacs is pretty much the textbook definition of a non-homogeneous environment - every Emacs installation on the planet is basically a special snowflake. But specifically for Clojure, there’s CIDER, clojure-mode without CIDER, inf-clojure, enspiral and probably more I’m not aware of. Someone mentioned monroe, which I’ve seen around but have no idea if anyone beyond the author is using.

eggsyntax 2020-01-02T22:03:54.082500Z

It'd be interesting to have a free-response question about libraries -- something like "What non-core libraries do you use most?" or "What third-party libraries are most critical for you as a Clojure/Script developer?". I think the answers would be useful for Clojurists Together, and would be useful to the community in helping less community-involved folks keep up with the critical ecosystem as new parts of it emerge. That said, I realize that free-text questions are a pain in the ass to deal with 🙂

eggsyntax 2020-01-02T22:05:17.082600Z

Oh, totally agreed that emacs in general is all over the place. But my impression as an emacs user has been that the vast majority of people are using CIDER at this point (98%+, maybe?).

cfleming 2020-01-02T22:05:29.082800Z

I’d definitely be interested in this too. It would be really useful to have a list of libraries by popularity, but I have no idea how to collect that or how to measure popularity.

cfleming 2020-01-02T22:06:13.083Z

That’s my impression too, but I don’t really know. I’d be interested to know how many people use clj-refactor, too.

2👍
cfleming 2020-01-02T22:08:22.083500Z

Which aspects of Clojure have been important to you…

dpsutton 2020-01-02T22:10:01.084800Z

@cfleming mentioned a good point. "how many people use clj-refactor". Maybe make this a bit more broad and check static analysis tools? clojure-lsp, clj-refactor, joker, clj-kondo, cursive

alexmiller 2020-01-03T13:43:16.115100Z

I’m not planning on expanding the survey to include stuff like this, although I think a lib and dev tool survey would possibly be interesting

eggsyntax 2020-01-02T22:10:06.084900Z

I guess number of stars on github is a proxy, but a pretty rough one. It seems like it especially wouldn't capture libraries gradually falling out into disuse (I know I, at least, rarely remove stars...).

dpsutton 2020-01-02T22:10:23.085100Z

clojar downloads?

1☝️
eggsyntax 2020-01-02T22:11:18.085500Z

That definitely seems better than github stars, but also doesn't seems like it captures decreased use over time very well.

cfleming 2020-01-02T22:12:30.085800Z

Retrieve dependencies?

cfleming 2020-01-02T22:16:17.086500Z

In Q23 I’d like to know how many people are using figwheel main and how many are using figwheel classic.

2➕
cfleming 2020-01-02T22:18:45.088500Z

Also, there’s only an option for “ClojureScript’s browser REPL”, but it also has REPLs for node.js, nashorn etc. There’s probably a whole spectrum of potential information to be teased out here, but I don’t know how to ask the right questions for “I use the node.js REPL for server side code but the browser REPL is too hard to set up”.

cfleming 2020-01-02T22:19:23.088800Z

Q24 should include Shadow as an option.

1👍
alexmiller 2020-01-03T13:43:39.115400Z

Added

cfleming 2020-01-02T22:19:43.088900Z

Yes, I’d be very interested in knowing this.

cfleming 2020-01-02T22:20:06.089100Z

Although refactoring tools are kind of orthogonal to static analysis.

dpsutton 2020-01-02T22:20:53.090200Z

Yeah a multi select. I think all of the refactoring tools require static analysis of some sort though

dpsutton 2020-01-02T22:21:13.090900Z

But a general lint/static category

seancorfield 2020-01-02T22:30:36.091100Z

I'd love to know of the Atom users how many are still trying to use ProtoREPL vs how many are now using Chlorine -- but it's purely curiosity, rather than a useful metric. And of course, with the demise of ProtoREPL, there may well have been people abandoning Atom altogether...

alexmiller 2020-01-02T22:51:10.091700Z

That’s what I decided too

alexmiller 2020-01-02T22:51:28.092300Z

There were 3 people that listed it in other last year

alexmiller 2020-01-02T22:52:05.093Z

Neither of those are worth breaking out imo

alexmiller 2020-01-02T22:53:19.093900Z

Actually, I still find this one useful, particularly when compared longitudinally over many years

alexmiller 2020-01-02T22:55:12.095300Z

Unless people actually list all of their libraries (and dependent libraries?) it seems unlikely that this would yield meaningful data

alexmiller 2020-01-02T23:02:11.095500Z

which is to say, I completely agree that if I could wave a wand and know the answer to this, I'd be interested. I've spent time a couple years trying to design a question to do so, and gave up. Either there is public stuff that could be automatically analyzed (pour one out for clj-info RIP) better than a survey OR it's manual which is either too tedious OR it's manual but wildly incomplete.

alexmiller 2020-01-02T23:03:14.095700Z

you also have to take into account transitive dependencies and lib frequency to really get good information

alexmiller 2020-01-02T23:03:25.095900Z

the automated approach is the best answer to that imo

cfleming 2020-01-02T23:03:32.096100Z

The best I can think of would be to find all project.clj and deps.edn files on Github and parse them. I think Github provides data dumps which might make that tractable, but I don’t know enough about it.

alexmiller 2020-01-02T23:03:49.096300Z

very doable - clj-info used to do this

alexmiller 2020-01-02T23:04:10.096500Z

sorry cross-clj ? whatever it was calleed

cfleming 2020-01-02T23:05:09.096700Z

Oh yeah, cross-clj. That was wider in scope though, it actually parsed all the program source, and only did it for a specific list of projects.

alexmiller 2020-01-02T23:06:47.096900Z

I think Eric Normand did this analysis too

alexmiller 2020-01-02T23:10:37.097400Z

I think the danger is in over-reporting direct deps and under-reporting transitive deps, but sounds like a fun project :)

eggsyntax 2020-01-02T23:14:54.097600Z

That all makes sense to me, and clearly you’ve spent plenty of time thinking about it!

alexmiller 2020-01-02T23:30:00.098700Z

@cfleming on Q23, I'm wondering if asking this question in a different way would help make it more useful. Something like "What tools do you use for interactive ClojureScript development?" with multi select

cfleming 2020-01-02T23:30:58.099Z

Yes, that sounds better. I think there are too many dimensions to get all the information, but that would be a good start.

alexmiller 2020-01-02T23:31:22.099200Z

yeah, "REPL" seems very limiting given all the things that are available

alexmiller 2020-01-02T23:31:43.099400Z

like is Ghostwheel another option too?

cfleming 2020-01-02T23:32:18.099600Z

Right, lots of people don’t use REPLs at all and just use hot reloading, and that might be distorting the “I don’t use a REPL” answer.

cfleming 2020-01-02T23:33:01.099800Z

I actually don’t know the answer to that - I’m aware that Ghostwheel is a thing that exists, but that’s about it.

alexmiller 2020-01-02T23:34:47.100Z

I guess ghostwheel is an additional thing that might be used in tandem with more than one answer

dpsutton 2020-01-02T23:35:51.101100Z

Ghostwheel replaces defn so specs are inline with the function definition I think. Irrelevant here