Ad

Monday, July 09, 2007

Computer Programming: An Article for Beginners

-Article of the Month

You might have read many so-called “the art of computer programming an” and many “how to …” on computer programming, but this one is different. It doesn't’t deals with the technical details of programming rather it deals with what is more important to beginners. This article would help beginners who are having a tough time with programming to get to the right track.

It is also for newcomers who want to start programming and want to choose the right programming language. It is not just another guide to learn computer programming; it helps you to minimize your confusions while learning computer programming.

It is not an article which talks about the history or something like that, it is a practical guide. This article is written keeping in mind what the beginner’s confusions are and how to minimize them.

Careers in Computer Programming

As a professional having a degree from any reputed institution you have a good chance of making a career in computer programming. But as a person having no formal degree can also earn money by freelancing or by developing and selling your own software.

There are many sites where peoples place their programming requirements, if you come across one which you can do in their budget then you can do the programming to earn money online sitting at home. This is known as freelancing, which has grown up as a good career in computer programming.

You can also develop software yourself and sell them online to earn money; there are many ways by which you can do this. It is so amazing, think of developing your very own software, games and even selling them. But before you sell you have to develop the software! Yes it is tough and at times it feels ridiculous but believe me, as you become more and more used to it, you’ll feel very comfortable using it.

I have a habit questioning myself-“How did they do that?” whenever I come across any unique software. That helps me a lot. There are a lot of examples of small developers who have made their career in computer programming by developing software which they are selling to earn money. One of the common things among them is that their software was worth selling.

Computer Programming Languages

Communicating with a computer involves speaking the language the computer understands, which immediately rules out English as the language of communication with computer. However, there is a close analogy between learning any language (like English, French etc.) and learning computer programming language.

The classical method of learning any language is to first learn the alphabets or characters used in the language, then learn to combine these alphabets to form sentences and sentences are combined to form paragraphs. Learning programming languages is similar and much easier.

Therefore, instead of straight-away learning how to write programs, we must first know how alphabets, numbers and special symbols are used in the programming language, then how using these, instructions are constructed.

A group of instruction would be combined later on to form a program. There are many programming languages in the world. Many of them are used for specific purposes. While there are many programming languages, here is a list of programming languages that can be used for everyday programming:-

  • C++

  • C

  • C#

  • Pascal

  • Fortran

  • Basic

  • PHP

All the programming languages can be divided into two categories:

Problem oriented languages or High-level languages: These languages have been designed to give a better programming efficiency, i.e. faster program development. Examples of languages falling in this category are FORTRAN, BASIC etc.

Machine oriented languages or Low-level programming languages: These languages have been designed to give a better machine efficiency, i.e. faster program execution. Examples of programming languages falling in this category are Assembly Language and Machine Language.

Few languages such as C++ stands in between these two categories. That’s why it is often called a Middle level language, since it was designed to have both: a relatively good programming efficiency (as compared to Machine oriented languages) and relatively good machine efficiency (as compared to Problem oriented languages).

For a newcomer BASIC is well-suited, there are also some windows compilers available, but for serious programming, C++ is the STANDARD.

C++ is one of the most widely-used programming languages. It is often considered to be the industry-standard language for game development, but is also very often used to write other types of computer software applications.

There are many C++ compilers including free compilers available. For a person who doesn't’t knows what programming is all about, should always first play with LOGO for sometime before jumping on to some other ‘serious’ programming language.

When you experiment with LOGO you get the understanding of how a computer interacts with the commands entered by the user, what parameters are and all the other minor details that are common to most of the programming languages. This helps in gaining knowledge as well as confidence which further helps in learning other ‘serious’ programming languages.

With LOGO you might not be able to do many things but it would definitely increase your understanding and would sharpen your logic.

Here is the list of steps that you should take or avoid while learning computer programming

Do's

  • When you’ll first start programming may be things will not make much sense to you but stick with it and do more learning. Take the help of books and tutorials.

  • There are many books on mind twisting problems, try to solve tem by your own, that makes you sharp.

  • Always write down the program in paper(preferably in a note-book) before feeding it to the computer because it doesn't’t makes sense to me to write the program before the Pc, all the thinking should be done and written beforehand. This increases your productivity. Writing algorithms before programming will help.

  • Only reading the codes of the program written by someone else will not help. You have to solve problems by your own to make a good grip over computer programming.

  • Think carefully when debugging because it’s only you, who could make mistake. Remember never to blame the computer.

  • The easiest thing to do is to give-up thinking that ‘every thing in this world is not for everyone’. Keep in mind that nothing seems to be simple in the starting, what you have to do is to stick with it and practice more, read more and understand more.

  • In the beginning peoples usually make the mistake of downloading complicated source codes from the internet to see how they work, and obviously understand nothing. Always see simple codes in the starting, it is better to have a book and proceed with the source codes chapter-wise.

Don'ts

  • Never ever mind buying books, they are the biggest source of knowledge; you have the opportunity to learn the art of computer programming from the top experts from all over the world. And for 10$ or 20$ or maybe 30$ it is worth it if you gain something.

  • In the starting don’t give much stress to complicated problems; it’ll only make you more confused, always proceed chapter-wise.

  • Don’t forget to ask in forums etc about your problems and confusions, there are many forums which will give you prompt replies.

  • Don’t overdo it, always take rest.

  • Peoples have a bad habit of running a program too many times before it successfully runs, don’t run the program every time you make minor changes, do all the debugging or at least many of them then only run it.

  • Don’t loose heart when you can’t do complicated problems leave it, try some other less difficult programs then come back to it. Remember, practice is everything.

Action Steps to learn computer programming

  1. If you know the basic concepts of programming then you may skip this step .Download LOGO (from http://www.softronix.com/), also search for LOGO tutorials and download some tutorials. Read and understand them. Experiment with LOGO until you feel comfortable with the basic concepts of programming. Some books will come handy, tutorials are recommended. The help included with MSW LOGO is also very good.This might take anywhere from a few weeks to a few months for you to feel comfortable with the concepts.

  2. The next step should be to choose a ‘serious’ programming language in which real world applications can be developed. You can experiment with BASIC for some time to get a grip over it and then use Visual Basic to develop real world applications.But according to me the best choice of programming language is C++. As said earlier most of the application software (including games) are developed using C++ language.

  3. After you master any programming language (that means you are able to understand programs written in that programming language). Now you should have a book on projects in that language in which source codes of various small applications are given. Try to see and understand how the programmers solve problems faced by you and what techniques they use. This helps very much in learning the art of computer programming. It’s the technique and art that makes you or anybody else a good programmer. This step is very much essential for you to develop real world applications. Only learning computer programming language won’t help you do anything serious. You have to learn the techniques of programming, because knowing any language and using it to develop something worthwhile is totally different thing.You can also download source code of any open-source applications from the internet. But remember that source codes from the internet are often with good documentation.

  4. Peoples learn computer programming to develop application software, therefore this step is also very important although it doesn't’t help you learn computer programming, rather it helps you to implement your knowledge. Remember that the previous step is an ongoing process, there is no limit to learning , you should always keep your mind open to the new techniques which you come across. After understanding some of the techniques you would start feeling confident. Now what you need is just an idea that you you to materialize. Keep thinking wherever you can show your knowledge until you have an idea of the type of application you would like to develop. When you have an idea, put all your knowledge, all your effort and all that you have learnt so far.And remember never to give-up, sometimes it feels just too complicated but ‘real programmers’ never give-up.

This is it for now!

Hope you like this long article!

Good-Bye!

4 comments:

  1. Hello, I just wanted to thank you for running this blog. Not only are you extremely talented in explaining programming (in writing - or should I say typing?) so that beginners can learn it but you have also helped me along the road into my chosen career path. I had almost given up on learning it until I came across your blog a while back, and for that I am extremely grateful. Again, thank you, and keep up the great work!

    ReplyDelete
  2. @ CrescentScapes,

    It's my pleasure.

    Enjoy!

    ReplyDelete
  3. Are there any books that you might suggest on projects in the C++ language?

    ReplyDelete
  4. @ CrescentScapes

    Hi, sorry for taking so long.

    I've searched the web and found out these books to be good, on the topic you wanted:

    1. http://www.amazon.com/Practical-Programming-Second-Steve-Oualline/dp/0596004192/ref=sr_1_4?ie=UTF8&s=books&qid=1232874807&sr=1-4

    2. http://www.amazon.com/Developing-Projects-Using-Object-Oriented-C/dp/0760011079/ref=sr_1_13?ie=UTF8&s=books&qid=1232874928&sr=1-13

    3. http://www.amazon.com/Projects-Programming-Text-Based-Creating-Simple/dp/1423902270/ref=sr_1_8?ie=UTF8&s=books&qid=1232874807&sr=1-8

    Please note that I haven't checked them out myself. A nice practical book that I like very much and have is the one by Deitel named "C++ How to Program"

    ReplyDelete

You are free to comment anything, although you can comment as 'Anonymous' it is strongly recommended that you supply your name. Thank You.

Please don't use abusive language.