View Single Post
Old Sep 7th, 2005, 11:52 AM   #5
Ooble
I eat cake for breakfast.
 
Ooble's Avatar
 
Join Date: Jul 2004
Location: In my box.
Posts: 4,434
Rep Power: 9 Ooble is on a distinguished road
Alright, this looks like fun.

1. What kind of programming do you do?
I write software. When I can be arsed. Recently I've been working on database-driven websites - they're a lot easier, and they pay.

2. How do you ensure that your program/algorithm is correct?
Same as everyone else. I do my best to try and break it. Then I give it to a mate and tell him to do the same thing. Then I give it to the user and tell them to email me if they find any errors. I always get the bug fixed the same day.

3. To what degree do you ensure that your program/algorithm is correct?
I spend a good hour or three trying to bugger the bastard.

4. Please give an example (or more than one example!) where a program or algorithm you wrote was not fully correct.
I can't think of one right now, so here's some filler. Last year my computing class project was a stock database system for a turkey farmer. I wrote the database myself. When I finished it, I decided it sucked and rewrote it. And then did it again. If something's not perfect, it should be.

5. Please give some reasons why program correctness is very important in your field.
I don't get paid if it's broken.

6. What advice do you offer to a student who is thinking about going into your field, as far as program correctness is concerned?
Most of your time will be spent fixing bugs. It's no biggie - it's actually quite fun if you look at it the right way.

7. How can someone in your field prevent program errors while he/she is still in the process of designing his/her algorithm?
As Piz said, comment the hell out of your code. Structure it so it's easy to read. Plan it first - that's why my project database (mentioned earlier) needed rewrites. Every now and again, read through your code, looking for obvious bugs. If you ever find a bug, make a note of what you were doing, drop everything, and fix it.

8. Do you do any collaboration in writing software or algorithms? If so, how do you prevent errors and ensure program correctness when working in a team?
I worked in a team of three writing one site (biggest job I've ever done). If something broke and it wasn't my fault, I bitched at the guy responsible until he fixed it and made sure it never happened again. If it was my fault, I would dive straight into the code and blast the sucker.

9. Any other comments/case studies/stories you may have are greatly appreciated!
Led Zeppelin rock. Oh, and so do these forums. Stick around, and you'll learn loads. I know I have.
__________________
Me :: You :: Them
Ooble is offline   Reply With Quote