The entire clojure culture caters to proprietary enterprise software which is usually not released as open-source projects. Clojure is suitable for building uberjars and uberscripts that are deployed on mobile devices and web browsers and backend servers. Clojure is very uber.
But, to increase adoption, clojure needs to also cater to individual hobbyist developers who fiddle with various concepts on their local machines. If more hobbyists fiddle with clojure, they will be later available in the job market for clojure shops and clojure open-source projects. They will play with clojure by writing scripts for window managers or wayland compositors. Even on mac os and windows, hackers write system scripts for modifying the behaviors of their little systems.
In local computing environment, people generally use system scripting languages that allow them to install language libraries as user libraries or system libraries. System libraries are generally installed by system/OS/linux package managers. Perl and raku(perlâs cousin) have library paths for users, admins, and linux distros.
My local system scripts rely on language libraries installed by system package manager.
Babashka is okay for proprietary enterprise scripts that are later deployed as uberscripts because businesses typically donât want to release them as open-source libraries later, but it is not good for âsystemâ scripting because it doesnât naturally integrate with system package managers as languages like python and janet do. If your babashka script relies on a third party library, then you will need bb.edn in the script directory or build an uberscript. Thatâs cumbersome for quick scripts that you use in your window manager.
Most people arenât clojure shops and donât work for clojure shops. Before they join clojure shops or create clojure shops, they need to play with clojure in their local environment against their own local systems. The existing clojure implementations add friction to that kind of fun play for individual hackers.
It seems that basilisp and jank can become system scripting languages if they later integrate with system package managers, but the maintainers donât seem interested in system package managers. Basilisp maintainer is busy with his life. Jank maintainer is busy launching an alpha version of jank.
I like clojure as a language, but I, as a hobbyist developer, find myself using janet exclusively because janet was built from the scratch as a system scripting language. Everything is optimized for system scripting in janet.
Excellence as a language matters less than how suitable it is in an environment. My primary environment is my local linux system. Before people deal with bigger systems, they need to play in their personal environments.