Programming: Where Should You Start?
- Computers and Programming |
- perl |
- php |
- java |
- cpp |
- c |
- computers |
- programming languages |
- programming
When I started programming back in 1986, it was pretty clear to me which language I was going to be using: BASIC. It came with the personal computer we had in the house, which didn't have the power to run much else even if we could have afforded to buy a compiler for another language.
Things have come a long way since then. Off the top of my head I can think of fifteen different programming languages that can be downloaded for free and will run on home computers without a problem. But, spoiled for choice, a new programmer today must face the decision of which language will fit his or her needs.
There are a few criteria to consider when choosing your first language, such as ease-of-use, features, and market adoption. You are best off choosing a language that doesn't get in your way of exploring language-independent programming concepts such as variables, loops, or error handling and reporting. In case this is the only language you choose to learn you will also likely want one that allows you to do many things, such as playing sound, printing, manipulating files or communicating over the Internet. Finally, unless you intend computer programming to remain a hobby, you will also want a language that is in common use in business.
To help you with your decision, here are a few of those programming languages, along with a brief description of how they are typically used.
1. Java is among the most popular programming languages in use today. Being cross-platform, a program written in Java can generally run on different computers and operating systems without modification -- a great convenience for programmers who want to be able to release software to Windows, Mac and Linux for example. It's very commonly used in business to handle communication between databases and user interfaces (you might find it behind-the-scenes on your favorite shopping website, for example), but can also be used to build complex applications with graphical user interfaces.
There are a number of excellent programming books for Java out there, and NetBeans is available as a free download (it contains everything you need to start programming in Java.) Java is also fairly careful to warn you if you're making an obvious mistake, and the combination of NetBeans and Java will help guide you towards effective programming strategies.
2. PHP and Perl are two different programming languages that are used in similar ways. Typically you will find them running websites of all sizes; like Java, they nicely handle the task of communicating with users through their web browser and storing and reading data from a database. Both languages are massively popular for this task, PHP more so, and if you're thinking about web design you'll probably want to learn both as well as SQL (or Structured Query Language; a language for interacting with databases.)
However, I should mention that Java is probably better than either for your first programming language if you're purely interested in learning programming; both PHP and Perl aren't very demanding about things like variable types, which may cause you to pick up bad habits, and offer a less robust object-oriented programming experience.
3. C and C++ are also extremely popular programming languages. These are commonly used for writing video games, operating systems, hardware drivers, and other complex applications. However, they do not make a very friendly introduction to programming as it is profoundly easy to make confusing and hard-to-track mistakes in them (even for experts). Nevertheless, they enjoy popularity because compilers for these languages are available on a number of different platforms and they don't require a virtual machine or interpreter to run. The speed of C in particular makes it the usual choice for operating system or embedded programming.
There is no perfect first language to begin programming with. The above represent those that I feel best meet the ease-of-use/features/market adoption criteria. I would recommend Java above the rest if you don't yet know what you actually want to do with the language yet. It's not as difficult to pick up new languages once you've learned the language-independent concepts of programming, and Java has the features necessary for you to explore aspects like exceptions and object-oriented programming while guiding you to effective programming strategies.
