On Mon, 3 May 2010, Arne Vajh?j wrote:
On 03-05-2010 07:08, Arved Sandstrom wrote:
Arne Vajh?j wrote:
But please don't use the term software ENGINEERING about a
process that spends 50-75% of the time in the IDE.
I think it would depend on the role of the developer and the particular
methodology in use - 50%+ time spent in the IDE might not be indicative
of a low state of software process, or it might be.
And after all, IDE does mean _Integrated_ Development _Environment_. In
theory a developer could be knocking out everything from requirements
analysis through design and coding to running/analyzing tests in one of
those puppies.
Sure - but no matter if he is creating UML, Java LOC's or running
JUnit tests, then I would expect thinking to dominate over typing. And
thinking is a process that unfortunatetly does not benefit from better
tools.
No, this is rubbish. Programmers don't spend ages sitting there
thinking, and then do a bit of typing. This is pure fiction. We think as
we type - we think *by* typing, by putting our ideas down, working
through the details, trying things out, seeing what works and what
doesn't. Masses of thinking goes on, but it's not like some caricature
of a mathematician, staring at a ceiling for days on end and then
jotting down a complete theorem at the end of it. To do the thinking,
you have to work through it - and better tools let you work through it
faster. If by the use of autocomplete and type inference and whatnot i
can flesh out a for-loop over the entries of a map in which i filter the
keys with such-and-such a test and transform the corresponding values
with this-or-that function in thirty seconds rather than three minutes,
then that's two minutes and thirty seconds less that's taken me to learn
if my idea for the loop works or not. That's the kind of thing i spend
my time doing when i program, and an IDE does help me to do that faster.
But that is not how good software gets created.
Any software of real world size will be unmaintainable. Real complex
software created that way will never even work.
design. Producing the actual code is a minor part of the work.