Що почитати починаючому програмісту, мої it-замітки

У зв'язку з тим, що періодично мене запитують - що почитати зеленому новачкові, для становлення на слизький шлях програмування - я вирішив ось прям тут назвати ті книжки, за якими колись починав само. які до сих пір згадую добрим словом.

Буде актуально для linux / windows системних і прикладних розробників. Якщо ви прочитаєте і зможете користуватися цим знанням - 85% відсотків вакансій рівня middle (ну і junior) - ваші.

Що почитати починаючому програмісту, мої it-замітки
Я теж перфекціоніст. Але навіть мені здаються неабияк роздутими загальнодоступні списки книг для початківців програмістів. Причому деякі книги в цих списках, новачкам, на мою думку, просто протипоказані. Ну не можна переважній більшості нормальних людей шлях в с ++ починати зі Страуструпа. Можна скільки завгодно ламати списи, обговорюючи фундаментальні праці Кнута, але таке чтиво, особливо якщо університетський курс вишки призабутий, швидко вганяє в смуток, навіваючи думки про проф. непридатності. До таких суворих вправою буде милосерднішими підходити через пару років розминки в бойових умовах. Коли по граблях уторовано стежки і починає формуватися небезпечна ілюзія, що мовляв який рік вже програмую - чим це мене тут ще здивувати можна? Computer science. Ні не чув.

Мені здається - шкідливим вивалювати на людину, тільки-тільки ступив на нелегку стежку програмування нескінченний лістинг взагалі всіх значущих творів від визнаних мастодонтів жанру відбили свій досвід, свій погляд на індустрію і т.п. Так, буде здорово, якщо ви будете тримати в умі такий список і потихеньку, ставити галочки в міру прочитання. Але запевнення, що без усього цього в професії нічого робити - здаються мені надто снобістськими.

Так, програмування це наука. Так, програмування - це математика (в явному або не дуже вигляді). До того ж цьому вчитися не перевчитися. Але не всі ж відразу. А ось починати я б запропонував в такому порядку:

Що почитати починаючому програмісту, мої it-замітки

Мова програмування C - Брайан Керніган, Денніс Рітчі
(C Programming Language by Brian W. Kernighan, Dennis M. Ritchie)

Що почитати починаючому програмісту, мої it-замітки

Що почитати починаючому програмісту, мої it-замітки

Джон Ліберті Освой самостійно C ++ за 21 день - прекрасна вступна книга в світ жахливих хрестів
(Teach Yourself C ++ in 21 Days - Jesse Liberty, Bradley L. Jones)

Що почитати починаючому програмісту, мої it-замітки

Операційна система UNIX Андрій Робачевскій, Сергій Немнюгин, Ольга Стесік

Цю книжку вже можна помітити зірочкою - як не дуже просту для початківців, але містить таємні знання про те як що працює в системі - як для адміністраторів так і для системних програмістів - будова виконуваних файлів, чим відрізняється потік від процесу, IPC, примітиви синхронізації. А якщо цього буде мало: зверніть увагу на

У. Річард Стівенс, Стівен А. Раго: "UNIX. Професійне програмування "
Ріхтер Джеффрі "Windows для професіоналів: створення ефективних Win32-додатків з урахуванням специфіки 64-розрядної версії Windows" (не дивлячись на те, що зараз світом десктопних додатків правлять C # і Java, саме в цих книгах детально викладена інформація про особливості програмування під конкретну ОС )

Функціональне програмування - це вже сильно опціонально, для поступової підготовки організму до освіти і філософського підходу до програмування. (Вони хоч і англійською зате з дохідливими картинками і поясненнями концепцій буквально "на пальцях").

Що почитати починаючому програмісту, мої it-замітки

The Little Schemer - Daniel P. Friedman Matthias Felleisen

Що почитати починаючому програмісту, мої it-замітки

The Seasoned Schemer - Daniel P. Friedman Matthias Felleisen

Що почитати починаючому програмісту, мої it-замітки

Land of Lisp: Learn to Program in Lisp, One Game at a Time! - Conrad Barski