Inheritance of purity

H. S. Teoh hsteoh at quickfur.ath.cx
Thu Feb 23 21:50:27 PST 2012


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

-- 
To err is human; to forgive is not our policy. -- Samuel Adler


More information about the Digitalmars-d mailing list