Balance

Benji Smith dlanguage at benjismith.net
Fri Oct 17 18:13:42 PDT 2008


The way I see it, a language's ecosystem consists of five distinct elements:

  -- Semantic Language Features: things like the basic types, template 
semantics, calling conventions, package/module structure, etc.

  -- Syntactic Language Features: sugary things like "foreach", the 
ternary operator, or the fallthrough structure of switch/case 
statements, that make code more clear and concise, but which don't 
enable fundamentally new kinds of functionality.

  -- Core Runtime Features: features that absolutely must be present at 
runtime in order to enable the basic langauge semantics: memory 
allocation, garbage collection, dynamic classloading, reflection, stack 
tracing, etc.

  -- Standard Library Features: features that are common to nearly every 
application, but which aren't necessarily required: console and file IO, 
sockets, streams, math functions, etc.

  -- User Libraries: everything else!

I'm curious about the general perception in the community about the 
balance between those five elements of the D ecosystem. How do you think 
they *should* be balanced? Do you think we're currently accomplishing 
that balance? Do you think any of those elements are being over or under 
prioritized?

Just curious...

--benji



More information about the Digitalmars-d mailing list