fluent_c_-_principles_practices_and_patterns_conclusion

Fluent C - Principles, Practices, and Patterns Conclusion

Return to Fluent C Table of Contents, Fluent C, C Language Design Patterns, C Language, C Language Bibliography, C Language Courses, C Language DevOps - C Language CI/CD, C Language Security - C Language DevSecOps, C Language Functional Programming, C Language Concurrency, C Language Data Science - C Language and Databases, C Language Machine Learning, C Language Glossary, Awesome C Language, C Language GitHub, C Language Topics

“ (FlueC 2023)

CHAPTER 12

Conclusion

What You've Learned

“After reading this book, you are now familiar with several advanced C programming concepts. When looking at larger code examples, you now know why the code looks the way it does. You now know the reasoning behind the design decisions made in that code. For example, in the Ethernet driver sample code presented in the Preface of this book, you now understand why there is an explicit driverCreate method and why there is a DRIVER_HANDLE that holds state information. The patterns from Part I guided the decisions made in this example and many others discussed throughout the book.” (FlueC 2023)

“The pattern stories from Part II showed you the benefits of applying the patterns from this book and how to grow code bit by bit through the application of patterns.” (FlueC 2023)

“When facing your next C programming problem, review the problem sections of the patterns and see whether one of them matches your problem. In that case, you are very lucky because then you can benefit from the guidance provided by the patterns.” (FlueC 2023)

Further Reading

“This book helps C programming novices to become advanced C programmers. Here are some other books that particularly helped me improve my C programming skills:

Clean Code - A Handbook of Agile Software Craftsmanship by Robert C. Martin (Prentice Hall, 2008) discusses the basic principles of how to implement high-quality code that lasts over time. It is a good read for any programmer and covers vs like testing, documentation, code style, and others.

Test-Driven Development for Embedded C by James W. Grenning (Pragmatic Bookshelf, 2011) uses a running example to explain how to implement unit-tests with C in the context of hardware-near programs.

275

Expert C Programming by Peter van der Linden (Prentice Hall, 1994) is an early book on advanced C programming guidance. It describes how the C syntax works in detail and how to avoid common pitfalls. It also discusses concepts like C memory management and tells you how the linker works.

Closely related to my book is the book Patterns in C by Adam Tornhill (Leanpub, 2014). It also presents patterns and focuses on how to implement the Gang of Four design patterns with C.” (FlueC 2023)

Closing Remarks

Compared to a C programmer fresh out of their studies, you now have advanced knowledge on which techniques to use to compose larger-scale and industrial-strength C code. You can now:

perform error handling, even though you don't have a mechanism like exceptions

manage your memory, even though you don't have a garbage collector and you don't have destructors to clean up the memory

implement flexible interfaces, even though you don't have native abstraction mechanisms

structure files and code, even though you don't have classes or packages You are now able to work with C, despite it lacking some of the conveniences of modern programming languages.“ (FlueC 2023)

276 | Chapter 12: Conclusion

” (FlueC 2023)

Fair Use Source: 1492097330 (FlueC 2023)

Fair Use Sources

C Language: C Fundamentals, C Inventor - C Language Designer: Dennis Ritchie in 1972; C Standards: ANSI X3J11 (ANSI C); ISO/IEC JTC 1 (Joint Technical Committee 1) / SC 22 (Subcommittee 22) / WG 14 (Working Group 14) (ISO C); C Keywords, C Pointers, C Data Structures - C Algorithms, C Syntax, C Memory Management, C Recursion, C on Android, C on Linux, C on macOS, C on Windows, C Installation, C Containerization, C Configuration, C Compiler, C IDEs (CLion), C Development Tools, C DevOps - C SRE, C Data Science - C DataOps, C Machine Learning, C Deep Learning, C Concurrency, C History, C Bibliography, Manning C Programming Series, C Glossary, C Topics, C Courses, C Standard Library, C Libraries, C Frameworks, C Research, C GitHub, Written in C, C Popularity, C Awesome List, C Versions. (navbar_c)

Design Patterns: Design Patterns - Elements of Reusable Object-Oriented Software by GoF, Awesome Design Patterns, Awesome Software Design, Pattern, Design, Anti-Patterns, Code Smells, Best Practices, Software Architecture, Software Design, Design Principles, Design Patterns Bibliography, C Language Design Patterns, C++ Design Patterns, C# Design Patterns, Golang Design Patterns, Java Design Patterns, JavaScript Design Patterns, Kotlin Design Patterns, Node.js Design Patterns, Python Design Patterns, TypeScript Design Patterns, Scala Design Patterns, Swift Design Patterns. (navbar_designpatterns)


Cloud Monk is Retired (for now). Buddha with you. © 2005 - 2024 Losang Jinpa or Fair Use. Disclaimers

SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.


fluent_c_-_principles_practices_and_patterns_conclusion.txt · Last modified: 2023/09/29 06:13 by 127.0.0.1