What makes a language good for me?

Posted on Sep 6, 2024

In short: Syntax

I believe that humans evolved through language. All human languages are amazing because they allow us to express ourselves and our needs with high correctness.

You already know this: Humans are imaginative beings. We first imagine things and then convert those images into sounds. Eventually, we invented the alpha-bet(a). But that wasn’t enough; we discovered patterns in all forms of communication and standardized written language, which we call grammar.

Grammar is the broader set of rules that govern the structure and use of language. Often confused with syntax, syntax is actually a subset of grammar. It governs sentence structure, including word order, sentence types (such as declarative or interrogative), and how different parts of speech (nouns, verbs, adjectives, etc.) are combined to form coherent sentences.

Me, focusing the power of the syntax of a programming language.

As a result, the best syntax is found by Haskell (more applicable and practical way - IMO).

Haskell has a unique syntax that is both concise and expressive.

Look that function definition syntax:

add x y = x + y

Beautiful and simple yet powerful. No need to have ton of special characters. And for example, allows currying, which provides flexibility.

Haskell’s syntax allows for concise code that remains highly readable. The absence of explicit syntax elements like parentheses and semicolons reduces visual clutter, allowing developers to focus on the logic. For example, pattern matching and guards allow for clean, readable expressions that would require verbose conditionals in other languages:

max a b | a > b     = a
        | otherwise = b

I will stop promoting Haskell in here and return to why i think the syntax is most important thing for a language IMO.

I believe concise and clean syntax provides developers with mental clarity, allowing them to build systems more quickly and more robustly.

If the syntax of a language is too close to natural human language, developers are likely to make more mistakes because human languages are inherently ambiguous. Which we can see similar results nowadays. This is why we invented Prompt Engineering. A rule system is a strict requirement for valid programming.

At this point, the integration of applied mathematics into a language’s syntax results in more concise and powerful structures.

As a result, I prefer languages like Haskell or Idris.

I won’t keep that post long. I believe I’ve made it clear why I think syntax is the most important aspect of a programming language IMO.

This is why I hate Go! (LOL)

still do not forget this:

  • Choose Haskell for powerful abstractions, functional programming, and correctness.
  • Choose Go for practical, efficient, and easy-to-read system-level code, especially when concurrency is crucial.