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
To err is human; to forgive is not our policy. -- Samuel Adler
More information about the Digitalmars-d