Why people design a new #ProgrammingLanguage?
There are tons of good reasons of course. Some does that for fun or for curiosity, some for political or educational reasons, some to address shortcomings faced with existing one, either in specific use case or in general.
To me, at least at the conscious level, it's completely a political issue.
I see how programming is a new political force (so much that I actively used it to fight
#BigTech in Italy) and I see how people who cannot read (aka
#debug) or write (aka
#programing), are doomed to becomes second class citizens in a
#cybernetic society.
I don't want this to happen to my daughters, so I want to teach them how to program and debug.
BUT mainstream programming languages are weird, full of accidental complexity and with over-complicated semantics.
As a nerd who can programs in most of them, I tend to get fun in the abstractions and details of, say, a
#Haskell or an homoiconic macro in a
#Lisp.
But while they are fun to a person grown (and selected to fit) within such a primitive computing environment, they are inheritely excluding people who cannot spend decades to grasp their subtle intricacies.
And how you can teach such languages to kids?
Sure they can learn and understand any programming language construct way better of an average adult, but at a first glance all they will only see is glibberish!
And while some will be fascinated by such esoteric language that can be used to create games, worlds and agents that serve their will (just like I was when I was a kid), most will find that complicated and thus boring.
On the other hand a language that is explicit and with simple semantics (such as say
#Oberon) will seem verbose and boring to a professional programmer.
I love the simple clarity of a
#snake implementation like this
https://github.com/tmartiro/voc-snake/blob/main/Snake.Mod whose complexity is almost just the complexity of the task at hand.
And while I see little improvements I could add to such language to further simplify it's syntax and semantics, when I try to do so, I end with something that is
less readable than the original, despite syntax and semantics being simpler (as in less rules and no exceptions or incoherence).
It was pointed out by
@anzu@items.minimals.org: while I want to make the language easy to read and simple to understand, I subconsciously try to address the issues I faced in my ~25 years as a polyglot programmer.
And apparently I can't resist such impulse, like if I cannot escape my experience.
It's sad.
It makes me think of how the phonetic alphabet was invented by people who cannot read or write but were exposed to hierogliphs, and think that creating a democratic programming language is beyond my ability because of how my mind has been blent from the existing one.
@informatica@feddit.it @programmazione@feddit.it@technology@lemmy.world@programming_languages@programming.dev