The purpose of this question is not to assemble a laundry list of programming language features that you can't live without, or wish was in your main language of choice.  The purpose of this question is to bring to light corners of languge design most language designers might not think about.  So, instead of thinking about language feature X, think a little more philisophically.

One of my biases, and perhaps it might be controversial, is that the softer side of engineering--the whys and what fors--are many times more important than the more concrete side.  For example, Ruby was designed with a stated goal of improving developer happiness.  While your opinions may be mixed on whether it delivered or not, the fact that was a goal means that some of the choices in language design were influenced by that philosophy.

Please do not post:


Syntax flame wars.  Let's face it, we have our preferences, and syntax is important as it pertains to language design.  I just want to avoid epic battles of the nature of emacs vs. VI (which a great number of people these days know nothing about).
"Any language that doesn't have feature X doesn't deserve to exist" type comments.  There is at least one reason for all programming languages to exist--good or bad.


Please do post:


Philisophical ideas that language designers seem to miss.
Technical concepts that seem to be poorly implemented more often than not.  Please do provide an example of the pain it causes and if you have any ideas of how you would prefer it to function.
Things you wish were in the platform's common library but seldom are.  One the same token, things that usually are in a common library that you wish were not.
Conceptual features such as built in test/assertion/contract/error handling support that you wish all programming languages would implement properly--and define properly.


My hope is that this will be a fun and stimulating topic.

Edit: Clarified what I mean by Syntax Flame Wars.  I'm not trying to avoid all discussion of syntax, particularly because syntax is a fundamental part of program language design.

Unicode Support by default 

This day and age, programs are being developed to be used internationally, or under the assumption that they might be used internationally. They must provide support for their character sets or render programs written in that language useless.
