Hello HN! Just creating a weekend social topic here to see what kind of answers might come up in this thread. Here are the questions:
1. What are your two most favourite programming languages? (Call them A and B below.)
2. What is one feature from A you wish B had? And one feature from B you wish A had?
3. When starting a new project, how do you choose between A and B?
1. Common Lisp, Python.
2. This is not exactly a language feature but more of an attribute of the ecosystems, but I wish Common Lisp had a more comprehensive 'batteries included' standard library. It does have a pretty good standard library [1] for its time, but in the modern day, it fades in comparison to that of mainstream languages like Python or Go. Yes, the availability of Quicklisp compensates for the relatively smaller standard library, but it does not fully replace the value of having a large and cohesive standard library.
For Python, I wish (and this might be controversial) that it used s-expressions instead of whitespace-based delimiter for blocks. I find cutting, pasting, moving around, and in general, manipulating whole s-expressions as individual units very convenient with appropriate editor support (e.g. Paredit). I know there are languages like Racket, Clojure, etc. which fulfil the requirement of extensive batteries included library + s-expressions, but they are much less popular than Python. In my ideal world, one of the top three popular languages would be a Lisp or Lisp-like language with an extensive standard library comparable to Python's.
3. Common Lisp for personal projects. Python for collaborative projects.
[1] https://www.lispworks.com/documentation/HyperSpec/Front/X_Sy...
reply