4 ms·
Dumb question: what is clojure usually used for ? (in my view, Java is for "enterprise" stuff, python for AI/data sciences, C for performance, etc.)
by wiz21c 2y ago
Dumb question: what is clojure usually used for ? (in my view, Java is for "enterprise" stuff, python for AI/data sciences, C for performance, etc.)
- rockyj 2y agoIt is a general programming language (with great interop with Java). You can pretty much build anything with it - web apps (backend + frontend), APIs, Scripts, etc. Anything you can do in Python / Java you can do it in Cloujure. It even has libraries for data crunching (or can use Java libs).
- uludag 2y ago"Enterprise" stuff in a much less "enterprise" way is one usage, hence being based off the JVM. Rich Hickey has also mentioned the concept of "situational programs"[1] which Clojure is used in a lot. Clojure is also used in a wide variety of other areas like data science[2] or desktop applications[3] much like other general purpose programming languages. [1] https://youtu.be/2V1FtfBDsLU?feature=shared&t=639 https://youtu.be/2V1FtfBDsLU?feature=shared&t=639 [2] https://scicloj.github.io/ https://scicloj.github.io/ [3] https://github.com/HumbleUI/HumbleUI https://github.com/HumbleUI/HumbleUI
- ebiester 2y agoThe same advantages of java in a lisp-like shell. NuBank, OneStudyTeam, CircleCI, and Guaranteed Rate are some of the larger companies I know about personally that have significant investments in Clojure.
- sir_eliah 2y agoA lot of banking/finance use cases.
- zcam 2y agoExoscale, a cloud provider is also using clojure heavily. Pretty much anywhere where the jvm is a good fit, but given it’s a hosted language you can also use it to emit dart code or js and find it running on shoulders of others (like jank, llvm based dialect, or babashka)
- delegate 2y agoIt's a general purpose programming language that runs on the JVM. It can easily interop with Java and do the same stuff that Java does ('enterprise stuff' and more). It excels at handling data transformations, so it's popular for tasks involving complex data pipelines, analysis, or real-time processing. Clojure’s immutable data structures and concurrency story make it great for building highly concurrent systems, so things like financial services, real-time monitoring, event processing. Clojurescript compiles to Javascript and interops with it well, so web based front end applications. It's used for mobile app development too. There are libraries for AI/data sciences and there's python interop via library too, so you can build Clojure apps on top of Python libs. Native-fast shell scripts using Babashka. I would not use it for low level system programming (eg. where C is used), but for everything else - it would be one of my first choices. It's a very pragmatic and practical programming language, with a strong philosophy behind every design decision and the fact that it can interop with pretty much everything makes it a powerful tool in skilled hands. Learning curve is quite steep though, but well worth climbing it.
- erichocean 2y agoI run an Internet-based business on top of it. $5M ARR. Two full-time developers.