Amongst all the things you can do wrong when designing a programming language, choosing poor syntax is probably the most fatal. Syntax is what programmers first notice when they come across a language, it is what they keep noticing as they write code, it is what they must verbalise when discussing code...it is holy.
I've spent (or a cynic might say, wasted) the last 3 years of my life designing a programming language because I was sick and tired of using languages that sucked, but didn't suck
my way. Apart from being an extremely lonely, and very mentally taxing exercise, it has taught me
tons of things, including majestic phrases like
parametric polymorphism, which make sound more intelligent than I really am.
The biggest lesson of all however, is that designing good syntax is
hard. So hard in fact, that there only two major categories of syntax that all major languages fall into: in the red corner, weighing six hundred and ninety pounds, Curlyyyyyyyyy Braceeeeeeees!!...and in the blue corner, weighing two hundred and thirty pounds, Begin EeeeeeeeX End EeeeeeeX!! (and the crowd goes wild). The red corner has languages like C, C++, Java and C#. The blue corner has languages like Ada, Lua, Python and VB.
So what
is good syntax? Programmers from the two corners have been duking it out ever since dinosaurs could order KFC for lunch. Because people are people, there is no clear answer to that question. However, if you are going to design a new language, you must remember the most holy of truths: syntax is religion - either convert to the red/blue corner or die in obscurity.