What are five things you hate about your favorite language? [closed]
Solution 1:
Wow, I'm surprised that SQL hasn't made it up here yet. Guess that means nobody loves it :)
- Inconsistent syntax across implementations
- Subtle code differences can have massive performance ramifications for seemingly obscure reasons
- Poor support for text manipulation
- Easy cost of entry but steep learning curve towards mastering the language
- Minimal standardization across the community for best practices, this includes syntax style.
...And a few bonus reasons to hate it, at no extra charge
- the WHERE clause goes last, making it easy to prematurely execute an UPDATE or DELETE, destroying the whole table. Instead, the WHERE should go somewhere up front.
- It's difficult to implement relational division.
- I can set a value to NULL, but I can't test it for equality with NULL. I can check IS NULL, but that just complicates code -- needlessly so, in my opinion.
- Why do we need to completely respecify the formula for a GROUPed column, rather than setting an alias on the column and then GROUP BY the alias (or column index as with SORT)?
Solution 2:
Five things I hate about Java:
- No first-class functions.
- No type inference.
- Lack of sane defaults in eg graphics.
- NullPointerException not containing more information about what is null.
- The proliferation of pointlessly "configurable" frameworks/service provider interfaces/factory classes/dependency injection systems. The configurability is almost never used, DRY is violated egregiously, and code quadruples in size and halves in legibility.
I know, I should check out Scala.