ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 июля
509508
fk0, легенда (22.04.2014 11:45, просмотров: 5332) Cкpипaч
Дело не только в C. Нужен некий кругозор на тему "как работает компьютер". Поэтому рекомендую в первую очередь установить unix-подобную (читай linux) ОС и читать Роба Пайка "Практику программирования". Керниган и Ритчи "Язык программирования C" само собой разумеется. Дж. Армстронг "Секреты Unix" -- очень рекомендую, но её трудно достать. В отрыве от C и ближе к теории программирования: Н. Вирт "Алгоритмы и структуры данных". Для более глубокого изучения: Хопкрофт, Мотвани, Ульман "Введение в теорию автоматов, языков и вычислений", Ахо, Хопкрофт, Ульман "Структуры данных и алгоритмы", и очень рекомендую Г. Уоррен "Алгоритмические трюки для программистов". Рекомендую к прочтению Р. Себеста "Основные концепции языков программирования". И собственно настаиваю, что вменяемый программист должен владеть десятком языков программирования, в частности, в обязательном порядке: 1) Pascal (Delphi и т.п.), 2) C/C++, 3) SH (bash) из unix, 4) какой-либо скриптовый язык вроде Perl, Tcl, Python, Lua, Javascript... Последнее весьма помогает в жизни для решения каких-либо практических задач на ПК. Интересна книга (хотя надо признать, слишком толстая) написанная самими авторами Tcl: Уэлш, Джонс, Хоббс "Практическое программирование на Tcl и Tk". Весьма полезно иметь представление о функциональных и декларативных языках (всё перечисленное ранее, особенно C/Pascal -- типичные императивные языки), вспоминается Х. Абельсон, Д. Сассман "Структура и интерпретация компьютрных программ". Да, концепцией ООП тоже неплохо бы владеть. Но её изучать, по моему мнению, как и вообще нормальное программирование, лучше на Pascal, нежели на C/C++. Последние предназначены для практического программирования, не для обучения. Для дальнейшего изучения рекомендую Э. Реймонд "Искусство программирования для Unix". Дмитрий Иртегов и Большаков: "Введение в операционные системы", Эндрю Таненбаум "Современные операционные системы"... "Руководство системного администратора" Э. Немет ещё познавательно, но больше не для программистов. Для изучения C++ начинать стоит сразу скорей с "Языка программирования C++" Бьерна Страуструп. Плохие учебники способны только сильней запутать. Но напоминаю, было несколько редакций книги, с разными версиями языка. Для понимания внутренностей Unix (не современного, но современный махом и не освоишь) можно почитать Морис Дж. Бах "Архитектура операционной системы Unix". Для освоения программирования: Андрей Робачевский "Операционная система Unix". Для глубокого изучения Ричард Стивенс: "Разработка сетевых приложений" и "Взаимомдействие процессов". Но самое-то главное -- нужно учиться программировать вообще, а не учиться программировать PIC-контроллер семейства AVR типа ATMega32 на языке C. Дурная литература на тему "программируем AVR на C" способна заварить дичайшую кашу в голове лет на 10 вперёд. Не рекомендую. Ещё "Unix. Программное окружение.", Брайан Керниган, Роб Пайк. И "Искусство программирования для Unix" Эрик Реймонд. Ещё Анрей Робачевский "Операционная система Unix"... Электронные версии некоторых книг положены в уплоад сахары. PS: рекомендую стандарт бегло прочитать, тоже в уплоаде (iso9899-c99).
[ZX]