Re: Java or C++ College Path

On Tue, 29 Aug 2006 09:26:50 -0700, bugnthecode wrote:

I've decided on a Comp Science Programming major in college, and at the
community college I go to you must pick a language concentration. The 3
options are Visual Basic, Java, or C++. To me, Visual Basic doesn't
seem the way to go, (though I've never done any actual programming in
it) so I'm trying to decide between Java and C++.

I've done some programming in both languages. I've probably gone a
little further int the java programming, but lately I've been learning
C++ to develop an app that can interface more easily to my hardware
(serial port com. and driver interfacing). So far I really don't have a
preference to which language, they both seem to have their headaches.

I know that each language is better used for it's intended purpose
(choosing the right tool for the job). But I think this decision comes
down to programmer marketability. Which language will be more

So what's your take? Which concentration would you recommend and why?

Thanks for your input,

I'd totally drop most of C++; it is a messy, nasty and "evil" language.
Stick with Java or something higher than C++ where you can, and use plain
C where absolutely needed. And optimize last - this does not always
automatically mean "rewrite performance-critical parts in C"; because
sometimes C is slower!

Almost all high-level languages can speak with C. Take a look at JNI since
you already know Java. When you need to interface with hardware, this is
usually done via C also (JNI again) - since most OS's are written in C.

...this is a win-win situation; you get a high-level language without
loosing access to the low-level parts of OS/hardware..

Java - or high-level languages in general - are excellent for some jobs, C
(low-level) is excellent for other jobs. C++ is trying to be both Java, C
and a bunch of other things at the same time; it fails miserably at this
of course.

If you do go with C++; use it minimalistically and note that you cannot
use most of the "advanced" features (not really that advanced) in C++ and
get access to what you write (libraries) from other languages.

Oh, and just ignore "Template Meta Programming" (a C++ thing) - it is a
dead end. If you go there; you should have switched to a higher level
language a long time ago.

If you're looking for what is needed job-wise - well, I'd do a quick
job-search and see what's out there. No harm in knowing both Java and C++;
but maybe pick the one that is most needed if you need to pick one to
focus on now.


Lars Rune Nøstdal