JokerR
то что я неуч, я не отрицаю, и то что неосилил сего гениального произведения тоже, более того, я даже не пытался его читать. и, хорошо, признаюсь, я ее не стал читать всего из за одного отзыва.
но буквально сейчас полез в гугел с запросом "книги по с++", наткнулся в том числе на популярный блог "Алена С++", в книгах для начинающих страуструпа нет и подавно, а нашел я его в книгах для продолжающих с таким вот описанием:
"Язык программирования С++", Бьерн Страуструп. Часто на вопрос "Я хочу изучать С++, что бы мне такое почитать?" отвечают - "А почитай Страуструпа!". Это безопасный совет - Страуструп не мог написать плохо о языке своего собственного сочинения. Но вот начинать с этой книжки нельзя категорически. Её рекомендуют еще со стародавних времен, когда по С++ особенно нечего было читать. Но те времена давно прошли. Для человека незнакомого с С++ (возможно, и не знакомого с программированием вообще) - это как нокаутирующий удар. Он не просто ничего не поймет, но больше никогда и не вернется к изучению этого ужасного сложного языка. Почему так? Книга написана очень тяжелым языком. Ёмкие предложения, ничего лишнего. Остальные книги читаются легче, некоторые даже разбавлены веселыми примерами, анекдотами, а здесь такого нет. Не надо начинать с нее. А вот продолжить - стоит. Во-первых, несмотря на тяжелый язык есть что-то в ней неуловимо притягательное, когда втянешься в чтение. Во-вторых, считается, что каждый достойный С++ программист просто обязан прочитать эту книгу, так уж сложилось. Читать ее следует медленно, проникаясь духом великого и могучего языка С++, у меня ее чтение вызывает философско-пофигистические настроения...
вот тот отзыв, который оттолкнул меня от чтения страуструпа (кто то скажет, что один отзыв ничто, но мне хватило и его)
Бьерн Страуструп — это удивительный человек, сочетающий в себе несочетаемые вещи. Во-первых, это человек, придумавший один из самых гениальных языков современности. Во-вторых, это человек, дающий ужасающие рекомендации по программированию на собственном языке.
Если вы уже успели потратить свои деньги на приобретение этой книги, то будьте бдительны. Отнеситесь к ней как к справочнику возможностей языка C++ и не воспринимайте близко к сердцу советы, которые дает автор книги (за исключением банальных типа инкапсуляции данных).
У меня сложилось впечатление, что книга писалась в жутко укуренном состоянии. Совершенно никакой последовательности мысли. Напоминает письмо дяди Федора из Простоквашино. Читается тяжело и муторно, насквозь пронизана бессмысленными и никому не нужными лирическими отступлениями.
Когда я впервые читал эту книгу в русскоязычном издании, я долго не мог понять, какому идиоту пришло в голову сверстать исходники наклонным, и главное, не моноширинным шрифтом. Когда я узнал, что предпочтения относительно шрифта исходили от самого автора, мне вообще поплохело.
Диагноз
Данная книга категорически противопоказана неокрепшим умам. Если ее и стоит читать, то только тогда, когда вы научитесь безошибочно отделять плохие рекомендации от хороших. Чтение этой книги с целью получения новых знаний похоже на добычу золота из морской воды.
и более того, я признаю, что автор отзыва - очень пафосный человек, считающий всех дерьмом, это проглядывается во всех его заметках, но читать их тем не менее очень даже интересно
далее, обсуждение темы "Книга С++" на секьюритилаб:
начинать со страуструпа... Все равно что начинать математику с трудов Лагранжа и Эйлера =\
---
Про Бьерна Страуструпа на данном этапе надо знать только три вещи - имя, фамилию и, собственно, кто это, читать его книги пока бестолку, как правильно заметили выше.
ну вобщем я совсем не жалею, что поверил тому отзыву, и без страуструпа спокойно изучаю язык
классика классикой, но некоторые любят метал
Cerber
А еще из классики Кнут. Как сказал Великий Билл Г - если вы сможете прочесть книги этого профессора и поймете их, он вас заберет к себе работать:)
Но ладно, пожалуйста не надо здесь разводить войн aka Срауструп vs молодые программисты.
По введению в STL мне Майерс понравился. По проектированию выше упомянутая книга Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес: Приемы объектно-ориентированного проектирования. Паттерны проектирования + некоторые варианты реализации более детально у Александреску: Современное проектирование на С++. К сожалению по поводу самого языка мне сложно сказать, поскольку для обучения хватило "живого общения" и практики. Помню, 2 раза смотрел в справочник Шилдта, сложилось впечатление, что удобный справочник.
ЗЫ Страуструпа начал читать только сейчас для того, чтобы быть уверенным в том, что я ничего важного не пропустил.
Читать нужно SICP. Остальное от лукавого.
warchief
Не запаривайся над тем что читать (купи хоть "C++ за 21 день" этого для начала хватит) просто садись и пиши программы неважно какие, просто любые программы.
А дальше уже по обстановке. Ставь задачу и решай, а не задумывайся над тем что мне надо знать чтоб решать гипотетические задачи которые передомной могут встать. Можно выучить наизусть книгу о C++, но при этом ни фига не понимать в самом C++.
P.S. Кстати на счёт армии, оно тебе надо?
warchief
Читай Щупак(" Разработка эффективных приложений win32 api") и Крупник( "Изучаем Си" ).
Отличные книги. Все понятно, грамотно изложено, потом Горнакова можно почитать.
>>Не запаривайся над тем что читать (купи хоть "C++ за 21 день" этого для начала хватит) просто садись и пиши программы неважно какие, просто любые программы.
Я уже давно (года четыре назад) перерос этот период:) начинал как раз с C++ за 21 день.
Еще раз говорю эта тема не спрашивает "как мне ничего не зная научиться программировать?"
Вопрос темы такой - "как и в каком порядке мне углубить свои уже имеющиеся знания по c++ и собственно самому программированию"
как я уже говорил в одной теме "изучить c++ можно за 21 день, а вот чтобы стать гуру программирования не зватит и жизни"
Мне это нужно только ради самого процесса - узнать что-нибудь новенькое и научиться применять это новенькое на практике.
warchief
HtDP (простое введение в *решение задач* -- описывается сам процесс решения задачи, начиная от постановки правильного вопроса), SICP (просто must read), PLAI (читаю сейчас, просто супер), что-нибудь по дискретке/формальной логике, потом можно что-нибудь по теории типов (TAPL, например -- но я ее не читал еще).
Наверное, SICP можно прочитать после PLAI, потому что там почти вся книга основана на построении интерпретаторов, причем сначала этот интерпретатор напишешь (в нем будет какая-нибудь фишка, вроде constraint solving), а потом только будешь решать задачи с помощью него. В PLAI наоборот, и это несколько проще ИМХО.
chiaroscuro
Спасибо. Сейчас пойдучего-нибудь поищу
З.Ы. А Ламот мне не понравился:) Скучно и бесполезно (для меня)
ооо, вот и лямбданутые подтянулись.
блджад, какой SICP? парень уже 4 года на Си(++) программы пишет, а вы ему книжки для первокурсников подсовываете, с маргинальным языком внутри.
>>потом можно что-нибудь по теории типов
это капец. потом можно себе сделать тотем, разрисованый лямбдами, теорией категорий и прочей хернёй от теоретиков кайфа.
P.S.
как можно кайфовать от всего етого декларативного говна?
P.P.S.
читай страуструпа, он тебя научит.
>>парень уже 4 года на Си(++) программы пишет, а вы ему книжки для первокурсников подсовываете, с маргинальным языком внутри.
А это на этом форуме нормально. Кто бы не создал тему, какой бы не была эта тема, к автору этой темы всегда будут относится как ламеру (единственное что радует на других форумах такого нет - можно отдохнуть). Я уже давно плюнул и все советы сводящиеся к "чтению с++ для чайников" просто игнорирую и надеюсь что между советами что-нибудь интересное да проскачет (пока еще не было упомянуто ни одной из книг которые я как минимум не просмотрел).
Кстати JokerR, вы ведь мне уже какой пост советуете читать Страуструпа, хотя я несколько постов говорил что читал его второе издание. Но да я последовал вашему совету и теперь читаю его третье специальное издание - жаль его стиль изложения остался тем же "фиг пойми о чем говорит".
JokerR
И при чем тут язык, он вообще самое последнее дело. Сама постановка вопроса говорит о нехватке теоретических знаний. А SICP как раз очень хорошо уже имеющиеся знания по полочкам ставит.
>>нехватке теоретических знаний
Во, их то и не хватает так как программированию учился только основываясь на интуицию
JokerR
> ооо, вот и лямбданутые подтянулись.
Хочешь поговорить об этом?
> блджад, какой SICP? парень уже 4 года на Си(++) программы пишет, а вы ему
> книжки для первокурсников подсовываете, с маргинальным языком внутри.
Парень попросил книжки *о программировании*, и получил их. Какой там язык внутри -- неважно.
> > > том можно что-нибудь по теории типов
> это капец. потом можно себе сделать тотем, разрисованый лямбдами, теорией
> категорий и прочей хернёй от теоретиков кайфа.
Лол, какой толстый троллинг.
>
> P.S.
> как можно кайфовать от всего етого декларативного говна?
Будь тоньше. :)
JokerR
>ооо, вот и лямбданутые подтянулись.
Замечательно. Сразу переход на личности.
>блджад, какой SICP? парень уже 4 года на Си(++) программы пишет, а вы ему книжки для первокурсников подсовываете, с маргинальным языком внутри.
SICP про программирование вообще, а не про лисп в частности. Также аргумент про маргинальность схемы тут ни к селу, ни к городу.
>>потом можно что-нибудь по теории типов
>это капец. потом можно себе сделать тотем, разрисованый лямбдами, теорией категорий и прочей хернёй от теоретиков кайфа.
>P.S.
>как можно кайфовать от всего етого декларативного говна?
Straw man argument.
>P.P.S.
>читай страуструпа, он тебя научит.
При всем уважении к Страуструпу, его книга едва ли подходит для обучения программированию.
Тема в архиве.