Inheritance of purity

foobar foo at
Sat Feb 25 12:07:22 PST 2012

On Friday, 24 February 2012 at 05:48:51 UTC, H. S. Teoh wrote:
> On Fri, Feb 24, 2012 at 06:05:20PM +1300, James Miller wrote:
> [...]
>> My ongoing quest for productivity has led me to believe that, 
>> unless
>> you want to be tied to a technology, back to basics is the 
>> best way.
> That's an interesting observation. I have to agree.
>> I personally believe that any set of tools should be made 
>> thinking
>> about the use case: "What if this person was developing using a
>> Tektronix 4014?", I'm not saying that we should still be 
>> coding to 30
>> year old terminals, but the idea is that somebody might not 
>> having a
>> gui should not immediately be a blocker.
> This reminds me of a very insightful quote I found online a 
> while ago:
> 	A program should be written to model the concepts of the task 
> it
> 	performs rather than the physical world or a process because
> 	this maximizes the potential for it to be applied to tasks that
> 	are conceptually similar and, more important, to tasks that 
> have
> 	not yet been conceived. -- Michael B. Allen
>> This has been Windows' Achilles' heel for a while, many 
>> products don't
>> work without a gui, and therefore are difficult - or 
>> impossible - to
>> script. If you can provide a programmatic interface to your 
>> system,
>> then you have just allowed a ton more products to be made, at 
>> no extra
>> cost to you.
> It's exactly as I quoted above: by limiting yourself to a GUI, 
> you have
> limited the applicability of your program, even if what the 
> program
> actually *does* is not inherently related to a GUI.
>> Clang has built-in support for auto-completion and syntax 
>> analysis and
>> the front-end is even nicely packaged into a library, so I now 
>> have
>> C/C++/Objective-C, context-aware, accurate completion in vim, 
>> through
>> the vim plugin clang-complete, this was not made by the people 
>> at
>> Clang, they just exposed the functionality (by the way, XCode 
>> uses the
>> same system, and Code::Blocks is moving their code-model to it 
>> too).
> "This maximizes the potential for it to be applied ... to tasks 
> that
> have not yet been conceived." :-)
> [...]
>> * Programming using `cat` is not recommended.**
>> ** Even though /real/ programmers use `cat`
> [...]
> Oh? I thought *real* real programmers use a soldering iron, a 
> pair of
> tweezers, a magnifying glass, and really *really* steady 
> hands... Tricky
> things to program, those new-fangled nanometer-scale 
> microprocessors
> they make these days. :-P
> T

Clearly, the quote above is misapplied since clang's 
applicability has everything to do with its good modular design 
and its API and nothing to do with the arguing over GUI vs. CLI. 
In fact, CLI forces its own set of limitations on the program.

More information about the Digitalmars-d mailing list