Пятница
17.05.2024, 03:38
| RSS
Главная
Меню сайта

Категории раздела
Madriva [3]
Ubuntu (KUbuntu, EdUbuntu, XUbuntu) [78]
SUSE [1]
Fedora Core [9]
ASPLinux [1]
Debian [16]
Gentoo [3]
Другие [167]

Мини-чат

Наш опрос
Какую графическую среду Вы используете?
Всего ответов: 103

Статистика

Rambler's Top100Рейтинг@Mail.ru

Главная » 2009 » Март » 22 » Что почитать UNIX C/C++ программисту
Что почитать UNIX C/C++ программисту
08:34
Опыт программирования на C/C++ у меня относительно небольшой и, возможно, поэтому я еще помню, как в самом начале было тяжело определиться, с чего начинать свое изучение программирования под UNIX на C/C++. Поэтому попытаюсь слегка облегчить вам жизнь, приведя список книг (о которых удалось вспомнить), которые я прочитал, и какие впечатления у меня от них остались.

Хочу отметить, что книги - это не единственный источник информации. Если вы регулярно читаете различные статьи в Интернете, то у вас зачастую есть шанс найти в них что-то такое, о чем не напишут ни в одной книге и наоборот. Поэтому я бы советовал вам подписаться на RSS каких-нибудь новостных ресурсов, на которых время от времени пробегают интересные статьи. Например:
Также я бы посоветовал не лениться и читать все комментарии к заинтересовавшим вас статьям - нередки случаи, когда комментарии оказывались ценнее самой статьи. :)

Помимо книг я попытался вспомнить хотя бы несколько статей, которые мне в свое время показались наиболее интересными, и привел ссылки на них.

Не знаю, насколько данный список подойдет вам, но лично я был бы очень рад, если бы кто-нибудь дал мне его пару лет назад. Книги я расположил в таком порядке, в котором читал их сам. Порядок, я считаю, правильный и лучше придерживаться его.


Книги

Б. Керниган, Д. Ритчи - Язык программирования Си.
Эту книгу вам посоветуют на любом форуме, если вы спросите "Что почитать начинающему C программисту", и, пожалуй, будут правы. Для начинающего это, скорее всего, лучший вариант.

Х.М. Дейтел, П.Дж. Дейтел - Как программировать на C++.
Так получилось, что "Язык программирования Си" - это, если не ошибаюсь, единственная книга по С (не C++), которую я прочитал. После нее я продолжил свое обучение с "Как программировать на C++", в которой узнал много нового о C, о чем не говорилось в "Языке программирования Си" и основные возможности C++. На мой взгляд, очень неплохая книга для начинающих. Авторы постепенно вводят читателя в мир C/C++, не забывая при этом останавливаться на вопросах совместимости, быстродействия и хорошего стиля программирования, что является несомненным плюсом данной книги.

Андрей Робачевский - Операционная система UNIX.
Читал довольно давно, так что уже и не помню насколько это стоящая книга, но в целом впечатления от нее остались хорошие.

Эрик С. Реймонд - Искусство программирования для UNIX.
Если не ошибаюсь, данная книга не содержит ни одной строчки кода, но это не делает ее менее интересной. Автор анализирует философию UNIX и основные принципы написания программ. Читается на одном дыхании. Очень советую.

С. Макконнелл - Совершенный код.
Совершенный код мне не понравился. Обычно, если я покупаю книгу, то читаю ее от корки до корки. Эта же книга, пожалуй, единственная, которую я не прочитал и до середины. Такое впечатление, что автор стремился сделать ее как можно толще и поэтому мусолит любую, даже самую очевидную проблему, которая может встретиться программисту - просто скучно читать. На мой взгляд, если вы прочитаете пару хороших книг по C/C++ и "Искусство программирования для UNIX", то не найдете в ней ничего нового.

Ричард Стивенс, Стивен Раго - UNIX. Профессиональное программирование.
Ричард Стивенс - UNIX. Разработка сетевых приложений.
Отличные книги. Читать обязательно. После их прочтения действительно начинаешь понимать, как "оно" работает.

Бьерн Страуструп - Язык программирования C++.
Обожаю книги, в которых авторы уделяют большое внимание деталям, а не останавливаются только на общем описании проблемы. "Язык программирования C++" - одна из немногих таких книг. Получил огромное удовольствие от прочтения данной книги. Всем советую. Однако, новичкам перед ее прочтением я бы порекомендовал сначала прочитать "Как программировать на C++".

Крис Касперски - Техника оптимизации программ. Эффективное использование памяти.
К моему удивлению, я ни разу не слышал упоминания данной книги на форумах (может быть, не туда ходил) и считаю, что ее незаслуженно обошли стороной. Ее нам порекомендовал преподаватель в институте, за что ему огромное спасибо. Прочитав данную книгу, вы поймете, что, оказывается, для написания хороших программ одного только знания языка порой оказывается недостаточно - так же важно иметь хотя бы базовое представление о том, как устроен компьютер. Пусть вы, скорее всего, и не будете применять большинство методов, описанных в данной книге в силу их слишком агрессивной оптимизации под конкретную архитектуру, но, прочитав ее, вы впоследствии при разработке программ будете учитывать хотя бы базовые принципы, которые могут значительно повысить скорость работы программы, при этом не отняв у вас времени на оптимизацию (принцип использования "как можно более локальных" данных и т. п.). Да, и пусть слова "Эффективное использование памяти" вас не смущают - речь в данной книге пойдет отнюдь не о ее экономии, а именно о эффективном ее использовании. В качестве затравки могу порекомендовать статью "Разработка на PC и производительность — Memory Latency" (см. ссылку в разделе статьи).

Конечно, это далеко не весь список книг, которые я прочитал. :) Но когда я начал вспоминать, какие из них посоветовать для изучения программирования на C/C++ по UNIX, то мне почему-то вспомнились именно они.


Статьи

Программирование в Linux с нуля
Программирование для Unix/Linux
Using GNU C __attribute__
Reading C type declarations
Ключевое слово volatile
Функциональное программирование для всех
Основы написания переносимого кода (обязательно почитайте комментарии к статье)
20 ловушек переноса Си++ - кода на 64-битную платформу
Data alignment: Straighten up and fly right
Разработка на PC и производительность — Memory Latency


Что дальше?

Если говорить о C++, то, судя по отзывам, дальше надо браться за Скотта Майерса, Герба Саттера и Андрея Александреску. Вообщем, думаю, скучать не придется. :)


Источник: http://konishchevdmitry.blogspot.com/2009/03/unix-cc.html
Категория: Другие | Просмотров: 825 | Добавил: tol | Рейтинг: 0.0/0 |
Всего комментариев: 1
1 Алекс  
0
Отличная подборка книг. Автор молодец.

Имя *:
Email *:
Код *:
Форма входа

Поиск

Друзья сайта

  • Администрация

    Andry


    Tol


    Copyright MyCorp © 2024
    Хостинг от uCoz