[geeks] Java as a first language

Robert Brooke Gravitt gravitt at gmail.com
Fri Nov 10 20:46:04 CST 2006


On Nov 10, 2006, at 3:33 PM, Jonathan C. Patschke wrote:

> I suppose it depends on what your goal is.  If you want to play around
> with the computer and build neat stuff, find a language with a high
> enough degree of instant-reward that you don't get bored with it.   
> Find
> a copy of Visual BASIC 6, or start learning Perl or PHP.  If you  
> decide
> you want a challenge afterwards, move on to C or Java.

Please. I second this. The world does not need YABJP [0].

I've been involved in several different kinds of development, from  
writing the device drivers for a PCMCIA USB HBA to several C/C++  
billing systems for major telecoms, and many, many, many J2EE gigs.

The worst, and I mean WORST programmers seem to evenly divided  
between Visual Basic "developers" and Java developers. Some concepts  
used in OO development (orthogonality, data abstraction,  
polymorphism, etc) seem to be lost on them, and memory management is  
lost ESPECIALLY on the Java side. GC is like magic to them. We have  
to recycle apps daily because some geniuses can't figure out how to  
manage their damn objects.

Learning to deal with malloc() and dealloc() will take you far.  
Memory management & confusing procedural -vs- OOP are my top two pet  
peeves when doing code reviews. That, and meaningless variable names.  
We actually got this from a bug sent offshore to be fixed:

StringBuffer shiva = new StringBuffer(vishnu.toString());

I know who these two are from comparative religion class,  but how  
the hell am I supposed to know what this variable is used for?

I picked up Obj-C quickly, but then I already knew C pretty well.  
Java is easy if you understand OOP.

But, to agree with most of the people's comments, I feel that  
understanding the concepts & design principles are more important  
than which language you pick to start with. I began with Basic &  
Pascal.  We actually have a butt-load of COBOL sitting around at $ 
{WORK}, and I'd NEVER thought I'd see that outside of school.

I think Perl is a good place to start.

--Brooke

[0] Yet Another Bad Java Programmer



More information about the geeks mailing list