Hmm, when you write HaskellUnit for us, I'll give it a try! :)
I had brief exposure to Miranda and ML in the early 90s and my brain doesn't
think that way. I had a really hard time of it.
-Mike
-----Original Message-----
From: Mike Beedle [mailto:beedlem@...]
Sent: Wednesday, June 04, 2003 2:11 PM
To: scrumdevelopment@yahoogroups.com
Subject: RE: [scrumdevelopment] Re: IEEE SWEBOK Is Looking for
Reviewers--They Don't Even Mention XP, Agile, etc.
Micheal wrote:
> When the first programming course in a CS
> curriculum uses Test Driven Development,
> we'll be teaching programming as we should.
David M. wrote:
>Bottom line... I agree, there was an economic
>component to early
>"test-first" because of mainframe costs.
Mike C. wrote:
> Yes, we did "test first" because our training
> environment was simulating a high-cost environment.
Mike C. wrote:
> I went for a 3-week COBOL training class outside
> Chicago and we were very definitely taught to write
> tests first.
David A. wrote:
> On a more serious note - the "test first" concept
> was driven out of economics - the high cost of
> computer time.
Test-first makes more sense specially for
imperative modes of programming i.e. Java, C,
Smalltalk, C++, Objective C, COBOL, etc.; where
we use unit tests to ensure quality of system
issues: memory, assignment, branching, looping,
conditions, coverage, side effects, and
handling of system exceptions.
What the world needs to accept is that
declarative programming paradigms lead to a much
higher
quality to begin with because they avoid
system errors and in many cases guarantee provability:
Haskell, Clips, Prolog, Erlang, etc., etc.
http://www.haskell.org/aboutHaskell.html
http://www.md.chalmers.se/~rjmh/Papers/whyfp.pdf
http://www.haskell.org/complex/why_does_haskell_matter.html
"Formal proof isn't testing, testing isn't formal
proof..." ... Proof by test is hard -- you need to
test all conditions, through all branches!
Proof will eventually win.
Optimally, we can use multi-paradigmic programming
languages or paradigms that would compliment
each other at different levels of scale:
e.g. Haskell (through monads), Curry, Mozart,
LISA, etc.
http://www.informatik.uni-kiel.de/~mh/curry/
http://www.mozart-oz.org/
http://lisa.sourceforge.net/
Acceptance tests on the other hand will always be
needed -- we still much prefer to have them done
by the user interacting with the programmer, through
repeated interactions, rather than by automation.
i.e. we _still_ prefer people interactions over
processes and tools, sounds familiar?
- Mike
To Post a message, send it to: scrumdevelopment@eGroups.com
To Unsubscribe, send a blank message to:
scrumdevelopment-unsubscribe@eGroups.com
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/