«Эффективный C. Профессиональное программирование», Роберт С. Сикорд (2022).
Мир работает на коде, написанном на C, но в большинстве учебных заведений программированию учат на Python или Java. Книга «Эффективный C. Профессиональное программирование» восполняет этот пробел и предлагает современный взгляд на C. Здесь рассмотрен C17, а также потенциальные возможности C2x. Издание неизбежно станет классикой, с его помощью вы научитесь писать профессиональные и надежные программы на C, которые лягут в основу устойчивых систем и решат реальные задачи.
А какая разница современный или нет, те же malloc()и free(), любое действие вручную, повышенная опасность падения на любом моменте, от этого никуда не деться. Сегодня школоло это всё не любят.
...Эта книга представляет собой вводный материал по языку C. Она написана так, чтобы быть понятной любому, кто хочет научиться программировать на данном языке...
void swap(int *pa, int *pb) { int t = *pa; *pa = *pb; *pb = t; return; } Но это так, навскидку. В остальном книга в таком же характере. Не советую, есть литература получше. Но и прямо отговаривать тоже не буду. На личном опыте понял, что каждому заходит свое...
P.S. И вишенка на торт:
"Если вы приобрели электронную версию книги, то скопируйте код программы в редактор. По возможности используйте функции копирования и вставки, поскольку это может избавить вас от опечаток при ручном вводе. "
One of the most common criticisms of the C programming language is that dynamically allocated objects are not automatically released. And those who say this are right: memory leaks are a very common issue in C code, including the Linux kernel. Does that mean that C is useless, and the whole kernel should be rewritten in Rust as soon as possible? Definitely not, and even though some code is being rewritten in Rust, the great majority of the new code added with every release is still in C, and that will not change any soon. Instead, we should try to mitigate current pitfalls with new solutions… or simply start using the existing ones, like the Linux kernel recently did.
Небольшой сборник лекций и лабораторных работ по ядру Linux. Лекции посвящены теоретическому исследованию ядра Linux. Лабораторки сделаны в стиле инструкций. Для версии 5.10.14
"Linux Kernel Programming. Second Edition: A comprehensive and practical guide to kernel internals, writing modules, and kernel synchronization", 2024 (by Kaiwan N. Billimoria)
What you will learn: * Configure and build the 6.1 LTS kernel from source * Write high-quality modular kernel code (LKM framework) for 6.x kernels * Explore modern Linux kernel architecture * Get to grips with key internals details regarding memory management within the kernel * Understand and work with various dynamic kernel memory alloc/dealloc APIs * Discover key internals aspects regarding CPU scheduling within the kernel, including cgroups v2 * Gain a deeper understanding of kernel concurrency issues * Learn how to work with key kernel synchronization primitives
Who this book is for: This book is for beginner Linux programmers and developers looking to get started with the Linux kernel, providing a knowledge base to understand required kernel internal topics and overcome frequent and common development issues.
Table of Contents: * Linux Kernel Programming - A Quick Introduction * Building the 6.x Linux Kernel from Source - Part 1 * Building the 6.x Linux Kernel from Source - Part 2 * Writing Your First Kernel Module - Part 1 * Writing Your First Kernel Module - Part 2 * Kernel Internals Essentials - Processes and Threads * Memory Management Internals - Essentials * Kernel Memory Allocation for Module Authors - Part 1 * Kernel Memory Allocation for Module Authors - Part 2 * The CPU Scheduler - Part 1 * The CPU Scheduler - Part 2 * Kernel Synchronization - Part 1 * Kernel Synchronization - Part 2
Много раз слышал, что "функциональщина" это для Haskell, Lisp или на худой конец для Ruby или Python. Но что на счет С? Используете ли в своих проектах?
Ваше отношение к функциональному программированию на С
Anonymous poll
Вообще без проблем
·
11
30.56 %
Не имею ничего против, но сам(а) не использую (не хочу)
·
4
11.11 %
Не имею ничего против, но сам(а) не использую (не знаю как)
In February 1983, Chris Morgan, Gregg Williams (Senior Editor), and Phil Lemmons (West Coast Editor) met with Wayne Rosing, Bruce Daniels, and Larry Tesler from Apple’s Lisa project to discuss the upcoming system. While the Lisa was not hugely successfully (mainly because of the high price), it did lay the ground work for the much more successfuly Macintosh, which was related the following year. Enjoy!
"Язык С. Мастерство программирования" Кристофер Прешерн (2023)
В этой книге начинающие и опытные программисты на C найдут наставления по принятию проектных решений, включая пошаговое применение паттернов к сквозным примерам. Кристофер Прешерн, один из ведущих членов сообщества паттернов проектирования, рассказывает, как организовать программу на C, как обрабатывать ошибки и проектировать гибкие интерфейсы. Ищете ли вы конкретный паттерн или вам нужен обзор проектных решений, относящихся к определенной теме, эта книга будет в помощь.
В части I вы научитесь реализовывать проверенные практикой подходы к программированию на языке C; часть II покажет, как паттерны программирования на C применяются к реализации более крупных программ.
1.1. Алгоритм Евклида. 1.2. Системы счисления. 1.3. Числа Фибоначчи. Допсеминар: UNIX Shell. 2.1. Cтруктуры и асимптотика алгоритмов. 2.2. Побитовые вычисления. 2.3. Время и случайность. Углубление пройденного: логическая память и виртуальная память. 3.1. Линейный поиск и простые сортировки. 3.2. Анализ алгоритмов: бинарный поиск и сортировка. ...
Read and comment on posts you like from this community
Go up
Stay up to date
Sign in and follow your favorite community so that you don't miss any new posts.
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word
C programming in UNIX/Linux
Мир работает на коде, написанном на C, но в большинстве учебных заведений программированию учат на Python или Java. Книга «Эффективный C. Профессиональное программирование»
восполняет этот пробел и предлагает современный взгляд на C.