Andrew Binstock has written some interesting rubbish on library vs. language feature:
If one is to believe that threads will be on nearly all desktops soon 14and I think this is now a conservative projection 14then threads processing should be part of the language, rather than a series of function calls.
Who cares? That isn't the problem when writing threaded code; the problem is making sure that code is thread-safe. Here's Smalltalk code that forks off a (lightweight) Smalltalk thread:
[self doComplexWork] fork
Ok, is #fork a library call or part of the language? Why do you care? More importantly, is it threadsafe?. Then there's this:
Another conservative assumption, in my opinion, is that XML processing will become a primary activity of most software. So will accessing resources across the network, and then combining network access and XML into Web services. If so, then Java syntax would benefit from reflecting these features natively in the language. It seems reasonable to assume that URLs 14or, more accurately, URIs 14should be a native data type. And why not native XML types 14although this would be more difficult.
That's just what the curly brace crowd needs - more data types to make learning the language harder. 50 reserved words aren't enough for some people, I guess. Here's some Smalltalk to parse XML: XMLParser new parse: someXMLText. Binstock wants what, exactly - a set of DOM types to screw up Java and C# worse? When was the last time he was near code, and why would anyone let him near any? Sheesh...