Thursday, March 27, 2008

2 things pissing me off right now

Microsoft, for their persistence in monopolizing (?) document formats, and hounding countries which reject it [1]
And of course its associated allies in the NASSCOM, and the Indian media, who are Microsoft's pet dogs.

China, for all the shit going on in Tibet and for all the human rights violations going on behind closed doors. Boycott the Olympics! ( Hey china? will my blog be blocked now? )

Tuesday, March 25, 2008

Why Java sucks : Highly subjective

Java was the first language I learned properly. I cobbled together stuff in BASIC for a few weeks, but for Java I bought 2 books and programmed a lot of stuff. That was 4 years ago, I was young, not so experienced, and Java was God to me. It was cool, it had GUI libraries, and lots of people used it. And the WORA concept was quite cool to me then.

But since about a year, Java is slowly moving from Cool to Crappy in my dictionary.
Some how the whole thing seems to be a plot to let mediocre programmers take over the world, cobbling together 'stuff' in their spiffy IDEs. ( Yes there is some good software, Azureus is one that I have experience with )

To me the very fact that a language needs an IDE to get any big stuff done is a big turn off.

Tools


Every shitty small task needs a framework. Bloated pieces of shit with so many classes and fancy UML diagrams that it gets boring to even learn them.

And there are so many IDEs and so many addons that I'd probably waste a lot of time finding the perfect tool, before I started coding.

Code Noise


Java programmers seems to have this penchant for Really.Long.Names.In.DeeplyNestedPackages.

Design Patterns seem to be a half-hearted cure for the disease that is Java. I mean how many other languages do you know where people actively use the term Design Pattern. You have these big classes, with big names that basically convert one thing to another. Like AbstractFactoryDecoratorSingleton ??

Then there is the need to type a lot of stuff for something which should be simple. Where other languages have print, Java has System.out.println. I don't care about preserving your heirarchy! I want to print quickly. Where other languages have open("file") Java has


try {
f = new FileReader("./words.txt");
} catch (FileNotFoundException e) {}
BufferedReader in = new BufferedReader(f);


Even C/++ is not that bad. Even assembly is better considering its level

Java also has too many acronyms. JNI, EJB, JEE, AOP, ORM, JDBC, DAO. This again is due to Java's corporate nature. You should have realised by now that I'm quite against corporate programming :). I mean isn't Swing much cooler than SWT/AWT.

Less Code, more on How to Code


Apart from the Code Noise, Java programmers are forever arguing about the (de)merits of Agility, Aspects and Models.

Inflexible


In Java almost everything needs double or triple wrappers and lots of passing around. Supposedly for security, but most probably to prevent lousy programmers from messing something up. There are so many things you can't do. Considering the context that Java aims for, in web services and desktops and games rather than mission critical application, I'd thought that keeping things simple and flexible would be much better. I'm not saying dump the type system, but simplify the APIs, lose the structure, drop the formality. I think Python and Ruby have done this very well. The only bit of humour in Java seems to be 0xCAFEBABE.

Give me duck typing any day.

BEFORE YOU COMMENT, THIS IS SUBJECTIVE, MIND YOUR LANGUAGE. You can call me a egoistic ignorant moron, but not something which would make a profanity filter shudder.

Tuesday, March 18, 2008

the Music that makes me

Music has only recently become a great thing for me. Till age 14, I didn't listen to music. Then for two years I only listened to about 2/3 bands. It was only this year that I really got into music. And the indie scene just captured me, so almost all the bands below are indie rock/pop. I haven't listed all the artists, just my Top 5 and their Top 5 songs. ( Last.fm Profile )



  • Arctic Monkeys - Mardy Bum, Fake Tales of San Francisco, The View from the Afternoon, This House Is A Circus


  • Bloc Party - Helicopter, Uniform, Skeleton, Hunting For Witches, Luno


  • Radiohead - Paranoid Android, Just, Bodysnatchers, Jigsaw Falling Into Place, Street Spirit ( Fade Out )


  • The Arcade Fire - Black Mirror, (Antichrist Television Blues), Neighbourhood #1 ( Tunnels ), The Well and the Lighthouse, Black Wave Bad Vibrations


  • The Strokes - Reptilia, Automatic Stop, You Talk Way Too Much, Alone Together, Take It Or Leave It


I'm free, not, I'm FREE!

The board exams were over yesterday, and I was surprised that it wasn't really as euphoric as I thought it would be. Somehow studying, atleast for some time was pretty cool, writing the exams was fun, it was kind of like being pumped with adrenaline and keeping it in control. And now thats never gonna happen again. Its not like I'm having some huge attack of sentimentality, and of remembering all the cool times in school/college, its just that the relief is not as it should be.

So some guy said "It's more satisfying to want something, than it is when you get it", I can't remember who, so if you can, please comment.

In other news, I've got a couple of long posts lined up which I'll complete if I stop procrastinating ;)

Friday, March 07, 2008

.57142857 way through

Hey the name's KodeClutz, I had to be precise.

4 papers down, 3 to go, after which I'm one step closer to freedom, and quite a major step because all the exams after that are just one day affairs, 4 of them.

In going stupid, I'm thinking of writing a Markdown parser in Factor. The problem isn't Factor, I'm just not that well qualified. But I might just do it.