Programming is a dead useful knowledge one could acquire. It could be applied to any sciences job. It could help one create their own software tailored to their own usage. But beginning programming and mastering programming are two very separate things. Nonetheless, you need to start somewhere.
Reason for Learning
Everyone learns for their own reasons. If you enjoy programming, then you should definitely learn it (this is paradoxical. If you know programming, then you already know how to). If you need to learn programming, you should figure out which language you should learn, depending on your job’s requirements.
Which programming language to choose?
With the thousands of programming languages out there, picking one may seem to be an arduous decision. But it actually is quite easy. Only about 30 of those languages are actually used today, commercially. The other 970+ languages are used by companies for their own purposes or individual developers. Your best bet is to learn a language that is widely known for 2 reasons: More people can help you and there is more documentation for the language.
So how do you choose the language?
You can look over the list of the most prolific languages and select one that you’d like to learn. But if you cannot decide, let’s take a logical approach. Ask yourself this: “Why would I need to learn a programming language? Which job do I have requires the use of programming?”
Science and Mathematics
If you work in sciences and mathematics fields, the programming may help you a lot. When you need to write a program to hold data or manipulate it, or when you need to find an accurate way of displaying data, knowledge of a solid programming language will help you much.
In Sciences and Mathematics, the best computer languages are ones created by the user. Now this is incredibly far-fetched, but when one designs their own language, they can utilize it and tailor it exactly to their needs.
But you’d need a computer sciences background to write a language compiler and interpreter, so you should stick to the learning path of a language.
So for Sciences and Mathematics, you’d need a type of language that can handle piles of data, but remain tailored to your other research needs. The programming language you use doesn’t have to fast or pre-compiled, but being faster is a bonus. So here are the three programming languages that you’d benefit most from.
- Perl – Many believe Perl to be the new COBOL, but it has more uses than COBOL did. It works very easily when storing data and writing software to store data. It is pretty easy to learn.
- Python – Named after Monty Python, this language lacks the speed of C++ or FORTRAN but is one of the easier mainstream languages to learn.
- Ruby – This should be tried, only when Perl and Python have proven not to work for you. Ruby is the fusion of 5 programming languages (2 of which are esoteric) and lacks the amount of libraries that Python and Perl provide. It is also easy to learn, but not as efficient as the previous 2.
**Computer Sciences and Engineering
If you want to become a programmer as a full-time career, learning and acquiring 5+ languages is necessary. You need languages that can efficiently write programs, but depending on the type of program you specialize in, the speed at which the program works at should be accounted for.
As an engineer, knowing 1 or 2 programming languages gives you the versatility when constructing devices and programming them (only if the devices are computers mind you).
So here are 6 programming languages that are basic stuff to learn before majoring in Computer Sciences and what not.
- C++ – A majority of programmers use this language and learn it first for 3 reasons; it is widespread, easy to use, and many languages are influenced by C++ syntax. C# and Java share much of their syntax with C++.
- C – This isn’t necessary due to the fact it is being obsolesced by the newer C’s but if learned, makes any programming language that much easier. C inspired many other languages to come about.
- Java – Has cross-platforming capabilities but is slow as heck. Many computers do work with it and it is considered by many to be the “greatest programming language ever.” It certainly is something of a language, despite its caveat.
- Python – Becoming increasingly popular due to its easiness to learn and many uses it has. Since becoming a Computer Sciences major and eventually a programmer requires to learn the most popular and widespread languages first, Python should be learned.
- Objective-C – If you want to go to the Apple side of the spectrum of major computer development, Objective-C is essential as you can efficiently develop iOS and MacOS applications.
- C# – Objective-C’s counterpart for Windows. Thanks to Mono, you can develop C# on your Mac, but it has much more use when working with .NET.
**Web Development and Networking
Web Development requires one to learn many languages. Markup, Scripting, and Programming will all become a part of **the learning process. Here are 10 languages that would present much use when beginning Web Development.
- CSS – Organizes, colors, and cleans up the web pages you make.
- PHP – A beautiful language that connects your Database with your website. If you create a website that has any form of searching through a database, PHP is the best way to go.
- Ruby on Rails – A framework that does a lot of the work for you when creating a website that resembles a blog. It created Twitter, Kongregate, Hulu, LivingSocial, and many other Web Applications.
- Tcl/Perl – Tcl has some advantages over Perl, but it is mainly up to the preference of the user on which programming language would suit their needs. They are both Interpreted languages, but Tcl is newer (created in Feb. 2011) and Perl has more libraries and documentation.
- Python – Very versatile. It can be used to create Internet applications as well as Computer applications. Most of YouTube was coded in Python and the video-interface was mainly coded in Python.
- C# – Used to create server-side applications. Those of you who want to work with the .NET hooligans (I say this in the most affectionate way possible), C# could be of utmost help.