Язык си для профессионалов

Язык си для профессионалов

Приносим извинения за неудобства, но Ваш IP-адрес входит в «серый список».

Возможно Вы используете анонимайзеры/прокси/VPN или другие подобные средства (TOR, friGate, ZenMate и т.п.).

Пожалуйста пройдите проверку ReCaptcha ниже для перехода на сайт.

We apologize for the inconvenience, but your IP address is «graylisted».

Probably you are using anonymizers/proxy/VPN or similar tools (TOR, friGate, ZenMate etc.).

Please use ReCaptcha check below to enter the website.

    Книги, 29 марта 2018 в 16:35

В этой подборке освещены книги, которые могут помочь программистам, уверенно владеющим C++, освоить такие темы, как параллельное программирование, метапрограммирование, обобщенное программирование, и т.д. В конце вы можете найти справочники по C++, которые пригодятся разработчикам любого уровня.

Для профессионалов

Современное проектирование на C++

Книга по продвинутому обобщенному программированию. Описывает фундаментальные идиомы обобщенного программирования, показывая, сколько полезных паттернов (например, аллокаторы маленьких объектов, функторы, фабрики, посетители и мультиметоды) может быть реализовано эффективно, модулярно и исключительно средствами дженерик-программирования.

Practical C++ Metaprogramming

Книга от издательства O’Reilly. В начале читателя знакомят с понятием метапрограммирования. В последующих главах подробно рассматривается практическая сторона вопроса, а именно:

  • работа с библиотеками Boost.MPL, Boost.Hana и Brigand;
  • разбор техник для написания более компактного, красивого и безопасного кода с помощью метапрограммирования;
  • использование «фишек» стандартов C++11 и C++14, позволяющих писать более простой код;
  • написание кода, требующего существенно меньшее количество тестов и затрат на обслуживание.

Книга распространяется свободно, достаточно заполнить регистрационную форму.

The Boost C++ Libraries

Цель данной книги — дать читателю базовые знания о библиотеке Boost. Boost очень часто используется в крупных проектах, написанных на C++, поскольку она предлагает множество функций, которые пока отсутствуют в стандартах C++. Например, реализацию графов, работу с регулярными выражениями, различные настраиваемые псевдослучайные генераторы, и т.д. Использование данной библиотеки позволяет существенно ускорить разработку, за что она получила признание сообщества программистов, пишущих на C++. К тому же знание этой библиотеки будет существенным плюсом в резюме.

C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond

Книга объясняет, что такое метапрограммирование, почему это важно и как уникальное сочетание функций в C ++ делает его особенно мощным языком для метапрограммирования. В нем также освещена ​​библиотека Boost — мощная среда с открытым исходным кодом, базирующаяся на идиомах STL, что делает процесс ее изучения более приятным.

Параллельное программирование на С++ в действии. Практика разработки многопоточных программ

Книга, рассказывающая о поддержке многопоточности в С++11. Включает в себя описания библиотеки потоков, atomics-библиотеки, модели памяти С++, блокировок и мьютексов (взаимных исключений) вместе с распространенными проблемами дизайна и дебага мультипоточных приложений.

Advanced Metaprogramming in Classic C++

Руководство, написанное до выхода С++11, фокусирующееся больше на практике, чем на теории. Содержит множество примеров кода, рассказывает о приемах, которые, без сомнения, полезно знать. Если вы сможете смириться с плохим оформлением, то читать эту книгу легче, чем Александреску, и, что спорно, почерпнете из нее больше. Даже профессиональные разработчики смогут найти для себя что-то новое.

Справочники для всех уровней

Язык программирования С++

Классическое введение в С++, написанное автором этого языка. Легко читается и покрывает все аспекты технологии, начиная от самого языка и стандартной библиотеки и заканчивая парадигмами программирования и философией С++ (последние издания преодолели барьер в 1000 страниц). Четвертое издание, выпущенное в мае 2013 года, покрывает и С++11.

Стандартная библиотека C++. Справочное руководство

Справочник по стандартной библиотеке С++. Второе издание покрывает С++11. В книге основной упор делается на стандартную библиотеку шаблонов (STL), в особенности на алгоритмы, итераторы, контейнеры и функциональные объекты. Помимо этого, в книге освещается современный стиль программирования на C++, в частности:

  • диапазонные циклы for;
  • лямбда-функции;
  • вариативные шаблоны.

Standard C++ IOStreams and Locales: Advanced Programmer’s Guide and Reference

В книге содержится исчерпывающая информация о потоках и локалях. Авторы поясняют, какие проблемы могут решить два этих компонента, и иллюстрируют теорию огромным количеством примеров. В книге достаточно много материала о концепции потоков и локалей, их архитектуре, а также представлены различные варианты их использования. Книгу очень удобно использовать, когда требуется решить проблему в коде, связанную с этими двумя компонентами, за что она заслуженно попала в подборку.

Читайте также:  Где можно заказать товары из китая

Стандарт С++

Полный справочник по всему С++. Предназначен только для профессионалов, которые готовы потратить кучу времени и усилий на его изучение и понимание. Если вы отчаялись искать ответ на ваш вопрос в различных учебниках и даже на Stack Overflow, попробуйте его найти здесь. Осторожно, погружение в глубины C++ не для слабонервных.

Presentation Materials: Overview of the New C++ (C++11/14)

Материалы презентации (слайды и заметки лектора) с трехдневного тренировочного курса, проведенного Скоттом Мэйерсом, который считается уважаемым писателем в данной сфере. И хотя количество поднятых тем мало, качество на высоте. На семинаре обсуждались ключевые функции стандартов C++11 и C++14, а также возможности их использования.

Полный справочник по C++

В книге описаны все ключевые слова, функции, классы и свойства языка С++, соответствующие стандарту ANSI/ISO. Отлично подойдет для того, чтобы время от времени в нее заглядывать и находить нужные ответы на интересующие вопросы. Справочник состоит из пяти частей:

  • подмножество Си;
  • язык С++;
  • библиотека стандартных функций;
  • библиотека стандартных классов;
  • приложения на языке С++.

Понравилась подборка? Поделитесь своим мнением в комментариях.

Книги — вещь для профессионалов, и книги для программистов — не исключение. В данной статье мы отобрали 9 книг для изучения языка C.

C — процедурный высокоуровневый язык, который, пожалуй, больше всего повлиял на то, каким мы сегодня видим программирование. Он был создан для того, чтобы обеспечить программисту низкоуровневый доступ к памяти компьютера, чтобы писать эффективный код, который требует минимальной поддержки во время работы. Множество языков программирования обязано C своим существованием. Некоторые называют C латынью в мире программирования.

Язык лёгок на чтение. Он позволяет программисту структурировать код и делать его более читабельным. К тому же, язык очень гибкий, практичный и компактный, с легко понимаемым синтаксисом. Код, написанный на C, работает быстро, обеспечивает низкоуровневый доступ к памяти. Директивы компилятора позволяют программе, скомпилированной на одной архитектуре, благополучно работать и на других. C очень многогранен, и о нём было написано много книг.

Предлагаем вашему вниманию 9 книг для изучения языка C, которые могут вас зацепить, если, конечно, английский для вас — не проблема. Надеемся, этот сборник книг станет для вас удачным началом изучения C.

Книга, написанная Майком Банаханом (Mike Banahan), Декланом Брэйди (Declan Brady) и Марком Дораном (Mark Doran).

"The C Book" открывает наш сборник книг. Она написана для программистов, которые уже имеют опыт в использовании других современных процедурных языков программирования. Книга фокусируется на особенных для C вещах. А именно, на том, ради чего C был изначально придуман.

Некоторые из глав:

  • Вступление в C
  • Переменные и арифметика — посвящает читателя в фундаментальные основы языка, знакомит его с ключевыми словами, идентификаторами, объявлениями переменных, вещественным, целочисленным типами данных, выражениями, арифметикой в языке, а также с константами
  • Порядок выполнения программы и логические выражения — посвящает читателя в жизненный цикл программы, логические выражения, которых не было в предыдущей главе
  • Функции — возвращаемые значения, входные аргументы, рекурсии
  • Массивы и указатели — массивы, указатели, символьный тип данных, sizeof() и выделение памяти, указатели функций, выражения со знаком &, объявление функций
  • Структурированные типы данных — структуры, union, bitfield, enum, классификаторы, производные типы данных и инициализация
  • Препроцессор — как он работает и как разбор директив
  • Специальные разделы C — декларации, определения, typedef, const и volatile
  • Библиотеки — диагностика, управление символами, локализация, ограничения, математические функции, нелокальные goto, управление сигналами, ввод-вывод, форматированный ввод-вывод, неформатированный ввод-вывод, управление строками, дата, время и т.д
  • Готовые программы на C — складываем всё вместе, программы для отображения аргументов, программы сопоставления с образцом и другие, более амбициозные примеры.

Авторы дают право читателям свободно распространять книгу в случае, если авторы книги об этом знают. Один из авторов Майк Банахан подтвердил, что книга находится под лицензией Creative Commons.

Написано Стивом Уалайн (Steve Oualline).

C Elements of Style — одна из самых полезных книг, она покрывает принципы хорошего стиля в написании кода, учит C и C++ программистов тому, как писать читабельный код, который будет с лёгкостью понят другими программистами и будет легко поддерживаемым. Не имеет значения, студенты вы или профессионал, вы, определённо, сможете вынести что-то для себя из этой книги, а именно — огромное число советов по построению элегантного, надёжного кода.

Читайте также:  Домкрат техрим t040006 отзывы

Автор пытается продемонстрировать использование хорошего стиля программирования в своём коде. Так как компьютер читает строки кода, а человек больше фокусируется на комментариях, хорошо написанный код содержит в себе и то, и другое.

Главной целью книги является научить читателя писать хорошо структурированный код, который не только эффективно использует ресурсы компьютера, но и содержит в себе комментарии. Такой код будет легко исправлять, поддерживать и совершенствовать.

Книга содержит в себе целые руководства по таким вещам, как написание комментариев в шапке кода, именование переменных, форматирование выражений и так далее.

Как и предыдущий экземпляр, книга опубликована по лицензии Creative Commons.

Написано Даниелем Холденом (Daniel Holden).

Изучите язык C и одновременно научитесь создавать свой собственный язык программирования Lisp в менее, чем 1000 строках кода.

Эта книга подойдёт тем, кто хочет освоить язык C и тем, кто хоть раз задавался вопросом "как создать язык программирования". Стоит отметить, что книга не для новичков, так как вам стоит иметь некоторый опыт в программировании, чтобы читать и понимать содержание.

Build Your Own Lisp находится под лицензией Creative Commons Attribution-NonCommercial-ShareAlike 3.0.

Мягкий переплёт можно заказать на Amazon.

Книга написана Трэвисом Ротвеллом (Trevis Rothwell) и Джэймсом Янгманом (James Yongman)

The GNU C Reference Manual — это справочное руководство по языку C и направлено на стандарт ANSI C 1989, ISO C 1999 и GNU расширение стандартного C. Нужно отметить, что книга написана не для новичков, а скорее для тех, у кого есть опыт.

Книга включает следующие главы:

  • Лексические элементы — книга объясняет читателю лексические элементы, которые входят в исходный код на языке C после препроцессинга. Эти элементы называются токенами (token). Есть 5 типов токенов: ключевые слова, идентификаторы, константы, операторы и разделители.
  • Типы данных — рассматривает примитивные типы данных в языке C, enum, union, структуры, массивы, указатели, классификаторы и так далее
  • Выражения и операторы — такие вещи, как инкрементирование, декрементирование, арифметические операторы, комплексное сопряжение, операторы сравнения, логические операторы и так далее
  • Стейтменты — if statement, switch, while, do, for, null, goto, break, continue, return, typedef.
  • Функции — объявление функций, вызов функций, параметры функции и т.д
  • Структура программы — рассмотрение полной картины жизненного цикла программы
  • Программа на C — готовая программа, написанная на C, состоящая из исходного кода на C, а также заголовочного файла. По факту, эта программа — расширенная версия всем известного "hello world" и служит для того, что показать читателю, как правильно форматировать и структурировать код на языке C для использования в программах для FSF Project GNU

Книга находится под бесплатной лицензией GNU Free Documentation, версии 1.3.

Книга написана Марком Бюргсом (Mark Burgess) и Роном Хэйл-Эвансом (Ron Hale-Evans).

The GNU C Programming Tutorial представляет читателю базовые идеи в логическом порядке. Книга затрагивает все важные элементы языка C с упором на компилятор GNU/Linux и связанное с ним программное обеспечение.

Главы книги охватывают такие вещи, как функции, переменные, параметры, указатели, логические операторы, циклы, массивы, строки, ввод и вывод данных и многое другое.

Книга находится под бесплатной лицензией GNU Free Documentation License, версии 1.1.

Одна из лучших книг, написана Ником Парланте (Nick Parlante).

Стэнфордская статья по CS, которая в то же время являтеся источником, который описывает все ключевые особенности и техники использования языка C. Следует отметить, что всё описано очень кратко, так как книга направлена на программиста, который имеет опыт в использовании другого языка.

  • Вступление
  • Базовые типы данных и операторы
  • Структуры данных
  • Комплексные типы данных
  • Функции
  • Массивы и указатели
  • Standard Library Reference

По словам автора, книга находится под лицензией open-source.

Книга написана Брайаном "Бидж" Холл (Brian "Breej" Hall).

Автор пытается привести читателя из состояния полной растерянности до состояния абсолютного понимания материала, и делает он это с использованием языка C.

  • Написание кода и блоки кода
  • Переменные, выражения
  • Функции
  • Продолжение главы про переменные
  • Указатели
  • Структуры данных
  • Массивы
  • Строки
  • Динамическая память
  • Больше всего интересного — затрагиваются такие вещи, как 2-х и 3-х мерные массивы, пустые указатели, глобальные переменные и так далее
  • Библиотека iostream
  • Манипуляции со строками
  • Математика
Читайте также:  Форд мондео форум владельцев

Данная книга находится под лицензией Creative Commons Attribution-Noncommercial- No Derivative Works 3.0 License.

Книга написана Дженсом Густедтом (Jens Gustedt).

Книга призвана смотивировать читателя идти вверх и узнавать что-то новое. Она разделена на 5 отдельных частей:

  • Первая — базовые программы, написанные на языке C, их структура, как их использовать и так далее
  • Вторая — в этой части рассматриваются самые фундаментальные концепции и особенности языка C. Из них: типы данных, функции и операторы. Книга нацелена на то, чтобы дать читателю более глубокое понимание вещей, которые происходят в работающей программе
  • Третья — сердце языка C. Здесь идёт объяснение таких вещей, как указатели и модель памяти в языке C
  • Четвертая — более детальное описание таких вещей, как оптимизация, автоматизирование, потоки и так далее
  • Пятая — в последней части автор рассуждает о дальнейшем развитии языка C

Книга находится под лицензией Creative Commons Attribution-Noncommercial- No Derivative Works 3.0 License.

Книга написана Брайаном Гафом (Brian Gough).

Книга сама по себе, является этаким первым шагом в GNU C и C++ компиляторы — gcc и g++, которые являются частью GNU Compiler Collection (GCC).

Книга объясняет, как используются компиляторы. Основываясь на многолетних исследованиях, автор описывает читателю все самые важные аспекты GCC.

Содержание:
  • Вступление
  • Компилирование программы на языке C — в главе объясняется то, как скомпилировать программу на языке C, используя gcc. Программы могут быть скомпилированы с одного или нескольких исходных файлов, а так же системных файлов и header-файлов
  • Варианты компиляции — автор рассказывает читателю о малоизвестных фишках компиляторов в GCC. Это могут быть разные пути к библиотекам и include-файлам, использование дополнительных диагностик на ошибки, макросы препроцессора и диалекты языка C
  • Использование препроцессора — в данной главе идёт объяснение того, как используется препроцессор GNU C CPP, который является частью пакета GCC.
  • Компилирование и отладка
  • Компилирование с оптимизацией — GCC — это оптимизирующий компилятор. Он предоставляет широкий ряд опций, которые направлены на увеличение скорости, уменьшение размера файлов и так далее
  • Компилирование программы на C++ — здесь идёт объяснение того, как компилируются программы на C++ с помощью компилятора GCC
  • Различные опции под разные платформы — в данной главе автор рассказывает о различных опциях, доступных для разных платформ: Intel и AMD x86, расширение x86, x86 64-битные процессоры, DEC Alpha, SPARC, POWER/PowerPC, мультиархитектурная поддержка и так далее
  • Отладка — GCC предоставляет нам разные инструменты для диагностики проблем в процессе компиляции
  • Инструменты для компилятора — автор рассказывает о различных инструментах, которые могут быть полезны вместе с GCC. В них входят: GNU архиватор для создания библиотек, программы для покрытия кода тестами gprof и gcov и другие
  • Как работает компилятор — в данной главе рассказывается в деталях о том, как GCC преобразовывает исходный код в исполняемый файл. Компиляция — это процесс, в котором нужен сам компилятор GNU (через gcc или g++ интерфейсы), GNU сборщик as и GNU линкер ld.
  • Проверка скомпилированных файлов — некоторые полезные инструменты для проверки скомпилированных файлов
  • Распространённые ошибки — самые распространённые ошибки, возникающие во время использования gcc и g++. Каждая из ошибок представлена с описанием, возможной причиной и решением
  • Дополнительные материалы — если читатель чего-то не понял в процессе чтения, то автор приводит ряд полезных источников для более подробного изучения GCC

Книга находится под бесплатной лицензией GNU Free Documentation License.

Предлагаем вам ознакомиться ещё с рядом книг, которые можно скачать, но которые, к сожалению, находятся не под open-source лицензией, либо же информация о лицензии которых не ясна.

И под конец, моя рекомендация: приобретите каноничную книгу по языку C: The C Programming Language. Хоть она и не для начинающих, но очень часто упоминается как классическая книга для изучения C.

Ссылка на основную публикацию
Этот номер недавно использовался вконтакте сколько ждать
При регистрации страницы или привязке номера ВК пишет: «Этот номер недавно использовался» или «К этому номеру уже привязана страница. Пожалуйста,...
Шарик равноускоренно скатывается по наклонной плоскости
За каждую секунду, путь пройденный шариком,увеличивается на 20см. Следовательно за 4 секунду он пройдет 70см. Ответ:(2) Если ответ по предмету...
Шарнирная стойка для дрели
Стойка для дрели с тисками FIT 37861 Стойка для дрели Калибр 96203 Стойка для дрели RedVerg DS-43 Стойка для дрели...
Эффект памяти аккумуляторов что это
Wikimedia Foundation . 2010 . Смотреть что такое "Эффект памяти аккумулятора" в других словарях: Эффект памяти — аккумулятора Эффект памяти...
Adblock detector