|Below is my attempt at humor for the answer, but here are some links to more solid information:
Why I program based on "The Joy of the Craft" from p. 7 of The Mythical Man-Month, Frederick P. Brooks, Jr.
- The joy of creating things
- The pleasure of making things that are useful to others
- Fascination of fashioning complex puzzle-like objects
- Joy of learning
- The delight of a tactable medium
Why I program in Ada based on "The Woes of the Craft" from p. 8 of The Mythical Man-Month, Frederick P. Brooks, Jr.
- One must perform perfectly - Ada was human designed to avoid human error
- Dependence on others - Ada's use of packages specs leads to better documentation and specification of behavior
- Designing grand concepts is fun; finding nity little bugs is just work - Ada provides standard packages and the language has advanced concepts like tasking and protected types built in.
- Debugging has a linear convergence, so testing drags on and on - Ada's strong typing and language design helps to insure that if it compiles, it will run.
- The product you are working on now is obsolete upon completion - Ada's ability to interface to other languages and its remarkable ability to make reuse reality insure that today's efforts are tomorrow's stepping stones.