inicio mail me! sindicaci;ón

Quote of the month

From project.ioni.st:

The power of static typing. 294 pages on how to use Arrays.

…about the new “Java Generics and Collections” book

Common Lisp’s quote

Directly from Practical Common Lisp:

DOLIST is similar to Perl’s foreach or Python’s for. Java added a similar kind of loop construct with the “enhanced” for loop in Java 1.5, as part of JSR-201. Notice what a difference macros make. A Lisp programmer who notices a common pattern in their code can write a macro to give themselves a source-level abstraction of that pattern. A Java programmer who notices the same pattern has to convince Sun that this particular abstraction is worth adding to the language. Then Sun has to publish a JSR and convene an industry-wide “expert group” to hash everything out. That process–according to Sun–takes an average of 18 months. After that, the compiler writers all have to go upgrade their compilers to support the new feature. And even once the Java programmer’s favorite compiler supports the new version of Java, they probably still can’t use the new feature until they’re allowed to break source compatibility with older versions of Java. So an annoyance that Common Lisp programmers can resolve for themselves within five minutes plagues Java programmers for years.

Java go on!

I don’t know what to think about somebody who really likes Java because this really odd:

[code lang="java"] int[] arr = (int []) arr.clone(); [/code]

arr is declared as a int []. VERY UGLY. That’s an hack.

Java 5 seems a bit smarter and it doesn’t require the cast.

I used Java 5 while developing but I realized it has to run on top of Java 1.4 so here it is :-)

Gotta convince people in universities to let go of Java. :-)

Java sucks for me

It can’t be that it’s going to take more time translating Python code to Java than the time to code the algorithm in Python first.

I started converting the algorithm contained in a public method with two arrays of char as arguments but when I decided to switch to java.lang.String it occured me that I had to change a lot of things on the inside (first absurd thing):

  • All this enforced types thing sucks. I know templates are there now in Java but they don’t really  resolve the problem of genericness and also I don’t have Java 1.5 at school, so forget them.
  • It’s not kinda possible that arrays have a “length” public member and String(s) have a method. This is inconsistency of a language. And to me sucks.
  • I find really awkward the thing that with arrays I can use “arr[i]” indexing notation but String items have to accessed with “charAt”. This really sucks
  • It’s not possible that a 2006 language carries on with a stupid problem such as the coupling of classes and name of files. It sucks to have to remember to change the name of the classes or change the name of the file. Shame on you Java.
  • Staticness and compilation separated from execution it’s really boring.
  • Last but not least. What’s wrong with you Java-guys loving so much this everything-boxed-in-a-class thing? I want classes when I need classes. No way I’m going back to the Java world domination front. Python is a freedom language. No fuss.

So Java really sucks to me now. I love freedom languages. I want to be free to concentrate on what I have to write in my Emacs not how to write it or counting the semi-colons or the braces. No no no. Really thank you Guido for coming up with this lovely language.