>>>>> "Chris" == Chris Douce <[EMAIL PROTECTED]> writes:

> This is a good question.  What is considered to be important in a
> program (what is likely to be useful to solve an immediate problem)
> changes with expertise.

I think that's very likely. But what is expertise?

It might even be the case that the level of tool that people use to
manipulate code for major changes (e.g. refactoring) could be used as
a measure of expertise -- perhaps absolute beginners will just work at
the character level, the next stage use cut and paste, and so on.

And what areas of expertise? And are we really talking about
experience rather than expertise, and, if so, experience of what? I
expect that the tools used make a difference here. For example,
someone using a line editor such as "ed" may continue to think in
terms of lines! It could be that tools such as Versor could be used in
training people.

I expect that programming languages used, and projects worked on, will
be factors in how programmers think of code. My own expectation here
(as a Lisp person, so I may well be biased) is that people who've
worked with code-as-data (e.g. in languages such as Lisp, or on the
internals of compilers or interpreters, or perhaps theorem provers)
are likely to have a more abstract view of code than most others.

> When you're refactoring and moving functions around, creating new
> classes, moving between files and functions, the sound of the
> repetitive key presses sometimes acquires a regular rhythm.

This is the kind of thing I'm interested in -- when there is that
rhythm, there is presumably some inefficiency (think in terms of
information theory, data compression, etc) -- how much of what you're
doing is "finger macros", where you could probably even name a
sequence of keypresses (perhaps not quite as literal replays, as the
size of procedures, number of parameters, etc varies, but
parameterized to work on blocks of text, like Versor does)? Are you,
in fact, simply "executing a program" which you could get the computer
to do for you?

In part, you answer this below:

> when you're done, so is the noise and rhythms and you're probably
> never going to make the same editing rhythms in the same way.

but there may be significant chunks that are just nearly-fixed
sequences. (I did once start looking at processing command histories,
probably as Markov chains, to try to predict the likely next command,
or even to suggest sequences to bundle up into macros; this might be
worth picking up again some time, or putting it up for a student
project!)

__John
 
----------------------------------------------------------------------
PPIG Discuss List (discuss@ppig.org)
Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss
Announce admin: http://limitlessmail.net/mailman/listinfo/announce
PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/

Reply via email to