Tom's Guide | Tom's Hardware | Tom's Games
![]() |
![]() |
![]() |
Hello. I was wondering if a beginning programmer should attempt to first learn a procedural language, or immediately attempt to grasp the concepts of Object-oriented-programming.
I have never programmed before, and I am currently deciding between C and Java. Any advice would be much appreciated
Jack R.

actually, the concept of OOP is really easy, especially if you know functions and stuff (procedural). C++ has OOP. I would learn a procedural language first, that way you don't have to worry about OOP yet. Once you're ready, you just have to understand how OOP works, and you can modify your programming style to reflect that.
If you know C/C++, Java will be easy. I'm not sure, but I heard somewhere that Java was partially based on C. Maybe that's why it took me only 3 days to learn Java.
My friends that learned Java first...have a hard time doing C.

Object-orientated languages are most used these days and Java is one of the purest object-orientated languages. There is a trend in software development these days to use modelling languages, mainly UML (Unified Modelling Language) to model the application for development and to use IDEs (Integrated Development Environment) for RAD (Rapid Application Development). Some IDEs allow you to model the application and have the IDE create the code for you. The great advantage of object-orientated languages is that you can solve your problem in terms of objects that are relevant to the context of the problem and you do not have to express the solution to a problem in terms of numbers and characters as you do in procedural programming.
There is plenty of articles on the Internet that talk about the advantages/disadvantages of the object-orientated approach to programming and OO versus Procedural. You could always learn Java and OO and write native code in C for your Java programs.
Check out http://www.bluej.org/ for a great tool for OO Java.

Hi Jack,
Learning both C and Java is very good. Its better you learn C first and slowly move towards object oriented programming and in this way you will appreciate both the languages.
Sajid Mohammed
sajleo@yahoo.com

Learn C/C++ first.
Note that OOP is HOW you code, not what language.
ie:
C:
RotateMatrix( &matrix, degrees );
C++:
matrix.Rotate( degrees );
Notice that there is very little substantial difference. The first parameter of the function merely moved to the left of the function...
Anyway, C++ makes things easier in the long run, but I would learn C first.
Java, by the way, is bloatware. Slow, inefficient, and buggy. But popular, so learn it after C :)

Thanks for the advice. I'm still not sure what I'm going to do. I heard Java was easier on beginners than C, but some have said C is easier because it is procedural. But I've also heard some say that nowadays one should learn an OOP language first because that's the way programming is going to be from now on, and learning a procedural language first will just make it harder to learn OOP. I have no clue...
I'll still check out bluejay thing though
Thanks againJack R.

![]() |
![]() |
![]() |

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.
| Ads by Google |