I think my interest in Common Lisp is abating a little bit and gradually being replaced by Clojure. Common Lisp is a very interesting language and I feel I could be quite productive in it but it suffers a bit from being straight out of the eighties but not in a terrible way. The temptation to make an analogy between Stranger Things and Common Lisp is strong!
It’s probably I am just a little clearer on my requirements for a second language. I want a language for exploring ideas and algorithms. So what does that mean? Well I want to explore some areas of AI, algorithms, maths and be able to rapidly prototype small ideas I have.
As much as possible I want it to be hassle free in the sense I can just get on with the topic and not stop to worry about the actual language. OK common lisp fits that bill, The extra bit is I want to be easily be able to target the web so if I write any reasonable prototype ideas I can add them to this site. Common Lisp and python for that matter are not great for this. Clojure, well ClosureScript at least has an official route.
I am reading through Clojure for the brave and bold which is pretty easy reading even if I am only on chapter 6. I plan to finish the book and then mess a little bit with ClojureScript.
On the plus side my reading list just took a massive drop. Update on that next life post. Another Plus is interactive programming really appeals to me.
Clojure and Common Lisp both share a trait that C and Go also have. They all seem to be amazingly stable. Common Lisp obviously wins here. I find this appealing in a language as I know once learnt I can get off the proverbial treadmill of new features and focus code and learning.
At the same time I have been dealing with the slow performance of std::unordered_map. So how about a descent hast table before we add things like web views. Or two hash tables one with internal chaining and one with external chaining.
Rant over, it does beg the question if the standard is prepared to contemplate pulling in such a dependency then why are they not prepare to take a stance on a build system or a package manager. If they did the webview could be a package that could be pulled down.
It just seems a little illogical but I am sure I am missing the point and I suspect webview will not make it into the C++ standard anytime soon. The approach Rust is taking does seem to make a lot of sense.