Unofficial wish list status.(Jul 2008)

Yigal Chripun yigal100 at gmail.com
Wed Jul 23 14:14:47 PDT 2008


Sean Kelly wrote:
<snip>
>>
>> A side note: Everyone complains about feature bloat in Microsoft Word.
>> What the world needs is a lean, mean word processor. But the problem
>> is, customer Bill says: "That's great, but I need feature #543. Not
>> having it is a deal breaker for me." Customer Sue says: "I'd buy the
>> lean & mean one, but I need feature #1678. Everything I do is based on
>> that." And so on. Feature creep is the result of inexorable and
>> unrelenting pressure for them.
> 
> I'd say that the word processor should be modular and that the requested
> features should be sold as plug-ins.  Then customer A gets his lean mean
> word processor with exactly the features he wants, and the same for
> customers B and C.  This obviously isn't possible with a language
> however, so I'm inclined to say that this is a false analogy.
> 
> 
> Sean

I agree with most everything you wrote.
specifically, "I would personally rather have a set of specialized tools
than one tool which can do everything but isn't really ideal for
anything." makes a lot of sense to me.

however, I just want to point out that modular languages are possible.
depending on what level of modularity you want.
1) common run-time for several languages like .net and JVM.
2) language oriented programming where you define a DSL for your problem
domain and use that to solve the problem. so your project is constructed
from several DSLs definitions and code written in those DSLs.
look for MPS by Jetbrains for an implementation of such a system.
3) the language itself can be modular - you can either allow the
programmer to define functions as new operators in the language (Scala
does that). so downs for instance could use such a feature to implement
his functional code without all the mixin/templates magic required by D.
Or even more powerful: language extensions via AST macros, *including*
syntax extensions defined by the user.
see: http://nemerle.org/Syntax_extensions for a language that allows the
programmer to add new syntax to the language (thus a modular language)



More information about the Digitalmars-d mailing list