6 ms·
You will enjoy the fact-based database Datomic, which is the reason Rich Hickey made Clojure: https://www.youtube.com/watch?v=Cym4TZwTCNU https://www.youtube.co
by pgt 8y ago
You will enjoy the fact-based database Datomic, which is the reason Rich Hickey made Clojure: https://www.youtube.com/watch?v=Cym4TZwTCNU https://www.youtube.com/watch?v=Cym4TZwTCNU
Datalog is a much, much, much query language better than SQL: http://www.learndatalogtoday.org/ http://www.learndatalogtoday.org/
- hood_syntax 8y agoI take issue with some of Rich Hickey's technical opinions, but Datomic seems pretty cool. I knew Datalog has been around for a while, but had never looked into it further.
- hardwaresofton 8y agoI do remember Datomic and I think it's a great tool but I fell out of love with the Clojure ecosystem and JVM-based languages as a whole and don't think I'll be getting back into it/them. I do remember wanting to check out Datomic (I believe after seeing a talk on how it was being used at a bank in southern america?[0]), but I found it unreasonably hard to find and download/experiment with the community edition -- compare this to something like Postgres which is much more obvious, more F/OSS compliant (I understand that they need to make money) and Datomic doesn't really look that appealing to me these days. At this point in my learning of software craftmanship I can't do non-statically type-checked/inferenced languages anymore -- I almost never use JS without Typescript for example. Typed clojure was in relatively early stages when I was last actively using clojure, and I'm sure it's not bad (probably way more mature now), but it's a staple in other languages like Common Lisp (the declare form IIRC). The prevailing mood the clojure community seemed to be against static type checking and I just don't think I can jive with that anymore. Thinking this way right now Datomic wouldn't be a good fit for me pesonally but I believe that it is probably high quality paradigm. [EDIT] - I found the talk: https://www.youtube.com/watch?v=7lm3K8zVOdY https://www.youtube.com/watch?v=7lm3K8zVOdY [0]: https://www.datomic.com/nubanks-story.html https://www.datomic.com/nubanks-story.html
- pgt 8y agoYes, Datomic is the killer app for Clojure [^1]. Have a look at Datascript[^2] and Mozilla's Mentat[^3], which is basically an embedded Datomic in Rust. Hickey's Spec-ulation keynote is probably his most controversial talk, but it finally swayed me toward dynamic typing for growing large systems: https://www.youtube.com/watch?v=oyLBGkS5ICk https://www.youtube.com/watch?v=oyLBGkS5ICk The Clojure build ecosystem is tough. Ten years ago, I could not have wrangled Clojure with my skillset - it's a stallion. We early adopters are masochists, but we endure the pain for early advantages, like a stable JavaScript target, immutable filesets and hot-reloading way before anyone else had it. Is it worth it? Only if it pays off. I think ClojureScript and Datomic are starting to pay off, but it's not obvious for who - certainly not very ever organisation. React Native? I tore my hair out having to `rm -rf ./node-modules` every 2 hours to deal with breaking dependency issues. Whenever I try to use something else (like Swift), I crawl back to Clojure for the small, consistent language. I don't think Clojure is the end-game, but a Lisp with truly immutable namespaces and data structures is probably in the future. [^1]: In 2014 I wrote down "Why Clojure?" - http://petrustheron.com/posts/why-clojure.html http://petrustheron.com/posts/why-clojure.html [^2]: https://github.com/tonsky/datascript https://github.com/tonsky/datascript [^3]: https://github.com/mozilla/mentat https://github.com/mozilla/mentat
- pgt 8y agoAlso look at Magic, an experimental typed JVM Lisp with immutable namespaces: https://github.com/mikera/magic https://github.com/mikera/magic