Live data from Hacker News

Nubank acquires Cognitect

cognitect.com

221–230 of 281 posts

Re: Nubank acquires Cognitect

#221
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?

Re: Nubank acquires Cognitect

#222
post #20

Did anyone else notice that the biggest non-academic supporters of functional programming seem to be financial institutions? Is it due to the nature of the problem space? Is it because finance people tend to be more analytical? Something else?

I think the best argument is that there are a lot of small financial institutions (small referring mainly to the tech groups at them, that is, so you might hear that some big bank uses eg Haskell but really it’s just some group within their IB arm. I’m sure google has some Haskell around too), and often the kind of people they employ tend to like weird languages.

Plenty of financial institutions use lots of c++ or java and plenty use cobol too.

Re: Nubank acquires Cognitect

#223
post #81

Congratulations to Cognitect. Hopefully the acquisition will help Rich's retirement funding. (see 'History of Clojure' for the not-so-insider joke here) I have had the pleasure of "using Clojure in anger" and for a few years was very dedicated to learning how to use it effectively. This was a significant step up for my general programming skills and the simplicity of the language often saved me from myself with respe…

(for anyone who doesn't get it, Rich funded Clojure development via his retirement savings from 2005 until he ran out in 2009 https://dl.acm.org/doi/pdf/10.1145/3386321 )

Rich Hickey is an artist and a hero, I owe him so much.

Re: Nubank acquires Cognitect

#224
It sure would be funny if Nubank was the company from Neal Ford's story about someone sneaking Clojure into an enterprise years ago by claiming it was "just a Java library".

I doubt it is but would be a pretty funny tie in.

Re: Nubank acquires Cognitect

#225
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?

Lisp + immutability is the right foundation for symbolic/logic programming, datalog, declarative programming, graph programming. None of this is really feasible in other langs due to bad ergonomics and no coordinated ecosystem buyin. Haskell lacks platform portability and Scala 2 is just too complicated to think clearly about anything high level.

Re: Nubank acquires Cognitect

#226
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…

"My entire business is built on Clojure and ClojureScript, and it would not have been possible without these languages." No company depends any new language to succeed, depends on customers.

I feel like this is just being pedantic. obviously business is nothing without its customers, however it's also nothing without something to sell.

Re: Nubank acquires Cognitect

#227
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?

Most things in Clojure can be found in other languages. However, Clojure has an especially stable and coherent design story, and is quite a bit better thought out than the other languages I've programmed in professionally. The pieces just work together really well, and there isn't a lot of "extra stuff" that only a die-hard specialist would know, or need to. (I currently work at a financial institution, not Nubank, that uses Clojure heavily.)

A few other high points:

- macro-based metaprogramming, familiar to any Lisp-er; macros are essentially functions which write code for you, which allow one to create extremely concise constructs to reduce repetition in code;

- functional programming: probably the hardest thing to get one's head around if coming from a more mainstream language, FP reduces mutable state to a minimum, eliminating one of the biggest source of programming defects and making programs significantly easier to reason about. Additional concurrency-safe state primitives in Clojure makes concurrency a trivial addition to many programs;

- hosted on the JVM, giving interoperability with Java libraries and significant ease of deployment compared to other dynamic languages (I recently went back to Python to roll out a small web service and was amazed at how much more painful the deployment/devops story was compared to our Clojure services).

These are some of the benefits we leverage; other people here more qualified than me have enumerated others. (Plus Datomic, whose philosophy aligns fully with Clojure, though I have yet to use it in production.)

On a personal note, one final attribute I appreciate is structural editing: as a Lisp, Clojure code is data, a feature which one's editor can make use of to allow operations that would be alien to non-Lispers, such as: absorbing nearby expressions or expelling them; splitting them; sorting and reordering; and writing your own automated refactorings without having to write parsers for the language in question. Treating code as data structures rather than strings of characters allows for speed in writing and refactoring code that is hard to give up once you get used to it.

Re: Nubank acquires Cognitect

#228
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?

From my standpoint as a one man show, it's invaluable to be able to write the web client and backend in the same language, to share code between them... and have that one language NOT be JS. Clojurescript with Rum/Citrus or Reagent/Reframe deliver on the promise of React/Redux with much less fuss and overhead.

Editing JSX is a pain in comparison to the Hiccup syntax used more often in CLJS, e.g. [:div {:class shiny} "some stuff" [:button "OK"]] - with the structural editing in any good Clojure editor you can cut, paste, entire blocks of tags, or slurp a tag from outside your div into it, or spit one out, all with a few keystrokes, never stopping to find some closing tag.. I guess some JSX IDEs might do this, but it's really nice that the HTML is represented as just another piece of data, not some weird chimerical syntax bolt on.

With Figwheel or ShadowCLJS hot reloading is instantaneous and doesn't even interrupt your webapp. If they're written properly, functions and the app state are not conflated at all, so you can modify any function in your app's rendering or behavior and as long as they aren't incompatible with the runtime state, it will just pop right into your browser. Illustrated well in this video where the author is interactively re-implementing Flappy Bird: https://youtu.be/KZjFVdU8VLI?t=277

I feel particularly strongly about this having started out doing front end work primarily in cljs but recently being falling into using React/Redux for a contract and being REALLY strung out by the tedium of working with them.

Re: Nubank acquires Cognitect

#229

can one make a career out of clojure?

Yes, in specific fields like finance.

But, usually better to weight technology quite low when picking what to work on. Product and company culture has much bigger impacts on your quality of life in my opinion.

I don't want to work with Spring, TYPO3, or OOUI, and all of those things have made me sad in the past. But, I really don't want to work at a company where people micro-manage, run around like headless chickens, get stressed at each-other, schedule endless meetings, or where the product is something pointless that no-one wants. Any of that stuff is bad.

Re: Nubank acquires Cognitect

#230

Earlier quoted context omitted.

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

Lisp + immutability is the right foundation for symbolic/logic programming, datalog, declarative programming, graph programming. None of this is really feasible in other langs due to bad ergonomics and no coordinated ecosystem buyin. Haskell lacks platform portability and Scala 2 is just too complicated to think clearly about anything high level.

Take a look at Elixir, it has metaprogramming and immutability while gaining the robustness and distribution that the Beam (Erlang VM) gives you.
Post reply on HN