Virtues and Challenges

Get introduced to the benefits and limitations of coding in C!

Like every language, C works well in many situations, but it also has its limitations.

The primary virtues and challenges of using C have been described in the table below.

Virtues Challenges
Fast. (it’s a compiled language and so is close to the machine hardware). The language is small (but there are many APIs).
Portable. (you can compile your program to run on just about any hardware platform out there). It’s easy to get into trouble, e.g., with direct memory access & pointers.
The language is small (unlike C++ for example). There is a compile — test (crash) — debug cycle for each piece of code.
Mature (a long history and lots of resources and experience available). You must manage memory yourself.
There are many tools for making programming easier. (e.g., IDEs like Xcode) It does not support Object-Oriented Programming.
You have direct access to memory. Sometimes code is more verbose than in high-level scripting languages like Python, R, etc.
You have access to low-level system features if needed. There is no concept of runtime checking.

Create a free account to access the full course.

By signing up, you agree to Educative's Terms of Service and Privacy Policy