I’ll pay you tomorrow, the checks’ in the mail… something something…
and Java is write once, run anywhere.
Just like Cobol.
I’m in the process of writing my second Java library for the same online service, TweetPhoto, in as many weeks.
A task that should be – literally – plug and play.
You know. Because the internet is like the same anywhere and Java is supposed to be, you know, one of the Lingua Franca languages you keep hearing about on the intertubes.
Let me be fair here – it’s not Java that’s the problem.
It’s what implementers consider to be essential Java to be what’s at heart.
Let’s take a simple example: ArrayLists. I’ve used ArrayLists in many, many projects. I expected to use them – and did – on my Android project. No fuss, no muss.
When I went to work on a new Blackberry project… hey, where the hell are the ArrayLists?
No, no, no silly n00b – use Vector instead. OK. Fine. No biggee. Almost as simple as search and replace; I just had to change all my adds to addElements. I’m a big boy developer. I can handle it.
OK. Anything else?
Oh yeah – gotta change my Booleans to booleans… and my parseBooleans? They all become trinary statements (you know – those funny ?: things you never bothered to learn in the K&R white book).
All right, all right. Still not crying in my milk about it.
The next one is a total head scratcher. No Apache HTTP library support?
Really, Blackberry? Really?
And before someone tells me I don’t understand the Blackberry Security model, let me just say this: don’t.
What I don’t understand is why companies make arbitrary decisions about what goes into an SDK and what doesn’t. Don’t give me the canards about memory constraints or battery life. Not a single example I gave above has anything to do with that.
Aside from me being a great big fat crybaby in this post, I am surprised that I AM surprised at running into this type of nonsense on a platform that is designed to do away with exactly this type of nonsense.
Anyway, wiping away my blubbery tears and getting back to work.