Cognitect is the company behind Datomic and a steward of Clojure, and its blog covers Clojure tools, architecture and company news.
HN links it for Clojure material, such as the REPL debugging post cited as a way to deal with errors, and Rich Hickey's open source sponsorship post.
I agree that Clojure is continuing to rapidly gain mind share – among long-time Lispers, relative newcomers to programming, and also seasoned "curly bracers" that a few years ago never thought they'd see a day when Lisp would make it into mainstream dev shops. Personally, I like it a lot and use it on a daily basis. The excitement around it is in no small part due to the insightfulness and ongoing hard work of Rich Hickey[1], his close collaborators at Cognitect[2], and some amazingly dedicated community talent (e.g. Philip Hagelberg[3]). Not to be overlooked is the brilliant decision to have it be a "hosted language" that interoperates with non-Clojure code on the JVM with little to no hassle – that opens a lot of doors, better believe it!
That being said, I attended RacketCon 2014[4] last Saturday and was blown away by the work going on in that community. Michael Fogus[5], a well-known name in the Clojure community, even gave the keynote[6]. The language's creator, Prof. Matthias Felleisen[7], and his grad students have been doing truly cutting-edge work over the last 18+ years (what became Racket was "conceived" at Rice University in Fall 1995). It's a fair question, though, whether the Racket team even wants the language to "make it big," i.e. along the lines of Clojure's rapid rise in popularity. I got the impression they have mixed feelings about that prospect, and those concerns have certainly shaped (and will shape) their marketing of Racket.
My thought is that if,…
Lots of good questions here. https://building.nubank.com.br/welcoming-cognitect-nubank/ from Ed Wible, CTO at Nubank is a good read that answers many of them btw. Also see https://cognitect.com/blog/2020/07/23/Cognitect-Joins-Nubank.
> What are the new resources (for Clojure? or just Datomic?), how are they being used? Does Nubank have opinions / direction on these resources.
Since Cognitect joined Nubank, several people have joined the Datomic team, both new hires and internal moves from Nubank and the rate of development has increased. We are also looking at expanding the Clojure team in the near future.
> Has an open sourced Datomic been discussed?
No changes planned.
> Who owns the Clojure trademarks and IP going forward. Any talk of a Clojure Foundation?
Clojure was and is an independent project and Rich Hickey is a joint owner (along with contributors) to the Clojure copyrights. From Rich's announcement on the Clojure mailing list: "Clojure remains independent, and development and stewardship will continue as it has, with more resources and a much larger sponsoring organization in Nubank."
> Alex Miller does an awesome job but boy he has a lot to cover.
Thanks and indeed! As above, we are likely to expand the Clojure team in the future.
> There was talk a few years ago of facilitating community involvement with a PEP type process
We created https://ask.clojure.org as a way for Clojure users to discuss problems important for them and to allow voting on those…
As others have mentioned - you’re probably talking about something like a python or node repl. Lisp repl development is not like python or node - you _work_ in the repl. The closer comparison might be between bash+node as a repl - up+enter and the like to rerun tests has an equivalent in clojure+IntelliJ. There’s no copy pasting but there are different key bindings.
One of the best parts about lisp style repl development is that you end up doing TDD automatically. You just redefine a function until it does what you want from sample data you pass in - without changing files or remembering how your test framework works. You can save the output of some http call in a top level variable and iterate on the code to process it into something useful. The code you evaluate lives in the file that will eventually house it anyway so it’s pretty common to just eval the entire file instead of just one function.
Since you don’t ever shut the repl down, developing huge apps is also quite pleasant. You only reload the code that you’re changing - not the rest of the infra so things like “memoize” can work in local development. That’s why it’s a bit closer to your bash shell in other languages.
If you’ve never tried it, I highly recommend trying the Clojure reloaded workflow [1] to build a web app with a db connection. You can really get into a flow building stuff instead of waiting for your migrations to run on every test boot.
[1]…
I thought that was strange survey at first, as there were very few questions related to programming and coding with Rust but plenty of questions around engaging with the community (inclusiveness/comfort level, conference attendance, etc). But then I realized it was a "Rust Community Survey".
Is there another survey more suited to use Rust as a language ala "State of Clojure"? I don't use Clojure anymore but I still love reading these every year to keep up to date with the progress it's making.
For ex: http://blog.cognitect.com/blog/2017/1/31/state-of-clojure-2016-results
Edit: Oh nevermind, it seems the questions change if you select 'Yes' or 'No' at the beginning for "still using Rust". I didn't totally stop using Rust I just spent time learning it, experimenting on some projects, but I don't have a day-to-day need for it - not sure if either possible answer applied to me.
Clojure would be my first choice, esp since you're fond of the JVM. Python is also good, esp for non-JVM projects.
Python and JVM languages give you access to the widest range of high-quality libraries, esp in the data processing space, and having high-quality libraries that you didn't have to write is key for rapid prototyping.
Clojure REPL-driven development enables you to define and evaluate functions inline, and the immediate feedback makes development fly. Combine this with Clojure's lack-of-verbosity, first-class Java interop that gives you access to all Java's libs, and Clojure's concurrency model, and you have a toolset ideal for rapid development that doesn't sacrifice performance.
Pedestal (http://pedestal.io/) is the Clojure Web toolkit I would use -- it's designed/backed by Cognitect (http://cognitect.com), Rich Hickey's new company.
Elixir's Protocols actually were inspired by Clojure Protocols.
Here's Jose Valim talking about it:
> I’ve learned a lot also from Clojure because, at the time I was thinking about Elixir, Clojure was already around. I like to say it’s one of the top three influences in Elixir
[...]
> The main, the top three influences are Erlang, Ruby, and Clojure.
[...]
> I was like, no, but I’m going to call them protocols because there are a lot of similarities between Clojure and Elixir in terms of them being dynamic languages and in terms of the macro system. I was like, okay, I’m going to call them protocols because the closest thing we have today to what I want is Clojure
And he goes on talking about more inspiration and similarities from Clojure like Agents, etc.
Full exert is here: http://blog.cognitect.com/cognicast/120