What programming language will be the best one to have in your tool belt? College is the best time to tackle a language learning project. You could pick up a language at any time in your life but college is a great time to get smart in a language which will add rocket fuel to your college – and life – career.
The next killer cell phone app: With the crazy popularity of the Apple and Android app stores, the possibility of writing an app which takes the world by storm is out there. If your goal is to make it big in the app store world, then your choices are few. I suspect though that you already know this, and you are not wasting time reading this biog post. Realize however, that the odds of creating an app which can actually make money are so slim that you might as well buy lottery tickets. That said, I hope the best for you if you go that route. Keep at it, and come back here if you are not the next cell app millionaire
Console games: Physics, art, human factors and performance: All have a place in the gaming world. Visual C++ seems to be the language of choice for this venue. But you should understand that it comes with a lot of work. One of my daughters taught herself HTML programming and loved computer games. She took a C++ class with a friend in high school and had a miserable time with it. I think she was hoping she could use C++ to create games. There is just a lot of work in C++ to understand the nuances of object oriented programming and C++ adds the burden of a fairly complex syntax to master.
What if you don’t know want to be in a niche defined by the language? Maybe you just want to learn programming, not so you can become a programmer per se but to use software to get something done! Whether you are interested in literature, art, science or engineering, what kind of language gets you into programming the quickest, with the least amount of syntactic struggle?
Today your best choice is Python*. Here’s why:
- Writing the program is quick. Because programming in Python is “Pythonic”, you don’t need to spend any lines of code defining data types. The language simply assumes that it knows what you mean, and nearly always does the right thing.
- The syntax is simple. Python code looks quite similar to other languages, so it’s a nice starting point to learn other languages. Languages such as Go are becoming more popular, but Go has a different way of defining variables that is unlike most other languages.
- You can do really complex things. Don’t think that just because Python is a “scripting” language that you are limited in the power of the language. I was stunned when I learned the kind of power Python has, with full object-oriented programming available. Complex cloud infrastructures and scientific computing codes are written in Python. But unlike other object languages, you are not required to learn the syntax of the object world to use the language.
- Incremental development is fast. Programming usually requires a lot of work to find and fix bugs or tweak features. Python is interpreted, which means you don’t need a lengthy compile step before your program can be tested. Incrementally finding and fixing bugs is thus made quicker.
- It’s likely already on your computer. Whether you have a Windows PC, Mac or Linux computer, Python is available for free and might already be on your computer. I remember playing around with Java was limited to whether I could get a Java compiler, JVM and libraries without paying money.
- You are not alone. Today a number of universities from the prestigious MIT to many others teach their freshmen Python as their first computer programming language. Clearly these schools see the value on Python’s programming.