
Why Learn C
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
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.
More details
Other editions
Additional editions

Person
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.
Content
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.
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.