Get with the Program: Why C Should Be Your First (If Not Only) Computer Language

Do you code in C? If so, are you certified?


Computer programmer with headphones

If you answered "yes" to those questions, then congratulations — you're a strangely rare breed. Despite C still dominating the programming-language landscape (after all these years!), not many of C's illustrious acolytes are certified. In fact, finding a generic certification for any programming language can be a bit tricky. Certifications often lean more toward specific job skills rather than specific language skills, which means that an aspiring programmer might not have the easiest time quantifying their ability.


This is partially because a programmer is expected to already know multiple languages, and to add new ones to his or her repertoire. While there are certifications for C (and you better believe we're going to talk about them), let's take a minute and discover the "why" of it. If you already know C, then you can stick around for the jokes.


Let's start with a little histor-"C".  The C language was first developed by Dennis Ritchie for AT&T Bell Labs sometime between 1969 and 1973, and was used to re-implement the Unix operating system. This simple language is still used in a majority of embedded programming "C"-stems, and has a posterity in such languages as Java, Python, Javascript and Perl, along with the obvious languages that share its name: C++, C#, and objective-C (that one isn't a pun). It's widely loved for its simplicity, portability, power and speed. When it comes to this language, if you can imagine it, you can "C" it (aren't you glad you stuck around?)


Because C++ is a superset of C, some programmers argue that C++ has made C obsolete. C's defenders, on the other hand, will staunchly insist that C cannot and should not be replaced. The three main points for C's continued survival and usage are power, size, and precedent. Because C is a minimum step above Assembly (while maximizing readability), it's very powerful. It's a small language, so it compiles quickly. And precedent, because FIRST! (Also, something about virtually every OS being written in it.)


So, to learn or not to learn? As always, it depends. Is this your first language? Many people recommend starting out with Python or the more obscure Ada to get the hang of programming first, as these languages are a little bit easier to pick up. If you're planning on doing embedded programming and OS development, however, then you might want to start with C, because you're going to have to learn it anyway.


And even if you do start with Python or Ada or [INSERT LANGUAGE OF YOUR CHOICE], choosing C as a close second will not only help you branch out to other languages, but also help you gain knowledge of the inner needs and workings of the hardware itself. A common observation has been that programmers who are fluent in C are much more likely to write concise, elegant code in other languages, too.


If you already know a language or two but are thinking of picking up C, then go for it, for the reasons listed above. Or not, you know. You're probably an adult who can make your own decisions. Or a really weird kid. I don't know your life.


OK, seriously: certifications. If you're a wizard with C or C++ head over to the C++ Institute, where you can get certified in either. The institute offers three levels of certifications: associate, professional and senior. Exams are administered via Pearson VUE, cost $295 (or $147.50 if you took their in-house prep course) and include one free retake, and the exams have between 55 and 60 questions with a required passing grade of 80 percent or more.


Now, get out there and "C"s the day!


Would you like more insight into the history of hacking? Check out Calvin's other articles about historical hackery:
About the Author
David Telford

David Telford is a short-attention-span renaissance man and university student. His current project is the card game MatchTags, which you can find on Facebook and Kickstarter.