Please read...

Ok i want to learn a programming language just to fool around with and such. Eventually going to try to customize an OS to what i want it to be. What is the best programming language to start out with? Also where can i get information on that for beginners. Any info, and if possible reasons why would be greatly appreciated. Thanks in advance

Is there an FAQ on this kind of thing somewhere round here? :confused:

I would say learn on either Pascal or C. They have features you will find in most other languages (typed variables, if statements, while loops etc) and are not Object Orientated or require an in depth knowledge of the environment you are working in.

For a beginner Pascal may seem easier. The transition to C is fairly easy after that. As the transition to C is made, a good study in memory usage and
pointers will be necessary.

I would say once you have mastered C you are well placed to go forward and learn other languages which are specialised.

Following are some reasons why I would not recommend some languages as a first language for a beginner:

I would avoid visual languages such as Visual Basic and especially Visual C. In the case of Visual Basic, you can get results quite easily, but you won't necessarily learn the techniques necessary to become an effective programmer. VB does a lot for you and the end program can seem disjointed if you don't understand the bigger picture i.e. the VB development environment.

Visual C requires an awful lot of technical understanding to use to its fullest benefit. You will find yourself struggling with the environment and the Microsoft Foundation Classes.

Learning an Object Orientated Language such as C++ or Java may be one to avoid as well. OO Programing requires a mindset and technique which a beginner may find overwhelming.

I would avoid scripted languages to begin with e.g Perl. In my own experience scripted languages are always full of quirks and exceptions to syntax and functionality. I would say a scripted language might turn out to be confusing and frustrating.

Some other things for you to consider, since you say you are a beginner. Learning a programming language is one thing. Consider making yourself aware of good programming design and testing and debugging techniques too.
Studying the software project lifecycle may give you an insight into a more professional approach - if you are at all interested. :wink:

Finally, start with learning little things first and building to the larger problems and ... practice programming. Lots. :smiley:

Hope this helps

MBB

Thanks a bunch that was really helpful. If anyone else reads this thread and has any other suggestions/doesn't agree with the above statement just post and lets hear why? I'm always interested in many views, not just the one first handed to me. Thanks a bunch to everyone whos going to/has already posted.

Oh !
That's so good
I think You can study C ,not need to study Java.
It is also okey .
Ansi C is okey for the beginner but just in Windows ,in Unix is
more difficult
After that You can continue study what you want But try what the
Programming work needs