[link|http://groups.google.com/groups?threadm=7xznfspmjf.fsf%40ruckus.brouhaha.com|http://groups.google...ckus.brouhaha.com]
..wherein both sides had their say.
You said:
The problem with letting syntax govern the rules of abstraction is that as the level of abstraction gets higher and higher, due to the complexity of the program, the syntax can act as a barrier to dealing with the increasingly complex interaction within the program.
...which is fine. But the vast majority of code being written today has a common, low "complexity threshhold", IMO, which doesn't warrant a new syntax for each application. How many people are writing general ledger applications at this moment? Most cubby-farm programmers benefit from regularity.
The less that programming language fetters you in the higher level of abstractions, the easier it will be to maintain and extend your code base.
...assuming *you* are the one maintaining and extending it, and have a good memory. For the rest of the world, we enjoy a "lingua franca" when possible to ease maintenance across brains and time.