Why Learn C: Go Behind the Curtain of Modern Systems with C23
Don’t count C out. The classic programming language remains the backbone of many modern software systems including operating systems, relational databases, libraries, embedded systems, and even the core components of other programming languages.

This book teaches C23 while also building a foundation that strengthens your programming skills regardless of what language you normally program in. Starting with a tour of C, it highlights C’s core concepts using example programs to give you the flavor of C. Next, it covers the entire C23 language including topics not often covered elsewhere such as undefined behavior, assertions, atomic variables, lock-free programming, debugging, advanced use of the preprocessor using _Generic, and more. Finally, it gives extended examples of how features common in modern programming languages might be implemented—including lists, maps, dynamic dispatch, and exceptions.

This book includes many in-line notes containing commentary, explanations for why something is the way it is, historical context, best practices, and details often glossed over in modern languages. Additionally, it gives examples that evolve with the introduction of new language features.

What You Will Learn:

· Write programs in C using the new features introduced in C23.

· Explore advanced or obscure parts of C not explained well elsewhere, if at all.

· See how strings, lists, maps, dynamic dispatch, and exceptions might be implemented from scratch to understand what’s really going on in whatever language you program in.

Who This Book is for:

Professional programmers, computer science instructors, students or experienced hobbyists who understand programming language concepts (variables, statements, loops, functions, arrays, classes, objects, etc.) and have basic familiarity with algorithm characterization given in “big O” notation.

1147389727
Why Learn C: Go Behind the Curtain of Modern Systems with C23
Don’t count C out. The classic programming language remains the backbone of many modern software systems including operating systems, relational databases, libraries, embedded systems, and even the core components of other programming languages.

This book teaches C23 while also building a foundation that strengthens your programming skills regardless of what language you normally program in. Starting with a tour of C, it highlights C’s core concepts using example programs to give you the flavor of C. Next, it covers the entire C23 language including topics not often covered elsewhere such as undefined behavior, assertions, atomic variables, lock-free programming, debugging, advanced use of the preprocessor using _Generic, and more. Finally, it gives extended examples of how features common in modern programming languages might be implemented—including lists, maps, dynamic dispatch, and exceptions.

This book includes many in-line notes containing commentary, explanations for why something is the way it is, historical context, best practices, and details often glossed over in modern languages. Additionally, it gives examples that evolve with the introduction of new language features.

What You Will Learn:

· Write programs in C using the new features introduced in C23.

· Explore advanced or obscure parts of C not explained well elsewhere, if at all.

· See how strings, lists, maps, dynamic dispatch, and exceptions might be implemented from scratch to understand what’s really going on in whatever language you program in.

Who This Book is for:

Professional programmers, computer science instructors, students or experienced hobbyists who understand programming language concepts (variables, statements, loops, functions, arrays, classes, objects, etc.) and have basic familiarity with algorithm characterization given in “big O” notation.

64.99 In Stock
Why Learn C: Go Behind the Curtain of Modern Systems with C23

Why Learn C: Go Behind the Curtain of Modern Systems with C23

by Paul J. Lucas
Why Learn C: Go Behind the Curtain of Modern Systems with C23

Why Learn C: Go Behind the Curtain of Modern Systems with C23

by Paul J. Lucas

Paperback(First Edition)

$64.99 
  • SHIP THIS ITEM
    In stock. Ships in 1-2 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

Don’t count C out. The classic programming language remains the backbone of many modern software systems including operating systems, relational databases, libraries, embedded systems, and even the core components of other programming languages.

This book teaches C23 while also building a foundation that strengthens your programming skills regardless of what language you normally program in. Starting with a tour of C, it highlights C’s core concepts using example programs to give you the flavor of C. Next, it covers the entire C23 language including topics not often covered elsewhere such as undefined behavior, assertions, atomic variables, lock-free programming, debugging, advanced use of the preprocessor using _Generic, and more. Finally, it gives extended examples of how features common in modern programming languages might be implemented—including lists, maps, dynamic dispatch, and exceptions.

This book includes many in-line notes containing commentary, explanations for why something is the way it is, historical context, best practices, and details often glossed over in modern languages. Additionally, it gives examples that evolve with the introduction of new language features.

What You Will Learn:

· Write programs in C using the new features introduced in C23.

· Explore advanced or obscure parts of C not explained well elsewhere, if at all.

· See how strings, lists, maps, dynamic dispatch, and exceptions might be implemented from scratch to understand what’s really going on in whatever language you program in.

Who This Book is for:

Professional programmers, computer science instructors, students or experienced hobbyists who understand programming language concepts (variables, statements, loops, functions, arrays, classes, objects, etc.) and have basic familiarity with algorithm characterization given in “big O” notation.


Product Details

ISBN-13: 9798868815966
Publisher: Apress
Publication date: 10/08/2025
Edition description: First Edition
Pages: 404
Product dimensions: 6.10(w) x 9.25(h) x (d)

About the Author

Paul J. Lucas started programming on Commodore PETs at his high school. Courtesy of his parents, the first computer he owned was an Apple ][plus that he programmed in BASIC, Pascal, Fortran, and 6502 Assembly. At some point, he upgraded to a Macintosh. During his undergraduate studies, he taught himself C. He’s been programming in C (on and off) ever since. He’s also programmed in Bash, Go, Java, Perl, and Python. Of all those, C and C++ are still his favorites.

He started his career at AT&T Bell Labs in telephony, log file visualization, testing cfront (the original C++ compiler), and wrote The C++ Programmer’s Handbook. He’s also worked at NASA Ames Research Center, various start-ups, and lastly at Splunk. He holds patents on data visualization class libraries, visual log file analysis, programming language type systems, skewing of scheduled search queries, and cache-aware searching. He developed open-source projects including CHSM, a finite state automata compiler and run-time system, used by both telecommunications companies and CERN for managing complex reactive systems; and maintains cdecl, the C and C++ gibberish-to-English translator.

Table of Contents

Part 1. Learning C.- 1. A Tour of C.- 2. Comments, Names, and Types.- 3. Operators .- 4. Declarations.- 5. Statements.- 6. Arrays and Pointers.- 7. Enumerations.- 8. Preprocessor.- 9. Functions.- 10. Structures.- 11. Unions.- 12. Input, Output, and Files.- 13. Program Organization.- 14. Multithreading.- Part 2. Selected Topics.- 15. Undefined Behavior.- 16. Assertions.- 17. _Atomic.- 18. Debugging.- 19. Generic.- 20. setjmp and longjmp.- 21. restrict.- 22. volatile.- Part 3. Extended Examples.- 23. Strings.- 24. Lists.- 25. Maps.- 26. Dynamic Dispatch.- 27. Exceptions in C.- A. Standard Headers.- B. Standard Functions.- C23 Differences.

From the B&N Reads Blog

Customer Reviews