To avoid arguments among different programming languages, this ranking only covers the opinions from programmers with multi-language experience. Also it doesn't mean the language is not good if the language is on the list, it just means those developers don't like some features of the language.
Below ranking is summarized from Quoraã€Stack Overflow and Hacker News.
10. Python
Reason : It uses code indent to define block level scope, why not use curly braces? It also uses massive colons and underscores.
How to avoid : Don't work at Google, Yahoo or NASA
9. LabVIEW
LabVIEW was invented by NI, it's similar to C and BASIC.
Reason : LabVIEW is very abstract so that it complicates the simple problems. This violates its initial purpose.
How to avoid : Stay away from instrument control or automation industry
8. JavaScript
Reason : It needs different implementations in different browsers, it lacks debug capability as well and has weird inheritance rules.
How to avoid : Don't be a web developer
7. Tcl
Tcl is a scripting language, it was called Tool command language initially, but now it has a different meaning. This languages was created by John Ousterhout.
Reason : The syntax is too simple, lack of pointers, cannot pass by reference. It also has mess variable scope.
How to avoid : Don't work at Cisco, AOL or CNET or companies with AOLserver or OpenACS platform
6. COBOL
Reason : Tedious syntax; incompatible among different versions; lack of features such as OOP, function and pouinters
How to avoid : Don't work at government, financial industry or military
5. C++
Reason : Huge function library; need to manually manage memory; slow compilation. It also allows both OOP and procedure oriented design
How to avoid : Don't work at Apple, Google or Game industry
4. PHP
Reason : Name convention issue with the functions in the library; security defects; no native Unicode support.
How to avoid : It's really hard to avoid using PHP if you do web development. For a beginner, you may choose not work at Facebook and stay away from Wikimedia, Wordpress, Joomla and Drupal
3. Java
Reason : Tedious syntax; slow; hard to pass method as parameter; API is over designed
How to avoid : Don't be a programmer
2. Perl
Reason : There are many methods to complete one single task so it's very difficult for you to understand codes written by others.
How to avoid : Don't be a programmer. (Really?)
1. Visual Basic
Reason : Tedious syntax. Needs dynamic libraries to run its code limited support of OOP. In fact, Microsoft doesn't provide official support for VB since 1998
How to avoid : Avoid working at companies developing old Windows applications
Source : http://www.iteye.com/news/28335
is there any language you dint find defective :)