[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RFC : SOME IDEAS FOR THE APPLE II FPGA'ers
Mark McDougall wrote:
> sicklittlemonkey wrote:
>
> > Test driven development is actually widely accepted in industry now,
> > especially in the java world and open source projects.
>
> Java? I was talking about *real* programming... ;)
I've often thought the best name for the next big 'language' to come
along would be "Real" :-)
I've spent years doing Java programming commercially. Test driven
development becomes absolutely critical with large projects these days.
Like most things, it's finally becoming accepted purely through
necessity. The less disciplined methodologies don't scale, so to
achieve anything really impressive now, you need methodologies that do.
I've always found it amusing how long good practices take to hit
mainstream. Back when I started writing more sophisticated
applications, it was just 'natural' to apply the concept of wriitng
simple driver programs to exercise a modules capabilities, and prove
that it worked correctly in isolation. I did this kind of testing back
on Apple II with Pascal.
The nice thing now, that you couldn't really do then, as there wasn't
the machine headroom to do it, is true automatic testing of the entire
application. While I lament the relatively limitless environments of
today for their 'boringness', I have to concede that having so much
more horsepower than you need allows you to shift the burden of
application validation onto the machine much more readily.
It's made me change my mind about typing somewhat too - ten years ago I
would advocate languages that had excellent compile-time error
trapping. Now, I advocate trapping errors with testing, and think you
should use whatever languages that are most appropriate, and that's
usually the one that the existing software teams are well-versed in.
But it's a tricky line to walk; make the environment too structured and
beaurocratic and people will feel stifled and uncreative. Too
unrestrictive, chaos will ensure your deadlines slip indefinitely.
In the end, it's a fun journey watching a discipline mature, as long as
you can withstand the bumps in the road along the way :-)