Title: Like many folks here, I probably spend too much time reading about, trying and contemplate using many new languages. The (overlapping) paradigms that interest me are metaprogramming, functional, and (newer) statically-typed. I decided to focus only on metaprogrammable ones from now on (as a time saver and to step up).<p>I made a list and ordered them by how much I would be interested in using them (which combines my curiosity with current&#x2F;expected adoption).<p>My short-list for metaprogrammable ones are:<p><pre><code>  Clojure
  Elixir
  Nim
  Crystal
  Rust (would be higher if I did more low-level work)
  Pony
</code></pre>
I left most other functional ones off my list because that&#x27;s an exploration in itself for another time. I was surprised that I put Clojure and Elixir first given my preference for static types. Of all the kitchen-sink features that Nim has, I can&#x27;t accept camelCased == under_scored names otherwise it could have been first. Ruby is notably absent as I use it and am looking for something better&#x2F;different.<p>For future adoption, I think interoperability is a key factor, whether it&#x27;s with C or in a VM runtime (e.g. JVM, CLR, BEAM, v8).<p>Which metaprogrammable language do you use or are most interested in using? How compact are your programs (i.e. how extensive do you metaprogram)?
Upvote: