Java or C++

geekybear

Senior member
Oct 4, 2001
283
0
0

Which language is more widely used, Java or C++? Actually, what I'm really wondering with this question is that who has a better chance of getting a job, the C++ programmer or the Java programmer? Is the job market more favorable to one than the other?
 

singh

Golden Member
Jul 5, 2001
1,449
0
0
C++ is more widely used than JAVA. I am not qualified to comment on the job market, but I imagine if you are good with either, you can probably find a job easily. However, I would say that there are more jobs out there for C++.
 

iotone

Senior member
Dec 1, 2000
946
0
0
the way i see it, they're both good languages to know... i mean, if you know one, you can program in the other (given a few days of working out the syntax kinks)...

it seems tho that C++ is the language a majority of programs out there are written in... moreso than java i mean...

but then again, i don't know how the job market looks, i'm still schoolin' it (in java =/ )
 

Descartes

Lifer
Oct 10, 1999
13,968
2
0
I'd say that you'd have more opportunities with Java, for this reason...

Java implicitly references the architectural paradim that is J2EE. If you're a Java programmer, chances are you're more along the lines of an architect instead of just a coder, whereas it's not uncommon to see a C++ programmer who knows only C++ and does little actual design. Architecting distributed systems is generally valued more than those who simply "hack it out".

 

joohang

Lifer
Oct 22, 2000
12,340
1
0
Pick up either language and focus more on studying the bigger picture. Get a strong grasp of OOP and the Best Practices for the type of programming industry you plan to work on. If you are interested in enterprise development, look into J2EE or WinDNA/.NET architecture. Understanding of good project management and team-oriented skills will be a more and more desired asset in the coming years also. Look into Microsoft Solutions Framework, Extreme Programming, Rational Unified Process, etc. Also get some understanding of the Unified Modeling Language.
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
C++ if you want to write client / desktop software, OS / tools or low-level / embedded (PDA, other devices).

Java for unix/linux server components and rare web-delivered client stuff like mini-games (popcap.com) and text editors for server content.

C# or VB.NET for many corporate in-house developer jobs in a year or two.
 

geekybear

Senior member
Oct 4, 2001
283
0
0
so there's no reason to be pissed that my university is switching curriculum from C++ to Java, i take it
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
Originally posted by: Descartes
I'd say that you'd have more opportunities with Java, for this reason...

Java implicitly references the architectural paradim that is J2EE. If you're a Java programmer, chances are you're more along the lines of an architect instead of just a coder, whereas it's not uncommon to see a C++ programmer who knows only C++ and does little actual design. Architecting distributed systems is generally valued more than those who simply "hack it out".
On the server, yes. On the desktop -- not a chance. Almost 100% of all off-the-shelf applications you can buy are C/C++, the rest are VB6. Many C++ people don't get to do design work simply because there are so many more C++ jobs, especially jobs in larger projects where not everyone gets to do design.

But is it better to fight for one of 100 java jobs or one of 1,000 C++ jobs with only 200 of them offering the chance to be a designer?
 

Sir Fredrick

Guest
Oct 14, 1999
4,375
0
0
The job market is flooded with Java and C++ coders. There are way more coders than there are job opportunities for coding in those languages.

My suggestion would be to learn C++ AND a more obscure (but not dead) language which less people know. To find out what that language might be, spend some time on monsterjobs or dice or one of those, see what employers are looking for. You'll almost never see one just looking for a C++ programmer.
 

Descartes

Lifer
Oct 10, 1999
13,968
2
0
On the server, yes. On the desktop -- not a chance.

I should have further qualitied my statements to say enterprise developers, not developers who are shipping product.

Almost 100% of all off-the-shelf applications you can buy are C/C++, the rest are VB6.

I agree w/ that.

Many C++ people don't get to do design work simply because there are so many more C++ jobs, especially jobs in larger projects where not everyone gets to do design

Perhaps in some cases, but in my experience, they're simply not qualified where the Java programmer is immersed in broad architectural topics like J2EE from the start (in most cases). I'm not at all saying that C++ programmers are incapable, I'm simply saying that when you look at what platforms are employed for distributed architectures, J2EE is definitely a primary.

But is it better to fight for one of 100 java jobs or one of 1,000 C++ jobs with only 200 of them offering the chance to be a designer?

I see a lot more jobs for Java than I do C++ in my area.
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
Originally posted by: geekybear
so there's no reason to be pissed that my university is switching curriculum from C++ to Java, i take it
Unless you're sure you only want to do unix server programming, I'd recommend that you still also learn C++ while in college.

It's actually very good to learn at least 2-3 languages so you don't get trapped in the mindset of a langauge bigot (X is the one true language! Worship it!). Chances are in the real world you'll work with more than one and/or need to work with other developers using different languages, for example you might be writing a C++ or Java component called from an ASP or Perl script page.

I spend most days at work writing C++/MFC windows code, but also a little Perl and ASP. And for some consulting work I've used VB6. Oh, and some InstallShield scripting too
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
Originally posted by: Descartes
On the server, yes. On the desktop -- not a chance.

I should have further qualitied my statements to say enterprise developers, not developers who are shipping product.

Many C++ people don't get to do design work simply because there are so many more C++ jobs, especially jobs in larger projects where not everyone gets to do design

Perhaps in some cases, but in my experience, they're simply not qualified where the Java programmer is immersed in broad architectural topics like J2EE from the start (in most cases). I'm not at all saying that C++ programmers are incapable, I'm simply saying that when you look at what platforms are employed for distributed architectures, J2EE is definitely a primary.
I see a lot more jobs for Java than I do C++ in my area.
And I'll agree with you that java / J2EE is currently the most used platform for entrprise / transaction / database systems, not just for webserver components as I might have implied. If you want to work on the big data-flow systems java is a good primary language (but you'll also need a strong database background).

If you want to create desktop apps, C++. For desktop GUI/front ends to the enterprise apps, probably VB6 and VB.NET.

 

charrison

Lifer
Oct 13, 1999
17,033
1
81
Originally posted by: geekybear
so there's no reason to be pissed that my university is switching curriculum from C++ to Java, i take it


Only if you think you will never have the need to write system code, device drivers, or high perfomance OO code. Or never have the need for pointers or any of the other powerful features that C++ has to offer.


You should learn c++ before learning java.
 

Sir Fredrick

Guest
Oct 14, 1999
4,375
0
0
Originally posted by: charrison
Originally posted by: geekybear
so there's no reason to be pissed that my university is switching curriculum from C++ to Java, i take it


Only if you think you will never have the need to write system code, device drivers, or high perfomance OO code. Or never have the need for pointers or any of the other powerful features that C++ has to offer.


You should learn c++ before learning java.

heh. the power of C++ is both good and bad.
C++ is like a loaded gun with lots of buttons on it and barrels pointing in all directions. Push the wrong button and you might shoot yourself in the foot, or the face.
Most of these "barrels" are related to pointers and arrays. Java protects you from most of these issues, but at a cost. Performance.

I think both languages are worthwhile, though I would place more of an emphasis on C++, personally. Although the C++ taught in a lot of classes is the least useful, unless you have a really good data structures class.
 

hans007

Lifer
Feb 1, 2000
20,212
18
81
Originally posted by: Sir Fredrick
Originally posted by: charrison
Originally posted by: geekybear
so there's no reason to be pissed that my university is switching curriculum from C++ to Java, i take it


Only if you think you will never have the need to write system code, device drivers, or high perfomance OO code. Or never have the need for pointers or any of the other powerful features that C++ has to offer.


You should learn c++ before learning java.

heh. the power of C++ is both good and bad.
C++ is like a loaded gun with lots of buttons on it and barrels pointing in all directions. Push the wrong button and you might shoot yourself in the foot, or the face.
Most of these "barrels" are related to pointers and arrays. Java protects you from most of these issues, but at a cost. Performance.

I think both languages are worthwhile, though I would place more of an emphasis on C++, personally. Although the C++ taught in a lot of classes is the least useful, unless you have a really good data structures class.

i think if you arent a complete idiot, you can protect yourself. JAVA is really really slow, no pointers sucks (i love pointers they are my friends). i'd learn both anyways (i have learned both) just because they are both gonna be usefu..

btw the software engineering type market is sucking right now, but it wont stay like this forever so i'm not worrying about it.
 

xirtam

Diamond Member
Aug 25, 2001
4,693
0
0
I'm interning for a company using java. I'm liking it more than I thought I would... it's really not as "slow" as I thought it'd be.

All hail the power of polymorphism and inheritance.

 

charrison

Lifer
Oct 13, 1999
17,033
1
81
C++ is like a loaded gun with lots of buttons on it and barrels pointing in all directions. Push the wrong button and you might shoot yourself in the foot, or the face. Most of these "barrels" are related to pointers and arrays. Java protects you from most of these issues, but at a cost. Performance.


Java does not protect from out of bound array indexes.
Java hides pointers from you, this in my opinion is a bad thing. Yes it was done as a security feature.
Java's implementation(ie interpreted) makes it slow, not its "protections".
 

Sir Fredrick

Guest
Oct 14, 1999
4,375
0
0
Originally posted by: charrison
C++ is like a loaded gun with lots of buttons on it and barrels pointing in all directions. Push the wrong button and you might shoot yourself in the foot, or the face. Most of these "barrels" are related to pointers and arrays. Java protects you from most of these issues, but at a cost. Performance.


Java does not protect from out of bound array indexes.
Java hides pointers from you, this in my opinion is a bad thing. Yes it was done as a security feature.
Java's implementation(ie interpreted) makes it slow, not its "protections".

That's why I said "most."
You are correct that the interpretation makes it slow, but the lack of pointers makes it less powerful and potentially slower as well. Garbage collection also makes the performance less predictable, although there are ways around that.
 

Sir Fredrick

Guest
Oct 14, 1999
4,375
0
0
Originally posted by: xirtam
I'm interning for a company using java. I'm liking it more than I thought I would... it's really not as "slow" as I thought it'd be.

All hail the power of polymorphism and inheritance.


Inheritance is a good thing. It can be utilized in C++ as well.
 

charrison

Lifer
Oct 13, 1999
17,033
1
81
Originally posted by: Sir Fredrick
Originally posted by: charrison
C++ is like a loaded gun with lots of buttons on it and barrels pointing in all directions. Push the wrong button and you might shoot yourself in the foot, or the face. Most of these "barrels" are related to pointers and arrays. Java protects you from most of these issues, but at a cost. Performance.


Java does not protect from out of bound array indexes.
Java hides pointers from you, this in my opinion is a bad thing. Yes it was done as a security feature.
Java's implementation(ie interpreted) makes it slow, not its "protections".

That's why I said "most."


I dont know how else you can screw up a normal other than give it a bad index. Maybe you are talking about dynamically sized arrays?


 

manly

Lifer
Jan 25, 2000
12,929
3,700
136
Originally posted by: charrison

Java does not protect from out of bound array indexes.
All Java array accesses are bounds checked. If an invalid index is used, it's the programmer's job to handle the error.
Java hides pointers from you, this in my opinion is a bad thing. Yes it was done as a security feature.
Why exactly is this a "bad" thing?
Java's implementation(ie interpreted) makes it slow, not its "protections".
Java JIT compilers have been around for a long time. Many credible benchmarks show that JVM execution for common instructions is within the same ballpark as native C++ runtimes. In other words, 90% of the time, Java runtime performance is more than good enough.
 

charrison

Lifer
Oct 13, 1999
17,033
1
81
Originally posted by: manly
Originally posted by: charrison

Java does not protect from out of bound array indexes.
All Java array accesses are bounds checked. If an invalid index is used, it's the programmer's job to handle the error.

Yes but still does not keep the programmer from making a stupid off by 1 statement. Untrapped it crashes just the same.



Java hides pointers from you, this in my opinion is a bad thing. Yes it was done as a security feature.
Why exactly is this a "bad" thing?

Loss of a powerfull feature. Classic tradeoff.

Java's implementation(ie interpreted) makes it slow, not its "protections".
Java JIT compilers have been around for a long time. Many credible benchmarks show that JVM execution for common instructions is within the same ballpark as native C++ runtimes. In other words, 90% of the time, Java runtime performance is more than good enough.

C++ is almost always faster. C++ has a significant advantage in memory footprint as it does not have run another OS ontop of the native OS to run a single app.

 

AznMaverick

Platinum Member
Apr 4, 2001
2,776
0
0
i have a book "Learn Visual C++ 6.0 Now". should i use thisbook to learn visual C++? is there a difference between visual C++ and C++? i also have a semester's experience with C.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |