• ☆ Yσɠƚԋσʂ ☆OP
    link
    33 years ago

    I find there are two major axis when it comes to evaluating languages which are expressiveness and complexity.

    When the language lacks expressiveness then it can become difficult to map the language constructs to a particular problem domain. Java is a perfect example of a language with poor expressiveness, and a lot of code written in Java tends to be completely incidental to the problem being solved. In fact, there’s a study that found that something like 95% of Java programs consist of nothing but boilerplate.

    On the opposite end of the spectrum we have languages like Scala which are very flexible and succinct, but at the cost of very high complexity. There are a million ways to do things, and code ends up being written in wildly different styles. I found when I worked with Scala, I spent more time thinking about the language than the problem I was solving.

    My view is that a good language should be fairly flexible without becoming overly complex. The sweet spot will obviously vary from person to person. :)

    • DessalinesA
      link
      13 years ago

      My favorite language to actually use, and just how the code looks, is ruby. I would totally use it constantly if it was actually performant :disappointed face: .

      • ☆ Yσɠƚԋσʂ ☆OP
        link
        23 years ago

        From what I’ve seen Elixir is significantly better with performance, but obviously not going to compete with Rust. :)