[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Problems in Java (was Re: the benefits of immutability)



Vadim Nasardinov <el-vadimo@comcast.net> writes:

> Joe Marshall wrote:
> 
>  > How about:
>  >     1.  No syntactic abstraction (macros)
>  >     2.  No multiple inheritence
>  >     3.  Single dispatch
>  >     4.  C-like syntax
>  >     5.  Verbosity
>  >     6.  Expressions and statements that are not interchangable
>  >     7.  In general, no tail recursion.
>  >     8.  Dichotomy between primitive types and class types
>  >     9.  No MOP
> 
> Before I forget,
> 
>    10. No operator overloading.
>    11. Broken numeric tower. (this one is due to P.E.M., posted in
>          a separate subthread).  Could probably be alleviated, if we
>          had 10.

I find the fact that integers silently overflow particularly
annoying. That's one of the things that is very hard to fix
efficiently without doing it in the compiler/run time. Supposedly Java
is a safe language, and yet it allows this!

I'd also explicitly list the lack of higher order functions in the set
of defects.

Another defect: "one public class per source file!". I find being
forced to structure my code to make the linker's job easier rather
than making it easier for people to read my code very annoying indeed.

Also, the normal i/o library is really awful, although I understand
the new "nio" library is better.

-- 
Perry E. Metzger		perry@piermont.com