Wednesday, August 15, 2012

My ideas are being implemented in Java

in year 2007, I was banned from the Java forum because I was asking why Java lacks some stuff. Java forum is controlled by Java bigots who defended their language as it is by all means (by false and dirty manipulations). For instance, they told that java File has one getExtension method because extensions are MS-DOS FAT32 feature and must not be on the multiplatrorm Java. My proof links, showing that Linux makes use of them also were ignored. I was just stupid to not undrestand that this is a MS filesystem feature. I was so dumb that could see that Java itself uses .class extension in class loader.

I argued for functions as first-class citizens. The bigots told me that this will never happen. It is proud to see that all these features get implemented in Scala and Java 8.

Finally, everybody accepts that Enterprise Java is sux now. Only me, a green developer asked what the fuck it is on the Java forum those days.

Odersky even introduced worksheets to make all necessary work in the religiously forbidden context - in the static initializers - and speaks about macros, which are evil in the java world. It was clearly explained to me when I explained what they enable, what you cannot do with simple functions.

I also argued that resolving the interface conflicts (when you implement a method defined in several superinterfaces) should use the Delphi-like confilct-resolution mechanism, when you specify the interface name, like InterfaceA.method() if you also have InterfaceB.method. Currently Java allows only one implementation. which sucks because confilcts are quite probable, e.g. getName method is quite popular and designer of one interface must not take care of all possible conflicts with infinity of other interfaces. User must be able to get a different result when asks the same object its name through different interfaces.

And certainly, super must not be the first statement of constructor!

No comments: