* Posts by Connor Garvey

53 publicly visible posts • joined 9 Oct 2006

Page:

Nokia N800 internet tablet

Connor Garvey

- Internet - tablet

Maybe the reviewer forgot to read the front of the box. This is not a phone. It shouldn't have been reviewed as such. I'd like to see another writeup focusing on the PDA functions rather than speculation about whether this is a prototype for a phone.

C++ Generic Coding vs. Java Frameworks

Connor Garvey

Complexity

C++ does give programmers many brushes with which to paint whereas more recent languages restrict programmers by limiting them to standard frameworks and coding standards. That's why the C's are losing popularity. In these days, processors are measured in terms of giga and terraflops. Memory is measured in gigabytes. We no longer need to worry about tweaking the low-level implementation of an algorithm to eliminate a few constant time pointer redirections (or something) from a loop. We can keep track of the size of a list even if we never have to read it without fretting about performance loss. We can use dynamically sized arrays and not cry about all of the memory allocation and copying taking place. The cost of customizing algorithms for specific implementations no longer outweighs the development costs. Java, Hibernate, Struts, JSF, etc. have succeeded because they simplify development with negligible impact on performance.

I think the biggest difference is that Java supplies simple, understandable and re-usable code. It's written in plain English so developers don't have to commit hundreds of obscure function names to memory (strcpy, printf, sprintf, strcat, cout, endl).

C+++ could be even easier to use than Java if its creators understand that other people have to understand the language they create. Microsoft learned that lesson when updating VB. No more remembering lame function names (left, right, cint, cstr, lcase, sgn, rnd)!

Connor Garvey

Exception handling and checking

There are two reasons I prefer programming in Java. I'd argue that they are two of the reasons that so many libraries exist for Java. People like the language.

First, Java programmers use English when writing their code. I find no end to the frustration I experience when I have to read C++ code that looks like "obLIU->fnm = infnm;". What do those variables mean? I have to trace back in the code and try to reverse engineer their purpose because some programmer was lazy or thought these short names would make the code simpler. Really, it resulted in less legible, more complex code. Any updates to this type of code are likely to contain errors. The person writing the update may not notice that a variable he needs has already been declared. He just doesn't know it because he can't read it. If someone wants to reuse the code, she'll have to try to decipher the author's confusing names. Most Java programs I've seen look more like "loggedInUser.setFirstName(inputFirstName);". That's easier to read and understand, which results in more updatability reuse-ability.

Enterprise applications are also much simpler to write in Java because of exception checking. I know that if a database error can occur in a section of my code, I'll be notified. If I'm trying to open a file and I forget to handle a permissions error, I'll be told at compile time. Java programmers can be much more comfortable in calling their applications "production ready" because they know they've handled these possibilities.

Page: