The Thing That Should Not Be
Feb. 11th, 2005 07:01 pmHaving now been using Java for 2 weeks I feel categorically able to make two definitive statements about terrible, terrible design decisions.
1) Case Sensitivity is a really stupid idea. When you're trying to debug your code the last thing you want to be doing is trying to spot which bit of a name you've miscapitalised. There's just no need for it any more - it's obviously a hangover from the days when the extra step of converting everything to the same case during compilation would have been an overload. Nowdays having to remember that MyPatternMatcher and myPatternMatcher aren't the same is just silly. Oh, and the fucking capitalisation of the built-in libraries, where everything starts with a lower-case character, but then has upper case characters for all following words (i.e. myList.getNextListEntry) is just plain fucked up - either words should start with a capital letter, or they bloody well shouldn't.
2) Zero Based Counting are just positively counterintuitive. I mean, yes, if you start counting at 1 then you might waste a teeny amount of storage, but it prevents the silliness that happens when you retrieve an array size and then access the contents of the entries up to _one less than that number_. Imagine trying to do this anywhere in life except in a computer program? Wait - we do! The British insist that there is a ground floor and _then_ a first floor, and look how stupidly confusing that is to everyone else. Again - back in the olden days this might have been acceptable, but it makes things actively less readable and is therefore BAD.
Thankfully it does have iterators, so I can live with that. And the latest version even has a ForEach statement, which is positively modern and useful.
1) Case Sensitivity is a really stupid idea. When you're trying to debug your code the last thing you want to be doing is trying to spot which bit of a name you've miscapitalised. There's just no need for it any more - it's obviously a hangover from the days when the extra step of converting everything to the same case during compilation would have been an overload. Nowdays having to remember that MyPatternMatcher and myPatternMatcher aren't the same is just silly. Oh, and the fucking capitalisation of the built-in libraries, where everything starts with a lower-case character, but then has upper case characters for all following words (i.e. myList.getNextListEntry) is just plain fucked up - either words should start with a capital letter, or they bloody well shouldn't.
2) Zero Based Counting are just positively counterintuitive. I mean, yes, if you start counting at 1 then you might waste a teeny amount of storage, but it prevents the silliness that happens when you retrieve an array size and then access the contents of the entries up to _one less than that number_. Imagine trying to do this anywhere in life except in a computer program? Wait - we do! The British insist that there is a ground floor and _then_ a first floor, and look how stupidly confusing that is to everyone else. Again - back in the olden days this might have been acceptable, but it makes things actively less readable and is therefore BAD.
Thankfully it does have iterators, so I can live with that. And the latest version even has a ForEach statement, which is positively modern and useful.
no subject
Date: 2005-02-12 05:00 am (UTC)http://www.ceejbot.com/blog/space/start/2005-02-11/5#Stamp_out_Java_now