[Tutor] languages

Jeff Shannon jeff@ccvcorp.com
Mon Jun 16 20:50:01 2003


Vernon Miller wrote:

> I learned this past week, that since I am disabled the state rehab 
> service will pay for me to learn a computer language. The school that 
> they normally deal with teaches;
>  
> Java
> Visual Basic Net
> Basic
> Cobol
> Visual C++
> A+  ;
> I know almost nothing about any of them, so I would appreciate it if 
> you all would give me some advice on which would be better. I am 
> personally leaning towards either C++ or Basic. Help me if you can.


Personally, I'm inclined to think that Python will serve you better than 
any of these... however, the more languages one learns, the better of a 
programmer one can be.  Since you're able to get training for free, it 
shouldn't hurt to take advantage of the opportunity.  (Provided, of 
course, that you take it with a grain of salt when your instructor tells 
you that things *must* be done one way even though Python does things 
differently... ;) )

As for what course would be best for you, that depends.  Are these 
certification courses?  In that case, A+ probably doesn't indicate a 
programming language; it (presumably) indicates a course to help you 
achieve the A+ Computer Technician certificate.  This certificate 
indicates a base competency as a hardware/software technician -- pretty 
much, basic computer and network maintenance.  Unless you really enjoy 
tinkering with hardware and/or want to work in the back room of a 
computer store, I wouldn't recommend this -- if you want to be a 
programmer, your time will be better spent elsewhere, and from what I 
can see, this certification isn't going to do much to get you a job.  

For the others, Visual Basic and Cobol are very widely-used in business 
circles, but don't get a lot of respect.  They tend to be the language 
of choice for business-driven programming in the corporate-mindset mold. 
 If you want to write accounting software for big corporations, Cobol is 
the way to go.  VB is a bit more flexible, but it's still more of a 
businessperson's programming language than a programmer's programming 
language.  Non-VB Basic is probably not a good choice -- it has all the 
downsides of Basic (sloppy syntax, etc) without the business-endorsed 
popularity of VB.  Non-VB Basic dialects seem, these days, to only exist 
as scripting languages within large applications (and many of those are 
moving towards VB compliance).  Of course, I speak this as someone who 
does half his coding in a proprietary (and horribly obsolete) version of 
Basic...

That leaves Java and C++.  Both of these are industry-standard 
languages, and both have a lot of potential to teach you a lot about 
some of the details of programming -- though a lot of what you learn may 
well be "This is so much simpler in Python..." ;)  Still, they'll open 
your eyes to some of what's going on behind the scenes in Python, which 
has the potential to greatly improve your programming talents in *any* 
language.  The choice between the two probably depends on just what 
directions you want to go with your programming knowledge.  Java is 
still primarily used for Internet/intranet programming, and probably 
will remain so for some time to come.  C++ is more powerful and tends to 
be used for a broader range of projects -- but it's also big, and 
complex, and makes it very easy for you to shoot yourself in the foot.  

If *I* were in your shoes, then of the listed options, I'd be most 
likely to choose C++, but that does reflect my own desires for what I 
want to do with my programming knowledge.  I'm all in favor of using 
Python for high-level stuff (i.e., about 95-99% of the time), but it's 
good to know C/C++ for those times when low-level coding is needed -- no 
other widely-used language gives you the fine-grained control that C/C++ 
does.

Jeff Shannon
Technician/Programmer
Credit International