Live data from Hacker News

Nubank acquires Cognitect

cognitect.com

241–250 of 281 posts

Re: Nubank acquires Cognitect

#241
post #163

Earlier quoted context omitted.

Niche is fine. I don't know why people are obsessed with languages becoming dominant, or enjoy calling languages "dead". I don't need everyone to use Clojure. In fact, I'd rather prefer that my competitors use something else, because it gives me an edge over them. I don't have "expectations", I think "hopes" is a better word here. I hope to continue to profit from the core team's thinking and be able to use the tools…

I mean, that may be true to a point in the long run/true outside of webdev. But the dev who intimately knows Spring & Java/Kotlin is gonna be far ahead of you for the first 9 months, given that there's so much out of the box functionality. They'll be going through a nice paint by numbers scenario for most of the heavy lifting whilst you have to expound effort in creating what's done.

Your comment misses alot of nuances about Clojure. Most Clojure devs I know were already senior devs in one or more languages, and were very capable of dealing with any missing "out of the box" functionality.

Besides, by sitting on top of the JVM you have access to alot of mature libraries, and it's extremely easy to do a wrapper in clojure.

What the spring & other frameworks have as an advantage is a predefined set of opinionated choices about logging, error handling, validation and so on that would give you a couple of weeks advantage at top. What they don't have is an expressive language as clojure.

Re: Nubank acquires Cognitect

#242

Earlier quoted context omitted.

I mean, that may be true to a point in the long run/true outside of webdev. But the dev who intimately knows Spring & Java/Kotlin is gonna be far ahead of you for the first 9 months, given that there's so much out of the box functionality. They'll be going through a nice paint by numbers scenario for most of the heavy lifting whilst you have to expound effort in creating what's done.

Interesting view. What are the 'out of the box functionalities' which Clojure is lacking? Keep in mind Clojure provides Java interop and with clojurescript js interop. The clojure ecosystem has also pretty great libraries to work with. For example take a look at fulcro or re-frame, also metosin works on some really great libraries and there is much more.

I can tell you what I miss: really good error messages :)

Re: Nubank acquires Cognitect

#243

Nubank’s co-founder and CTO offers his perspective: https://building.nubank.com.br/welcoming-cognitect-nubank/

He makes mention of 2,300 Datomic databases. Can anyone shed some light on how a company maintains (or requires?)... 2,300 databases? What business needs lead to something like this? What kind of reporting pipeline possibly could pull so many dbs with cross concerns together under one roof?

Brazilian tax law, Brazilian financial regulation, Brazilian fraud prevention...

Things get byzantine fast in Brazil.

Re: Nubank acquires Cognitect

#244

Nubank’s co-founder and CTO offers his perspective: https://building.nubank.com.br/welcoming-cognitect-nubank/

He makes mention of 2,300 Datomic databases. Can anyone shed some light on how a company maintains (or requires?)... 2,300 databases? What business needs lead to something like this? What kind of reporting pipeline possibly could pull so many dbs with cross concerns together under one roof?

Let’s say the company has four databases and 500 technical employees. That could get you to 2k personal development instances. Take your non-development instances and multiple for failover, blue-green deployments, multiple data centers. It doesn’t necessarily sound nice but it’s conceivable.

Re: Nubank acquires Cognitect

#245

Nubank’s co-founder and CTO offers his perspective: https://building.nubank.com.br/welcoming-cognitect-nubank/

He makes mention of 2,300 Datomic databases. Can anyone shed some light on how a company maintains (or requires?)... 2,300 databases? What business needs lead to something like this? What kind of reporting pipeline possibly could pull so many dbs with cross concerns together under one roof?

In datomic the concept of a database is pretty light, creating a db doesn't imply spinning up a new backend stack.

Re: Nubank acquires Cognitect

#246
post #117

My entire business is built on Clojure and ClojureScript, and it would not have been possible without these languages. I am always slightly worried by this kind of news, because it means that the main Clojure team is now dependent on a single institution. But it could be good news as well, depending on how things go. Until now, I've been getting nothing but excellence from the Clojure team: not just great tools, but…

> it would not have been possible without these languages What critical features Clojure has, which don't exist in other platforms/languages?

My opinion is that clojure has a confluence of just right abstractions and language choices that allows you to be very very succint while still very readable which in turn makes the language very expressive. I can name a few features: immutability, multimethods, protocols, transducers, lazy sequences, macros, and a very small and sturdy core. All of these features exist in some other language, but the combination of them together is what makes clojure great IMHO.

Besides, experienced clojure devs just see things differently and end up writing lots of nice libs that capture the essence of the feature the lib is providing. Think datomic (immutable database), reagent (interface to react), honeysql (data-as-sql), "dependency injection" (mount/component & others), pull/query-based UIs (om.next and its spiritual successor, fulcro) and so on.

Re: Nubank acquires Cognitect

#247

Earlier quoted context omitted.

It's not based on protobuf. There's some in-house tooling that checks the schemas of producers against consumers against known versions (aka the versions in production), and we run it as part of the CI. Since services implement standard components/protocols there are standardised hooks to extract these schemas definitions from each HTTP endpoint or Kafka consumer.

Does this rely on code generators or maybe a schema generator from code? I’m curious about how schema and code are kept in sync.

Yes. The schema definition is part of the code/data itself, so you can reference a particular schema by its git rev hash.

Re: Nubank acquires Cognitect

#248

The bull case here is if Nubank goes full Amazon and uses banking as a beachhead to create the next layer up from AWS, which Clojure/Datomic is amazingly perfect for – data all the things

Ha! I was going to reply to this comment - "If you're interested in data-all-the-things, then you should take a look at Hyperfiddle" - until I recognized the user handle and realized that you already knew about Hyperfiddle. (for those reading along, dustingetz built Hyperfiddle)

Re: Nubank acquires Cognitect

#249
post #242

Earlier quoted context omitted.

Interesting view. What are the 'out of the box functionalities' which Clojure is lacking? Keep in mind Clojure provides Java interop and with clojurescript js interop. The clojure ecosystem has also pretty great libraries to work with. For example take a look at fulcro or re-frame, also metosin works on some really great libraries and there is much more.

I can tell you what I miss: really good error messages :)

ClojureScript with shadow-cljs has really good error messages

Clojure's errors require getting used to because they can be verbose but the patterns emerge after some use, that said most beginner errors can be caught before runtime with clj-kondo

Re: Nubank acquires Cognitect

#250

Earlier quoted context omitted.

I am about to (next two or three months) launch a company/product that is heavily built on Clojure(script) too and I was actually thinking about this exact thing just this week! There are a number of libraries that I rely on that I would love to give back to, both as a thanks for the work so far, and to fund future development. I'm not in a position to do so yet, but its something I very strongly hope to do in the no…

You could sign up at https://www.clojuriststogether.org/ They do a pretty good job sponsoring both new-ish and critical projects within the clojure ecosystem

Yes, I do plan to! Thanks for reminding me. I do want to look into contributing to a few specific projects that I rely on too, though. Or at least look into hiring the authors for a contracting gig (at least one author of well known libraries does this). I’m not yet financially in a position to do this, but I’m hopeful.
Post reply on HN