If you want to create programs that are executable on your computer, the languages below will apply.
As to what language to use, unfortunately the answer isn’t usually clear cut. Its kind of like asking what you would like to major in in college. If you already know exactly what you want to do and why, you can work your way to an answer. If you don’t know exactly what you want to do and why, there may be some experimenting involved.
Unless you have a specific need to use another language, I would recommend starting only with one of the below four languages:
Visual Basic – If don’t mind limiting your applications to windows, and you want to create useful tools that will be relatively small scale, and you want something you can learn quickly and easily, Visual Basic is a great place to start.
C – If you are concerned about using your programs on operating systems other than windows, want a language that is very popular and well supported, and want to learn a more powerful programming language, C is a good place to start. C is a very powerful function based language that has been around for years. It is well supported, well documented and still in wide use today.
C++ – If you want to learn a very powerful and cross platform language that is the standard in large scale program creation today, C++ would be a good choice. C++ is an “object oriented” programming language, which is considered the new paradigm in languages (as opposed to a function based language like C). C++ can be used on a functional basis, and supports a lot of C code as well.
Java – If you want your programs to be internet based, or if you know you want your programs to run on multiple platforms, and/or you want to know what all the fuss is about, Java may be your best choice in language. Java may also be your best choice if you want to learn a more complex language and you will be the only one using your applications. We say that because in order to run your applications a user with need the java runtime software installed on their machine, and not all users will have it installed and/or know how to do so easily. There are pluses and minuses to starting here as a beginner. It isn’t as easy to create visual based windows programs as other programming languages. It doesn’t actually create executables, which is counter-intuitive for new programmer and most users. It does have it’s benefits though, as it is object oriented like C++ but it avoid some common traps that are likely to be difficult for beginners. Java is thought by some to be the wave of the future and is often taught by schools these days as the primary language of use, but VB, C and C++ are also widely used today.
Other languages you will hear mentioned often:
COBOL – COmmon Business Oriented Language – is primarily used in big business applications that are data and text/number heavy. It is has been around for a long time and is still widely used, but short of wanting to learn it to get a specific job we don’t recommend it for beginning programmers.
C# - “C Sharp” is Mircosoft’s attempted answer to Java. It is relatively new, somewhat based on C/C++ and tries to incorporate some of the same internet functionality as Java without being cross-platform. We don’t recommend this language for beginners, as it is not in widespread use at this point and is limited only to Microsoft operating systems.
Pascal – Pascal was designed as a language to teach good programming skills, as it requires a very disciplined approach when writing the code. Pascal is not considered as strong or powerful a language as C, C++ or Java. It is still in use today, but it not recommended for the pure beginner simply because the other languages mentioned are more supported and commonly used.
What languages do I want to use for Web programming?
HTML – HyperText Markup Language – This is the standard language for web browsers to interpret information from the internet. All the formatting of text, pictures, colors, backgrounds, link creation, etc. is done in HTML. HTML is not very difficult to learn, and in fact there are many programs available that will do a lot of the coding behind the scenes for you. If you just want to create basic webpages, this is the route you will want to go.
PHP – PHP stands for “PHP Hypertext Preprocessor” – notice the first P actually stands for PHP in the acronym, a little technique some creators like to use when naming their programs. PHP is a more advanced language for web display, and allows you to use variables as well as hide your code from the outside world. PHP also allows you to connect to databases in your webpages, allowing for more complex and interactive content than HTML.
MySQL – though not a web programming language, MySQL is a database programming language that is often used in conjunction with PHP to post web content. MySQL is a free for the personal user, and uses commands that actually seem logical when creating and accessing content. If you are going to create a webpage that needs a database for content (you may not know you need one, but depending on what you want to do you might), you are likely going to use MySQL on your webserver.