Книга для программиста


26 0

Меня часто просят посоветовать какую-то книгу по программированию. Если спрашивают по языку, то тут отвечать еще более менее просто, ведь нужно просто назвать книгу, которую читал сам и которая понравилась. Чаще всего я просто даю ссылки на книги в разделе ИТ книга блога, потому что наиболее интересные книги (из того, что прочитал) я уже описал. При этом, я всегда советую не ограничиваться только этими книгами и читать больше и разной литературы. От этого хуже не будет.

Сложнее, когда спрашивают типа: «какую книгу стать, чтобы стать программистом». Таких книг очень мало, потому что в основном пишут книги по языку. Я тоже пишу по языку, потому что издательству легче продать эти книги. Книги именно по программированию не так востребованы, а зря. Из-за этого очень много "программистов", которые пишут ужасные вещи и проектируют линейно в объектном программированию. Их программы состоят из одного объекта, который и на дудке играет и песни поет.

Помню как один умник для показания своей крутости (видимо) создавал компоненты программно в Delphi. Он просто писал все в коде. В этом в принципе нет ничего плохого, но все это хранилось в одном модуле формы. Из-за того, что все сваливолось в один файл кода, он вырос до таких размеров, что работать с ним стало просто нереально. Ну разбей ты одну задачу на несколько объектов и у тебя код будет чище и файлы будут меньше. С ними проще работать.

Так вот, чтобы стать программистом, нужно читать не Библию C# (хотя я и пытаюсь в своих книгах затрагивать подобные вещи), нужно читать книги по проектированию кода. Нужно читать такие работы как:

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

Кто и какие книги может посоватовать по проектированию кода? Ссылки на PDF файлы или другие электронные варианты книг не давать. Где скачать книгу здесь мы тоже не обсуждаем. Обсуждаем названия книг и о чем они.


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

DOStup

29 Октября 2009

По моєму принципи ООП гарно викладені в книгах Страуструпа. Хоча книги по С++, кращого викладу ідеї я не бачив.


BasicWolf

29 Октября 2009

2DOStup Нифига себе "гарно викладені в книгах Страуструпа". После 1й же главы "Язык программирования C++", этот самый Cpp отпадает охота учить.


olegmaster

29 Октября 2009

я в Одессе практически задарма на книжном рынке возле вокзала купил книжку Страуструпа по С++)


DOStup

29 Октября 2009

После 1й же главы "Язык программирования C++", этот самый Cpp отпадает охота учить.

Учити С++ по ньому це дійсно катування. Його читати треба коли вже знаєш С++. В нього цінні самі ідеї, хоча письменник з нього м'яко кажучи не дуже.


n00b1k

29 Октября 2009

Рихтер Дж. - Программирование на платформе Microsoft .NET Framework 2.0 на языке C#.
Книга специализирована, но все таки она выходит за рамки C# и тем кто хочет досконально разобраться в dotNet необходимо с ней ознакомиться. Ничего лучше я не читал.


Heshurg

30 Октября 2009

Совершенный код от Макконнелла - эта книга продаётся и часто, встречаю её в каждом магазине в Москве


Samar

30 Октября 2009

Не правда! Си++ Страуструпа одна из лучших книг по этому языку. Немного сложный язык, для новичка в программирование может будет и тяжело, но зато почти все есть.
Вообще по программированию достаточно много книг("Искусство программирования" Кнута, "Паттерны проектирования" GoF, Рихтер "Программирование в Windows" (это как правильно программировать под данную ОС), Голуб "Веревка достаточной длинны, чтобы выстрелить себе в ногу", книги Александреску, Маейрса и еще очень много других). Только их очень тяжело найти, и стоят они прилично.


Bulka

30 Октября 2009

Собственно немного некорректный вопрос. Чтобы стать программистом необходимо и достаточно выучить один язык программирования. Вот по нему и надо искать книги, а не "по программированию". А чтобы стать профессиональным программистом, необходимо выучить 2 и более языков программирования. Какие - решать самому. Все ранее изложенное ИМХО, желательно не критиковать ибо лень спорить :)


DOStup

30 Октября 2009

Чтобы стать программистом необходимо и достаточно выучить один язык программирования.

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


DOStup

30 Октября 2009

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

А як ынакше може бути в книжці автора мови? Хіба може знати чтось мову краще за її автора?


Bulka

30 Октября 2009

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

Именно этому и должна учить та самая книга, вот в этом и есть идея. Потому как организация алгоритмов и логики программы может зависеть от конкретного языка в связи с его конструкцией языка, синтаксиса и операторов.


Михаил Фленов

30 Октября 2009

Объектное программирование оно и в Африке ООП. Книга по проектированию должна описывать, как должен строиться класс, как спроектировать фреймворк, может лучше где-то использовать интерфейсы и так далее. Этому учат книги по проектированию. А как ты это уже потом реализуешь, это учат книги по конкретному языку.


мальчик из MicroSoft

30 Октября 2009

Для становления программиста ВАЖНЫ 3 составляющие:
1 - математика
2 - алгоритмика
3 - кодирование, знание ЯП(множественное число, желательно >= 7(4 прикладного уровня и 3 веб ориентированных)

если нет хотя бы одного из пунктов, ваша цена на рынке стремиться к НУЛЮ со скоростью звука!
Речь о рынке профессиональной разработки ПО!


Overdrive

30 Октября 2009

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

Кстати. Опечатка небольшая «какую книгу стать, чтобы стать программистом».

ps 2DOStup а ты по русски не пробовал писать ?


Overdrive

30 Октября 2009

Именно этому и должна учить та самая книга, вот в этом и есть идея. Потому как организация алгоритмов и логики программы может зависеть от конкретного языка в связи с его конструкцией языка, синтаксиса и операторов.

Хм. У меня немного иное мнение. Операторы у многих языков одинаковы. У многих даже схожа парадигма.

В книге по языку основной упор идет именно на изучение языка и работы со средой разработки.
Взять те же книги по алгоритмам или проектированию интерфейсам. В них эти темы рассматривают более подробно. Повторюсь программирование не сводится только к изучению языка. А как же платформа, под которую программируешь. Если ты не имеешь четкого представления под что пишешь, код может получиться не эффективным (или гибким, как писал Михаил в своих книгах).
ИМХО.
А вообще, помойму можно и нужно почитать классику программирования. Т.к. информация в данных книгах будет актуальна всегда.


pat

31 Октября 2009

Сейчас читаю Роберт К. Мартин - Быстрая разработка программ. Принципы, примеры, практика
Наверное языки программирования можно сравнить с обычными языками: слова - это синтаксис, а правила - это то как ты будешь составлять предложения в слов. Учить только слова недостаточно для того чтобы нормально говорить на языке.

2DOStup
Я звичайно поважаю свою мову, але якщо кожен буде говорити своєю рідною, ми просто один одного не зрозуміємо.


Михаил Фленов

31 Октября 2009

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


IvanIvanich

31 Октября 2009

DOStup, ты читаешь посты на русском языке. а отвечаешь на украинском. А если бы ты был узбек, ты бы нам на узбекском писал? Я тоже украинец, но на русскоговорящих форумах пишу по русски. Это просто неуважение к собеседникам!


kirimgan

31 Октября 2009

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


Ruslan

31 Октября 2009

Мое мнение таково: для программиста важны следующие знания и качества.
1) Математика;
2) Логика;
3) Алгоритмическое мышление;
4) Быстрая ориентировка в различных ситуациях и принятия соответствующего решения.
Из качеств я бы отметил следующие: Писать код в соответствии с определенной конвенцией (стиль). Не люблю таких вещей как например: да я вот уже месяц изучаю pascal и я крутой чел, или да я все знаю и умею (а сам за углом помогите мне). Важную роль играет умение проигрывать и признавать свои ошибки.

Что касается математики: не обязательно ее силой зубрить да и не вызубришь силой такую науку, надо желание.
Моя предыстория: в школе я по матану у мя была 7 в аттестате (по 10 бальной). В политехе тоже 7, но мне повезло. Сейчас я в унивире на 2 курсе. Когда к нам на первый курс пришел солидный дядя лет 55 с лицом супер-гения и сказал, что он у нас будет вести высшую математику несколько лет, я офигел и был в шоке. Я сразу заказал комплект книг из 5 штук и начал их листать. Я сначала не мог представить как я ее выучу (поверьте это было страшновато). Но свершилось чудо я сделал свою первую контрольную, но завалил экзамен по невнимательности (потом пересдал). Вторая сессия контрошка еще тяжелее (значительно) – пришлось помучаться, в итоге на экзамене опять завал, как пересдать? Хм – все никакой работы, три недели подготовки с 8.00 – 23.00 (это только второй раздел вышки). Да думал чокнусь (но надо – если хочешь учиться), в итоге пересдача на 8 уррррря. Третий экзамен с 1 раза.
Для чего я все это пишу? А для того, что я понял не очень давно, что матан ой как нужен, просто возможно время его не пришло и вы пока обходитесь без него, именно благодаря математике открываются новые возможности.

Но по иронии судьбы, именно сегодня когда я это все пишу я решаю контрошку на 4 сессию.


elza

01 Ноября 2009

А кого собственно можно назвать "программистом"?
Того кто отучился на программиста спустя рукава?
того кто работает программистом но с программированием мало связан?
Того кому просто интересно программирование и он самостоятельно изучает языки?


pat

01 Ноября 2009

2elza
На твой выбор

http://lurkmore.ru/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82


Overdrive

01 Ноября 2009

Того кому просто интересно программирование и он самостоятельно изучает языки?

Меня порой убивает высказывания: самостоятельно изучает, самоучка и др.
Я понимаю так: обучение с учителем или без учителя. Учитель дает информацию (которую ты и сам можешь получить) и учишь ты ее. Плюс лишь только в том, что учитель может указать на твои ошибки (можно задать вопрос на форуме, как вариант если негде спросить).
2elza Смотря что ты подразумеваешь под этим понятием. Ну наверняка тот, кто так или иначе связывает свою деятельность с программированием. Ведь есть начинающие, эксперты...


Ruslan

02 Ноября 2009

Когда я изучал БД и надо было писать курсач, я подошел к преподше и говорю, вот я хлчу чтобы поле у мя сортировалось по числовому значению(моно было сделать поле текстовым и заливать в енго цифры, но я хотел, так как надо), а он я незнаю спроси у кого нить так. Я млин офигел (ни чего се думаю препод). Вот такие преподы.

Меня тоже рубит иногда такое: самоучка, да вы на заочке ни фига не делаете. Знаю я прогеров с дневного, из 54 мот 4 – 5 челов по праву могут называться прогерами, а у остальных прогулы и все такое. Они думают, что от пива и водки знания и опыт сами придут.


Admin

12 Ноября 2009

Здаравствуй  конечно не в тему но,  что вы дуиайте по поводу бесплатного Visual express edition 2008 для начинаюших? И желатьльно чтобы оставили эту ссылку на вашем блге http://www.microsoft.com/rus/express/download/ а то люди покупают ваши кники а потом задают вопросы где взять.


Михаил Фленов

12 Ноября 2009

Что я могу о ней думать? Хорошая среда разработки для халявности. Сам когда-то пользовался. Только вот возможности Express версии для C++ слишком слабы


Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне