Join the DZone community and get the full member experience.Join For Free
This is the first entry in DZone's series that will revisit the top articles of 2011 throughout the month of January 2012.
So… What do Java developers hate?
- Variables are global in scope
- “this” has different meaning based on the invocation type (learn this for your own sake)
- Braces do NOT guarantee scope
- Functions are first class citizens, not classes (avoid classes, you will set yourself up for disappointment)
- Functions are objects, not simply methods to a class
- Variables are dynamically typed objects
- Difficult to debug (use FireFox & Firebug addon)
- Semicolons are optional (bad idea, put them where you want them)
- Functions always return values, a value or “undefined”
- “new” has some specific assumptions, not simply creating an Object
- Cross browser compatibility (use jQuery or GWT to address most issues)
- prototype system – Object.prototoype, object linkage, delegation, hasOwnProperty() method, etc.
- the 4 invocation types: method, function, constructor & apply
- dynamic languages such as groovy, ruby, etc. they share many similarities
- Scope using braces
- Strong typing
Published at DZone with permission of Gordon Dickens , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.