@property - take it behind the woodshed and shoot it?

H. S. Teoh hsteoh at quickfur.ath.cx
Sun Jan 27 07:43:47 PST 2013


On Sun, Jan 27, 2013 at 04:09:09PM +0100, TommiT wrote:
[...]
> Most other creative jobs require custom tools for performing the
> craft, why not programming?

Because it's not *necessary*. Having a universal representation has many
advantages, *independence* from custom tools, scriptability,
testability, etc..

Independence from specialized tools, contrary to popular opinion, is a
very good thing. Having a universal representation like text lets
*anyone* write tools for it easily, and more importantly, tools that can
work with more than just that specific representation. This is incentive
for people to actually invest the effort to make said tools, because the
target market is much wider (==lower risk, greater ROI). It also lets
more tools than the creators of the thing being represented thought of
to be used for manipulating it -- i.e., saves them the effort of
reinventing an entire ecosystem, you just leverage what's already out
there. Having specialized representations means that far fewer tools can
be used for manipulating it, and these tools must be specifically made
for the job. Why artificially limit yourself in this way, when generic
formats and generic tools are far more useful?

Always reminds me of the difficulty of automating the test of GUI apps.
You need specialized software to record interactions and replay them,
whereas with a text-based interface, you can *generate* test cases that
no human has ever done before, thereby making it possible to have more
complete coverage than would be possible with any record/replay-based
system. GUI apps are also non-scriptable, which greatly limits their
usability in automated environments. Recorded GUI scripts are also
usually in a non-interoperable format, which makes sharing / editing by
others, etc., more difficult than necessary.

Obligatory quote:

	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

I see many more disadvantages to things like colors, fonts, reliance on
specific tools, than advantages. Things that artificially limit
themselves for no good reason other than convenience are rarely worth
the trouble.

(Caveat: I'm another slobbering vim fanatic. I don't even use syntax
highlighting. So you may take a big grain of salt with everything I say.
:-P)


T

-- 
The richest man is not he who has the most, but he who needs the least.


More information about the Digitalmars-d mailing list