Women in Technology

Hear us Roar



Article:
  What I Hate About Your Programming Language
Subject:   Java
Date:   2003-05-14 02:05:43
From:   anonymous2
Java does not support operator overloading so neither does the String class. What happens is that the compiler automatically creates a StringBuffer class for you and appends() various stuff together. It was designed to make life easier for the programmer. Do everythign by hand if you want - it won't make a difference.
It's exception handling tediousness is necessary to ensure the security of the language. Take it or leave it.
I agree about the library issues. I have multiple versions lying around, from 1.1 to 1.4 and also the microedition version. It sucks to have to change the classpath each time i want to compile something.
Main Topics Oldest First

Showing messages 1 through 2 of 2.

  • Java
    2003-05-14 09:47:11  anonymous2 [View]

    Actually Java programs cannot be made exception-safe: the runtime can throw a RuntimeException at any time it sees necessary; no matter how many try-catch's you put on your code, it will break badly... (even if you start catching RuntimeExceptions in your code, it will be moot, either it finally reaches toplevel or you have to kill the program... why did the runtime excepted? it's not worth the trouble, an it makes the code extremely verbose, entangled and filled with distracting noise... You catch where you need to, no more (Python, for example, manages this much better, you only have to be aware of it).

    best regards,
  • Java
    2003-05-14 02:11:44  anonymous2 [View]

    The unwieldy syntax for getters and setters! Sun could learn much from the simple syntax of Delphi properties.

    Ditto for the lack of enumerations. JDK1.5 introduces these, but lets us set the value of each (Like c++). So no chance of introducing Sets to the language later (Enums must be zero based to allow efficient set implementation) - Again, learn from Delphi!