TrainACE - IT and Cybersecurity Training Blog

Back to the Future: Why It’s Still Worth Learning C

[fa icon="calendar"] Sep 25, 2019 11:00:00 AM / by Paul Ricketts

Paul Ricketts

c-programmingAccording to data from a recent McKinsey & Company report, the demand for “advanced IT and programming skills” could grow by 90 percent over the next ten years. Right now, developers are leaning on advanced code technologies such as Python, Ruby, and JavaScript to create cutting-edge web and mobile applications.

So where does this leave classic C programming? Created in 1969 by Dennis Ritchie, this mid-level procedural programming language is more complicated than its modern counterparts and isn’t the current go-to for programmatic or responsive web apps.

Despite its challenges, however, there’s still a strong case for learning C: Here’s how going back can benefit the future of your IT career.

The Current State of C

Fewer programmers are using C, instead choosing higher-level, user-friendly languages such as Python and Java that make creating apps straightforward. C is a middle-level language, sitting comfortably between low-level machine assembly languages and higher-level, user-friendly alternatives.

As noted by CIO, this unique position makes C worth learning – even if programmers don’t use it day-to-day. Why? Because “it makes other languages quicker to learn and easier to master.” While Python or Ruby may allow developers to complete specific tasks or deliver key functionality quickly, their mechanisms are obtuse: If something goes wrong, programmers with only higher-level training may struggle to identify the issue.

C acts as a Rosetta stone, giving IT pros knowledge of underlying system architecture and rules rather than merely a high-level overview. C also uses fewer libraries than its counterparts, forcing programmers to write more code from scratch and discover how key operations such as pointers and memory locations work to support applications at scale.

Still, many experts recommend that programmers start with a more straightforward language and then move to C once they’re familiar with core functionalities. Why? Because many web apps don’t benefit from C directly, and C itself is error-prone – approximately 80 percent of common C errors have been remediated and removed by other programming languages.

Potential Use Cases

If C is just a coding artifact, why should IT experts bother learning it? Sure, a broader knowledge of coding history – often compared to knowing some Latin and its role in impacting other languages – can provide specific insight, but it that worth it in a world driven by mobile-first development?

Absolutely. Here’s why:

  • Compact Code – Using C compels developers to write small codebases with speedy runtimes. In most web-based applications that require data transfer across large public networks, this speed is wasted – but in data-heavy processing applications such as in-house big data analysis or lightning-fast financial transactions, C becomes an asset.
  • The IoT – The Internet of Things is growing rapidly – recent research predicts almost 6 billion IoT-connected endpoints by the end of 2020. These tiny, connected devices don’t have spare space or power for convoluted code, making C an ideal choice thanks to its small footprint and fast runtimes.
  • C++ is Gaining Ground – As noted by Business Insider, C++ ranks among the top ten most popular programming languages. C is a subset of C++, offering a combination of procedural and object-oriented functions. Learning C makes it easier to learn C++, in turn opening more job opportunities for IT pros.

Programming Polyglots

While most IT job ads don’t list C as a requirement, they often include calls for multiple other languages as either necessary or “nice to have” – meaning skill in Python, Java or up-and-coming tools like Scala or Elixir – make job applications stand out.

Put simply, companies want programming polyglots: Staff capable of writing, debugging and optimizing code in multiple languages. This skill is useful not only for application development but also for the rapidly-growing cybersecurity sector – which currently struggles to fill vacant job positions and will likely encounter increasing staff shortages over the next five years.

This is the fundamental value of C: By understanding the underlying architecture of computing processes and code, programmers can more easily pick up and use new languages, in turn expanding their resume at speed. As noted above, learning C is often compared to learning Latin; while it’s not used extensively, it forms the basis for many other languages and gives skilled speakers the upper hand.

Ready for a C-Change?

While it’s possible to teach yourself C in your spare time, learning this structured language is challenging in isolation. Best bet? Depending on your skill level, consider introductory or advanced C courses to help you improve your language skills and develop the functional flexibility needed to compete in a changing IT job market.

What does this mean in practice? Consider the benefit of C for IoT development. NIST – headquartered in Gaithersburg, Maryland – is on the cutting-edge of IoT standards and security development. Here, C-trained staff could help develop the next generation of IoT best practices and code architectures.

Also relevant? The increasing use of C for data-heavy applications that demand results at speed. According to Health Analytics, the state of Virginia is now expanding its healthcare data-sharing system to help improve public safety – this type of data-driven framework won’t succeed without fast, clean and functional code underneath the hood.

C-ing is Believing

C has matured into a reliable and widely-used tool for software development. While more user-friendly languages are currently in the spotlight thanks to mobile and responsive web app development, going back to basics with robust C training can help spark new career conversations.

Topics: Programming

Paul Ricketts

Written by Paul Ricketts

Originally from the UK, Paul Ricketts is the Director of Marketing at TrainACE in Greenbelt, MD. Having started out in the field of Geographic Information Systems, Paul has a wealth of experience in a wide variety of industries, focused on tech., graphics and data analysis. Having finally settled in the field of marketing, he has spent the last 8 years fine tuning his skills in the art of communication and persuasion.

Need IT Certifications?
Want more info?

Call (301) 220-2802


or

TrainACE Catalog

Lists by Topic

see all