September 13, 2016

Which Programming Language to Choose

Filed under: Main — admin @ 12:01 am

About 60 years ago, IBM president Thomas J. Watson famously said, “I think there is a world market for maybe five computers.” That prediction proved invalid by the 1970s with the popularity of the microcomputer, later dubbed the “personal computer.” The explosive growth came because anyone who knew how to program had the potential to make millions from their creation. That prospect holds true today as well.

That money-making aspect is one thing that made the computer revolution different from other high-tech hobbies. For example, you didn’t see ham radio operators writing their own programs, which is why I believe their numbers remain (mercifully) small. On the other hand, computers and other high tech gizmos offer a great opportunity; the prototypical nerd-in-a-basement-turned-millionaire paradigm still rings true today.

Several years back, Vietnamese programmer Dong Nguyen wrote the infectiously popular mobile game Flappy Bird. He gave it away, but had he charged 99 cents a copy, I’m sure he would have made a boatload of cash. That isn’t a bad payday for less than 72 hours of work.

I don’t need to prove that the potential is there, but I can offer a suggestion on which programming language to choose. I get asked that question frequently.

If you’re going to learn to program, I recommend studying a basic language first. Because I write the book Beginning Programming with C For Dummies, I recommend learning the C language to start.

The C language is the foundation upon which most other major languages are built. Once you learn C, learning any other language takes no time. In fact, I was speaking with a fellow programmer and teacher the other day. He mentioned that he can pick up any language in no time because of his experience with C and other languages. I can do the same. That’s not to boast, it simply underscores the importance of learning that first language.

If you’re out to make money, however, I would recommend you select a language such as Java, Python, Ruby, Swift, or a combination of any two.

Android apps are written in Java. It’s an interesting language, but vast enough that no Java programmer will boast of knowing it all. Java also has its quirks, which doesn’t make it a popular choice, but Java jobs are plentiful.

Swift is Apple’s iOS programming language of choice, and it’s relatively new. It’s a successor to the old Objective C, which wasn’t C or C++, despite “C” being in the name.

Python is an interesting language and used quite a bit in development, more so than C++ and Java. I’ve done a smidgen of Python programming and found it interesting, but I haven’t studied it further.

Knowing Ruby is a must if you plan on doing web development, specifically the Ruby on Rails variation. That’s about all I know about Ruby.

Notice that I didn’t mention C++. It’s a good language to know, but nothing I would recommend if you’re planning on coding your own app or getting a job somewhere. Most programmers will learn C++ as their first language, but I think that C is a better choice. Operating system development and many high-end games are coded in C. They may claim that it’s C++, but lurking in the code is a lot of pure C.

Then again, I am biased toward C.

2 Comments

  1. As I believe you said C is basically computer Latin. I have only once needed to know C++ when some code was over complex, I rewrote in pure C it was faster and more maintainable. C++ can get very complex to very simple things, Java is like C++ there is the way to do it but if you long and hard enough there is a complex way. Ruby and the web is something I have not used greatly. Generally I have found C and Assembly gets 99% of embedded stuff done despite the ammount of C++ used. I was originally force fed BBC Basic at school (aged 8-ish) which gave me a good grounding, but times they do change!

    Comment by glennp — September 13, 2016 @ 4:14 pm

  2. I learned to program with BASIC as well. I wish I hadn’t. It’s easy to learn, but it encourages sloppy practices that even today I find myself falling into. But back then the options were limited.

    Also, I rarely see something in C++ that can’t be coded in C. I’ve kept a few examples that really work well, but even the nerds confess that C++ code can get sloppy quick.

    Comment by admin — September 14, 2016 @ 8:14 am

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.


Powered by WordPress