LINUX.ORG.RU

Лучшая книга по C++


1

9

Решил взяться за изучение C++, серьезное (а не ради развлечения) изучение, с целью последующей работы прогером C++. Не могу выбрать книгу, их очень много, на разного уровня подготовки изучающего. На форумах конкретики по тому или иному автору не дают, в духе «этот автор плох тем-то, тем-то», а лишь флуд и взаимное кало-метание друг в дружку.

Так вот вопрос таков: на какие книги стоит обратить внимание на начале изучения, и какими стоит закончить, утвердить освоение материала? Примечание: книга должна быть на русском и все еще издаваться каким либо издательством, а не реликвия которую заказать в бумажном варианте не представляется возможным, я собираюсь брать именно бумажные варианты.



Последнее исправление: vladmenshikov (всего исправлений: 1)

Ответ на: комментарий от shty

насчёт джавы поподробнее, с дотнетом понятно

Какая свободная реализация джавы проходит все тесты на совместимость и свободна от патентных претензий?

Oracle Linux, клепает Oracle, и?

Ну ты же знаешь, что именно клепает Оракл под этим именем?

mv ★★★★★
()
Ответ на: комментарий от mv

насчёт джавы поподробнее, с дотнетом понятно

Какая свободная реализация джавы проходит все тесты на совместимость и свободна от патентных претензий?

// тут надо уточнить что есть «свободная», допустим это сторонняя реализация Java, не от Oracle/Sun

никакая сторонняя реализация Java не получила сертификат, родная сертифицирована и свободна от патентных преследований, и?

Oracle Linux, клепает Oracle, и?

Ну ты же знаешь, что именно клепает Оракл под этим именем?

все знают :)

а кто знает что клепает Microsoft под именем Windows? да почти никто, а если и знает - не скажет

ну и у кого модель развития лучше?

shty ★★★★★
()
Последнее исправление: shty (всего исправлений: 1)
Ответ на: комментарий от shty

тут надо уточнить что есть «свободная», допустим это сторонняя реализация Java, не от Oracle/Sun

Собственно, middleware-платформа для типа свободной операционной системы, разрабатываемой сообществом, должна иметь такие же признаки. Т.е. разрабатываться сообществом и не контроллироваться одной организацией, у которой цель - зарабатывание как можно большего количества денег.

ну и у кого модель развития лучше?

У венды лучше. Дотнет за 10 с небольшим лет оттяпал у явы, как минимум, половину ниши. Коммерческие юниксы вообще по факту в бозе почили, но тут и линукс с бзд помогли.

mv ★★★★★
()
Ответ на: комментарий от mv

ну трололошка ж. хотя я вот не стану без кьюта на цпп писать.

Thero ★★★★★
()

После того как основы освоены, читай Herb Sutter, «Exceptional C++» и «More Exceptional C++». Супер книжки.

smh ★★★
()
Ответ на: комментарий от Vernat

затем, что он очень высокоуровневый (ФВП, GC), при этом быстрый и компактный, а его легендарная система типов нехило повышает корректность программ. Самое то!

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

а его легендарная система типов нехило повышает ЧСВ

фиксед

что он очень высокоуровневый (ФВП, GC), при этом быстрый и компактный

Это конечно все хорошо, только програм на хачкеле так и не появилось. Адепты этого язычка могут только понты на форуме кидать.

anonymous
()
Ответ на: комментарий от TheKnight

Автор C++ тоже какой то лошара и отнюдь не наш соотечественник, если следовать такой логике. И зачем вообще тогда C++ выгораживать?

Автор C++ не получал бесплатно образование за деньги наших налогоплательщиков. Автор C++ не имеет морального долга перед нашей страной. Он работает на свою родину. А вот mv Родину предал. Разницу не чувствуешь?

anonymous
()
Ответ на: комментарий от anonymous

Родину

Что это такое и зачем оно нужно?

anonymous
()
Ответ на: комментарий от anonymous

фиксед

Вы не в курсе последних веяний моды? Хачикель нынче уже не котируется, им только школота понтуется. Задроты постарше теперь все на Агду слюни пускают.

только програм на хачкеле так и не появилось

Думаете, задротов такие мелочи интересуют?

anonymous
()
Ответ на: комментарий от anonymous

xmonad

Ну да. Этот «hello, world' и есть вершина того, что хачикелисты вообще способны достигнуть.

anonymous
()
Ответ на: комментарий от mv

У венды лучше.

обоснуй

Дотнет за 10 с небольшим лет оттяпал у явы, как минимум, половину ниши.

это логично, но, учитывая % инсталляций «венды», всё же довольно таки скромно

Коммерческие юниксы вообще по факту в бозе почили, но тут и линукс с бзд помогли.

да не, нормально всё там, жизнь продолжается, конкуренция конечно есть, но так на то оно и котэ чтобы мыши не расслаблялись

shty ★★★★★
()
Ответ на: комментарий от shty

Если брать не линукс, а несколько другой фронт, то с явой плохо то, что она была низложена эплом до уровня «устаревшей технологии» (именно так на русском!). Буквально это означает следующее: в Mac App Store нельзя поместить приложение, написанное на яве. Еще проблема в том, что эпл начал закручивать гайки, и я не ручаюсь, что в вышедшей сегодня или вчера Mac OS X 10.8 не установлена опция «устанавливать программы только из Mac App Store» по-умолчанию. Разумеется, это все отражается на популярности явы в целом и ее популярности на линуксе в частности.

dave ★★★★★
()
Ответ на: комментарий от dave

ну, apple, видимо, хочет играет собственную игру, но человеческих ресурсов у них явно не хватает, судя по проблемам MacOS, так что я не уверен что это большая стратегия - так, мелкое пакостничество, подкреплённое синдромом NIH

если же говорить про Java, тут есть пара нюансов, которые до сих пор не всплывали в дискуссии:
1) в настоящее время существует достаточное количество литературы по прикладным вопросам CS, в которых Java идёт в качестве основного языка на котором приводятся примеры, напр.: паттерны проектирования, модульное тестирование, непрерывное тестирование, шаблоны проектирования бизнес-приложений, всевозможные чистые/правильные коды и т.д.
2) деятельность таких организаций как Apache Software Foundation по запиливанию разнообразных проектов с открытым исходным кодом под весьма свободной лицензией привела к тому что на выбрав Java основной платформой можно из известных кубиков слепить достаточно сложные проекты, причём сделать это довольно быстро

Java сейчас достаточно простая, достаточно выразительная, в достаточной степени загруженная батарейками, достаточно мощная и достаточно открытая платформа для того чтобы на ней можно было не опасаться писать большие real-world приложения, заниматься обучением высокоуровневых аспектов программирования, и т.д. и вот здесь конкурентов у неё практически нет

тот, кто отсекает себя от такой платформы, международно, на широком уровне признанной и бизнесом, и теоретиками, и академической средой, не то чтобы существенно рискует, но явно скатывается в маргинальщину

shty ★★★★★
()

Имхо одна из лучших книг по С++ это Р.Лафоре «Объектно-ориентированное программирование в C++» http://wmate.ru/ebooks/book152.html Хороший слог, всё понятно, читай да учись :)

xterro ★★★★★
()
Ответ на: комментарий от shty

Этих заслуг, конечно, не отнять, да и на серверном рынке у явы как платформы конкурентов не предвидится, но десктопный рынок она вероятно проиграла. Ни Apple, ни MS не заинтересованы в том, чтобы десктопные программы были кроссплатформенными. Им нужен vendor lock-in. Было бы глупо ожидать от этих компаний иного. Наверное, ява так и останется в основном как серверная платформа, да и как язык для обучения программированию.

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

dave ★★★★★
()
Ответ на: комментарий от erfea

Если освоить кресты, то подавляющее большинство ЯП после него осваиваются с пол пинка.

Нуб спалился.

anonymous
()
Ответ на: комментарий от shty

CS

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

Интересные у тебя представления о CS.

anonymous
()
Ответ на: комментарий от Dragon59

И да, под системным софтом я имел ввиду прикладной.

Что за клоун! :D

anonymous
()
Ответ на: комментарий от anonymous

Правильные у него представления о CS. Это именно то, что важно для практики. Для решения реальных задач. И именно этому и должны учить в приличных ВУЗах. А матан оставьте задротам.

anonymous
()
Ответ на: комментарий от anonymous

Интересные у тебя представления о CS.

С++ быдлокодеры такие, да.

anonymous
()
Ответ на: комментарий от anonymous

Правильные у него представления о CS. Это именно то, что важно для практики. Для решения реальных задач. И именно этому и должны учить в приличных ВУЗах. А матан оставьте задротам.

Хм... Не верю, репетируй дальше.

anonymous
()
Ответ на: комментарий от dave

(Java) десктопный рынок [..] вероятно проиграла.

да она на нём никогда особо и не играла, ибо только в последнее время с допиливанием платформы и увеличением мощности десктопов появилась возможность полноценно играть на этом поле

Наверное, ява так и останется в основном как серверная платформа, да и как язык для обучения программированию.

а вот за это я сомневаюсь, ибо никакого смысла к Java server-side пришивать, к примеру .net desktop нет (ну разве что затем чтобы держать 2 никак не связанные команды разработчиков), так что, как мне кажется, Java будет умеренными темпами увеличивать свое присутствие

shty ★★★★★
()
Ответ на: комментарий от dave

Что касается дектопных приложений для линукса, то тут всегда был разброд и шатание, не было генеральной линии партии.

если говорить за Linux в целом - да, но по ситуации это просто видовое разнообразие где каждый себя может попробовать в качестве творца, хотя со стороны это и может показаться хаосом, но на самом деле тут работают генетические алгоритмы - размнождение и отсеивание не выжившего :)

выводить из этого «Linux + Java = (не платформа | плохая платформа)», я бы не стал, это несколько наивно

Скорее был полигон для студенческих разработок. И у явы здесь нет явных преимуществ. Скорее будут писать на питоне, Си или Си++.

если рассматривать ситуацию с т.з. студенческих поделок - там да, есть определённые перекосы, но бизнес он несколько по другому устроен и думает

shty ★★★★★
()
Ответ на: комментарий от anonymous

Интересные у тебя представления о CS.

это ты просто не научился читать/цитировать нормально, спецом для тебя:

по прикладным вопросам CS

далее, насчёт «представлений о CS» рекомендую, например, изучить что такое IFIP и почитать какими направлениями там технические комитеты занимаются

// а клопов давить и щёки дуть - это мы все умеем

shty ★★★★★
()
Ответ на: комментарий от Thero

теперь осталось подождать пару годиков

shty ★★★★★
()
Ответ на: комментарий от shty

как мне кажется, Java будет умеренными темпами увеличивать свое присутствие

И что нового может предложить Java? Swing в полудохлом состоянии. SWT не особо популярен, да и не удобен местами. JavaFX идет своим непонятным путем, и выглядит совершенно ненативно, плюс нерешенные проблемы со шрифтами.

dave ★★★★★
()
Ответ на: комментарий от dave

И что нового может предложить Java?

давай так, назови что-нибудь такое что вот край как нужно (только давай из реального мира), но нет ничего похожего, никогда не будет и в принципе не может быть

Swing в полудохлом состоянии.

нельзя ли поподробнее, с примерами

SWT не особо популярен, да и не удобен местами.

ну если это его основные проблемы - можно спать спокойно :)

shty ★★★★★
()
Ответ на: комментарий от dave

JavaFX идет своим непонятным путем, и выглядит совершенно ненативно, плюс нерешенные проблемы со шрифтами.

JavaFx, пока оно до production ready не долезет, можно про него особо не говорить

shty ★★★★★
()
Ответ на: комментарий от shty

Swing в полудохлом состоянии.

нельзя ли поподробнее, с примерами

В интернете много слухов на эту тему. Позиция многих явистов такая: JavaFX идет на смену Swing'у.

SWT не особо популярен, да и не удобен местами.

ну если это его основные проблемы - можно спать спокойно :)

Проблема в том, что мало используют. Почему? Фиг знает.

Что касается нового, то я имел в виду новое в гуестроении. По сравнению с WPF или Cocoa, или Gtk. Ну, что ява может предложить особенного, кроме кроссплатформенности?

dave ★★★★★
()
Ответ на: комментарий от shty

по прикладным вопросам CS

Ну да, лоровские PHP-инженеры, специалисты по крупным огромным ОГРОМЕННЫМ ПРОЕКТАМ, обсуждают прикладные вопросы Computer Science: паттерны проектирования, модульное тестирование, непрерывное тестирование, шаблоны проектирования бизнес-приложений, всевозможные чистые/правильные коды и т.д.

Ах-ах! Ах-ха-ха! Ха-ха-ха-ха-ха-ха-ха-ха! У меня истерика!

anonymous
()
Ответ на: комментарий от anonymous

Ах-ах! Ах-ха-ха! Ха-ха-ха-ха-ха-ха-ха-ха! У меня истерика!

сходи к доктору, истеричка :)

shty ★★★★★
()
Ответ на: комментарий от dave

Позиция многих явистов такая: JavaFX идет на смену Swing'у.

не знаю, не знаю, пока не очень я уверен в этом, он же только под windows есть, так что пусть пока его допилят в нормальном виде, а там посмотрим

Проблема в том, что мало используют. Почему? Фиг знает.

а, ну так он неудобный тем что под каждую платформу надо тащить либы, но имхо это приемлемая цена за (almost) native look and feel, просто это не всегда нужно

shty ★★★★★
()
Ответ на: комментарий от dave

Что касается нового, то я имел в виду новое в гуестроении. По сравнению с WPF или Cocoa, или Gtk. Ну, что ява может предложить особенного, кроме кроссплатформенности?

да в гуестроении как то пока вообще новых тенденций не наблюдается особо, может кто плотно занимается подскажет?

shty ★★★★★
()
Ответ на: комментарий от shty

а, ну так он неудобный тем что под каждую платформу надо тащить либы, но имхо это приемлемая цена за (almost) native look and feel, просто это не всегда нужно

Там просто меняешь файл swt.jar и все. Особых сложностей в приготовлении нет.

dave ★★★★★
()
Ответ на: комментарий от shty

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

dave ★★★★★
()
Ответ на: комментарий от dave

ну, в общем - да, разница совсем небольшая )

// для протокола: вообще мне более или менее нравится как swing выглядит

shty ★★★★★
()
Ответ на: комментарий от tensai_cirno

Не с утечками памяти, а с отложенными в силу ленивости вычислениями, прошу не путать!

yoghurt ★★★★★
()

по теме - стандарт, есть и хорошие книги на русском, но ты их уже не купишь)

Boy_from_Jungle ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.