Learning how to program software seems like a daunting task fit only for geeks and nerds who lock themselves away in dark rooms staring at their monitors for days on end as they pour over thick manuals written largely in zeros and ones. Fortunately reality is that itís not as complicated to make basic applications as people may think. If it were, majority of nerds wouldnít be doing it because defining factor of our kind is an inherent laziness. Why do you think we like computers? The heaviest thing we have to lift is a monitor and thatís done fairly irregularly and for a very short period of time.
There are many different opinions on how you should start programming. Some advocate method of throwing yourself firmly into deep end and if you donít drown then youíre set for life. These people usually recommend getting stuck straight into C or C++. Others recommend a slightly easier starting point such as Java or C#, still quite involved but with a few more safety nets built in. Then there is Ďkiddy poolí school of thought that advocates such languages as Visual Basic. These languages are really easy to get started in. You drag a few elements onto a blank form and then write some code that reads largely like Standard English. All methods have their advantages, but Iím a fan of starting somewhere in middle with Java. My reasons for this are that Java enforces a certain amount of design and forethought as well as correct programming procedures that are somewhat absent from Visual Basic.
I canít go into every single language in one article because it would take too long and only experience I have with languages outside of Microsoft stable is some familiarity with Java. Here are a few details about some languages.
Java Programming in Java is very similar to C/C++ development. It is object-oriented and well structured. There is wide usage of Java, and therefore there are a lot of libraries around that can be used in your Java program.
Pros: ∑ Java is platform independent, it can be run on everything. ∑ Itís free, you can just download SDK and go. ∑ Itís easy to learn if you know C or C++. ∑ It provides automatic memory management. ∑ There are a large library of pre-built classes and many more available from around net. ∑ Itís quite safe. Itís fairly hard (if not impossible) to damage your computer through programming in Java.
Cons: ∑ Speed. Java is quite slow, because it is essentially compiled at run-time by systemís virtual machine. ∑ It is difficult to compile into a stand-alone application. ∑ Memory pointers are not allowed. ∑ Some people dislike being forced into object oriented programming.
C C has been around for years and has a large following. Many different people around globe use it. A few other programming languages have also been written in C.
Pros: ∑ Large usage base. Easy to find help, other programmers, libraries etc. ∑ Simple core language, with further functionality being added through use of libraries. ∑ Very powerful. If your computer can do it, it can do it through C. ∑ Low-level unchecked access to computer memory using of pointers. ∑ One of fasted running languages. ∑ C code can be used in C++ applications. ∑ Programs are compiled and stand alone, no need for interpreters (sometimes external libraries will need to be installed on target PC).
Cons: ∑ Relatively difficult to learn. ∑ Very little safety net. If you choose (accidentally or otherwise) to make a program that will access memory incorrectly and horribly break your system, it wonít stop you. It only pulls you up on compile errors. ∑ Non trivial programs could be hard to port. Programs have to be compiled for each specific platform. ∑ Not strictly object oriented. ∑ Code can get messy easily.