FOSSLC is a non-profit organization that specializes in technology and know-how to record conferences with excellent quality. Click on the icons below to view great videos from communities we are actively involved with:

 

Top 25 worst programming mistakes

28 Mar in Education, gcc, Programming, Java, Python, Ruby, Web Programming
Printer-friendly version
JavaPythonRuby

Recently I blogged about some great research pertaining to teaching programming. It was particularly interesting since it indicated that the most common way of teaching programming today was likely wrong. Another good article crossed my desk recently that was worth sharing.

When I teach I spend most of my time showing my students good code (and the occasional blunder... I'm human too). I believe it would be valuable to show horrible mistakes and things to avoid as well since they can recognize them and have a better chance of steering clear.

Thus when I saw this article, I felt it was a good start. It discusses Top 25 Most Dangerous Programming Mistakes. Highlights from this list include not validating input, transmitting data in plain text (over an insecure network), and more. I can tell from the list that many of these are web-programming based. I would add not releasing resources properly (memory leaks, file locks, mutexes, etc) to the list. Still, there's enough useful knowledge here for other application developers that it's worth taking a look.

Comments

Why protect against SQL injections

There are people that would like to help separate you from your money.

Great research, or a research finding you liked?

Hi Andrew,Was the paper you mentioned in the first paragraph "great research" based on your training and background conducting and evaluating research of this nature? Do you regularly read research published in this space, and this finding stands out because of its excellence, or are you actually saying something else?

A bit of column A, bit of B, maybe some C too

Thanks for the interest. The shortest answer is that this was a position that ran counter to common industry practice making it stand out.

You're right - teaching and training helps build experience in the lecture hall and workplace. Thus I get a bit of a sense of what works and doesn't. As well, I actively listen to my students to tune and adjust my teaching. This position agreed with a minority of my students who's message could easily be mistaken for asking to be "spoon fed". The notion that this technique could be *more* effective than the more traditional approach was something to think about.

My thesis work is in a related area thus I am basting a bit in the research during the hours between midnight and 2am. :-) And of course FOSSLC itself is an educational resource teaching technical skills with open source technologies thus making this very relevant.

In case you're interested, read my original blog about that research.