Description :-

In my career spanning more than a decade, I have used C language in only two projects. All these years, I had either coded in C++, Java or C#.

However, during interviews, I had always coded my solutions in C. When an interviewer asks you to implement a Stack having one extra operation, getMinimum that returns minimum element in current stack, you are expected to give your own implementation of stack from scratch and not use Stack class in Java library.

C language allows your solution to be focused on the problem without unnecessary clutter of class and object definitions. Java and C# are good to showcase your design skills, but if the question is not explicitly about object-oriented design, C (or C++) provides flexibility to demonstrate your memory management skills and help implement everything required using data structure and algorithms.

C is a lightweight language and is easy to learn in a short span of time. Understanding the internals of C helps comprehend other high-level languages better because the concepts and terminology remain the same.

This book gives you an insight into the journey that your code goes through and best practices at each stage.