Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Extreme C

You're reading from   Extreme C Taking you to the limit in Concurrency, OOP, and the most advanced capabilities of C

Arrow left icon
Product type Paperback
Published in Oct 2019
Publisher Packt
ISBN-13 9781789343625
Length 822 pages
Edition 1st Edition
Languages
Concepts
Arrow right icon
Author (1):
Arrow left icon
Kamran Amini Kamran Amini
Author Profile Icon Kamran Amini
Kamran Amini
Arrow right icon
View More author details
Toc

Table of Contents (27) Chapters Close

Preface 1. Essential Features FREE CHAPTER 2. From Source to Binary 3. Object Files 4. Process Memory Structure 5. Stack and Heap 6. OOP and Encapsulation 7. Composition and Aggregation 8. Inheritance and Polymorphism 9. Abstraction and OOP in C++ 10. Unix – History and Architecture 11. System Calls and Kernels 12. The Most Recent C 13. Concurrency 14. Synchronization 15. Thread Execution 16. Thread Synchronization 17. Process Execution 18. Process Synchronization 19. Single-Host IPC and Sockets 20. Socket Programming 21. Integration with Other Languages 22. Unit Testing and Debugging 23. Build Systems 24. Other Books You May Enjoy
25. Leave a review - let other readers know what you think
26. Index

Preface

In this modern era, we observe mind-blowing technologies on a regular basis and experience luxury and pleasure far beyond what could have been imagined even a few decades ago. We find ourselves on the cusp of autonomous cars becoming a reality on our streets. Advances in physics and other branches of science are changing the way we perceive reality itself. We read news about researchers taking baby steps in quantum computation, rumors about blockchain technology and cryptocurrencies, and plans to colonize other planets. Unbelievably, such a diversity of breakthroughs find their roots in just a few core technologies. This book is about one of those technologies: C.

I started programming with C++ when I was studying in my first year of high school. There, I joined a 2D soccer simulation team for juniors. Soon after C++, I got introduced to Linux and C. I must admit that I didn't know much about the importance of C and Unix in those years, but over time, as I gained more experience in using them through various projects, and as I learned about them through my education, I came to see their critical role and position. The more I knew about C, the bigger my respect for it grew. Finally, I decided to be an expert in this programming language that had so captured my interest. I also decided to be an advocate to spread the knowledge and make people aware of the importance of C. This book is a result of that ambition.

Despite the mistaken belief that C is a dead language, and despite the general ignorance that C receives from tech people, the TIOBE index found at https://www.tiobe.com/tiobe-index demonstrates otherwise. C is, in fact, one of the most popular programming languages of the past 15 years, together with Java, and has gained popularity in recent years.

I come to this book following many years of experience in development and design using C, C++, Golang, Java, and Python on various platforms including various BSD Unix flavors, Linux, and Microsoft Windows. The primary aim of this book is to increase the skill of its audience to the next level; to enable them to take the next step in their use of C, and practically apply it in a way that comes through hard-earned experience. This won't be an easy journey for us and that's why we've called this book Extreme C. This journey is the core concern of this book, and we will not be entering into the debate of C versus other programming languages. This book tries to remain practical, but still we have to deal with a significant quantity of hardcore theory that is relevant to practical application. The book is full of examples that aim to prepare you to deal with the things you will encounter within a real system.

It is indeed a great honor to be able to address such a weighty topic. Words won't suffice, so I'll only say that it has been an incredible joy to have the opportunity to write about a topic that is so close to my heart. And I owe this pleasure and astonishment to Andrew Waldron, who let me take on this book as my first experience in book writing.

As part of this, I want to send my special regards and best thanks to Ian Hough, the Development Editor, who was with me chapter by chapter on this journey, to Aliakbar Abbasi for his tireless peer review feedback, and to Kishor Rit, Gaurav Gavas, Veronica Pais, and many more valuable people who have put their best efforts into preparing and publishing this book.

With that said, I invite you to be my companion on this long journey. I hope that the reading of this book will prove to be transformative, helping you to see C in a new light, and to become a better programmer in the process.

lock icon The rest of the chapter is locked
Next Section arrow right
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image