File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Ranch Office and the fly likes What programming experience  is needed? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » This Site » Ranch Office
Bookmark "What programming experience  is needed?" Watch "What programming experience  is needed?" New topic

What programming experience is needed?

Derron Rose

Joined: Mar 16, 2002
Posts: 4
Hi everybody,
Does one need to know C/C++ to learn Java here? I am currently teaching myself C. The book I am using says C is good preparation for learning Java. Specifically, for the Java 2 certification, will I be soon lost if I am not proficient in C or C++?

Rob Ross

Joined: Jan 07, 2002
Posts: 2205
Not at all. In fact, the only reason that book says what it does is so you will buy the book.
Understanding C and C++ helps you understand why the Java language does some of the things it does, but you don't need to learn them to be a good java programmer.
I'm not saying don't learn C, but if your goal is to focus on getting certified in Java, then your time would be better spent doing that.

SCJP 1.4
Guy Allard
Ranch Hand

Joined: Nov 24, 2000
Posts: 776
Continue with C. It is an excellent programming language.
Next: If you already have a good OO background then C++ or Java, won't matter much which first.
If no OO background, then Java next (but if you do it this way, don't plan on going back and learning C++, you won't).
My $.02, Guy
Anthony Villanueva
Ranch Hand

Joined: Mar 22, 2002
Posts: 1055
Learning C for its own sake is great (I like C myself ), but I wouldn't recommend learning C for the sake of learning Java. I started out with C and I had a hard time migrating to Java because the programming styles are very different.
For example, in C you pass a pointer or a local copy of a data structure to a function that manipulates your data structure -- in Java you have a construct called a class which is like a data structure, except it has its own functions (called methods) that exist in the same scope as your data structure. There is no need to pass an instance of your class inside your class's method -- it already aceesible by default through a special pointer called this. More significantly, in Java (but not in C) there is this concept of an object which you must be totally familiar with, as the entire programming style of Java revolves around the object model.
Ok, C++ has a steeper learning curve, but if you really have plenty of time in your hands, why not? C++ and Java have more similarities than differences, but you have to supply a bit of self-discipline to write object oriented programs in C++ (the Java compiler is much less forgiving). Plus you get to appreciate each language more.
Oh, and there's no need to learn C first before learning C++ . Even Stroustrup said as much.
Derron Rose

Joined: Mar 16, 2002
Posts: 4
Thanks for your answers. So, if I want to start learning Java now, should I start with the lessons at the "Campfire"?
Thank you.
Pauline McNamara

Joined: Jan 19, 2001
Posts: 4012
The Campfire stories are excellent. Want to learn by doing too? Check out the Cattle Drive and
more on the Cattle Drive.
Commercial's over, we now return to our regularly scheduled program.
[ April 02, 2002: Message edited by: Pauline McNamara ]
Cindy Glass
"The Hood"

Joined: Sep 29, 2000
Posts: 8521
Learning Java is good preparation for learning c++.

"JavaRanch, where the deer and the Certified play" - David O'Meara
Anthony Villanueva
Ranch Hand

Joined: Mar 22, 2002
Posts: 1055
And conversely! I learned C++ first before I went to Java...
shailesh sonavadekar
Ranch Hand

Joined: Oct 12, 2000
Posts: 1874
it depends what you want to acheive. just for getting job or want to become strong fundamentally or something else.

if you want to become very , very strong in oops then ideal steps are c , c++ & then java. you may skip c++ & go directly to java. you may miss many features that are making c++ the most powerful language.
I agree. Here's the link:
subject: What programming experience is needed?
It's not a secret anymore!