So true. Most of the language discussions are extremely superficial, often not even taking into account what can be done in the IDE to alleviate minor (perceived) problems.
"THE CURLY BRACKETS ARE GREEN! THIS IS NOT A LANGUAGE I KNOW!"
Sorry, but even people who should know better regularly demonstrate that they don't know any better.
I still feel that we should strive for minimalism in a core language, hence my occasional comments on extensible syntax, unifying different structures and so on. But at the same time something that makes me very uneasy is when I come across a sequence like
* This is a list-oriented language, and every data structure is a list.
* Of course, we allow quoted strings as a convenience to programmers but they're compiled down to lists.
* But naturally, lists are optimised internally to blocks where this is possible.
I can't help but feel that there is something duplicitous about this. If in order to make a language useful and efficient there has to be "syntactic sugar" allowing e.g. quoted strings and machine-level handling of blocks of text etc., then neither the syntax, nor the semantics, nor the marketing should try to conceal this.
There are of course exceptions, e.g. I've read an interesting treatment which equated Prolog's reasoning ability to graph traversal, and there's a lot of clever memory management in there. But nobody in their right mind would claim that Prolog was a general-purpose language which could be used to e.g. write an operating system.
MarkMLl