I would like to add to the discussion here In fact there arent many badly constructed languages at all I know none and Ive programmed in many What one can say is the lower the languages closer to the machine language the more stress is put on the knowledge of the developer to create a good working program You need to know your languages dos and donts Take for instance the difference between C and Java Although they both are Modern Languages C still can cause buffer over and underruns while this is pretty difficult to achieve in Java Although memory leaks still can appear in Java this is probably one of the major flaws in C Programs Its not the language thats bad but the code thats written in them