digitalmars.D - Balance
- Benji Smith (22/22) Oct 17 2008 The way I see it, a language's ecosystem consists of five distinct eleme...
- Bruno Medeiros (9/40) Oct 22 2008 Actually The ecosystem of a programming language also includes its tools...
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
Oct 17 2008
Benji Smith wrote: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... --benjiActually The ecosystem of a programming language also includes its tools (compilers, debuggers, builders, editors, IDEs, testing tools, frameworks, etc.), which is actually a very big slice. Some people also consider the user community of a language to be part of the ecosystem. -- Bruno Medeiros - Software Developer, MSc. in CS/E graduate http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Oct 22 2008