Форум программистов, компьютерный форум CyberForum.ru

Сторонникам самообучения - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 40, средняя оценка - 4.95
Softkhoz
368 / 10 / 1
Регистрация: 23.08.2013
Сообщений: 174
09.09.2013, 20:01     Сторонникам самообучения #1
Если вы изучали С++ не в учебном заведении, а самостоятельно, то очевидно у вас была книга-самоучитель. Какого автора вы прочитали в первую очередь?
Я заглянул в учебник создателя С++ и сразу столкнулся с трудностями. Самоучитель от Дейтела П. сначала показался простым, но потом я запутался в понятиях о классах. Некоторые советуют смотреть видеоуроки, некоторые утверждают, что это бесполезно. Что посоветуете вы?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
09.09.2013, 20:07     Сторонникам самообучения #2
Литература C++
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
09.09.2013, 20:12     Сторонникам самообучения #3
Я начинал с С++ для чайников Стефана Девиса. Ни фига она не для чайников, не смущайся с названия. Базовые понятия она дает хорошие. Потом Дейтели, для закрепления основ. Недавно книгу Страуструпа купил. А потом уже что душа пожелает учи ИМХО. А вообще то учится нужно не на теории, а на практике. Некоторые моменты я только за практикой понял.
Ryabchik
17 / 17 / 1
Регистрация: 09.01.2013
Сообщений: 158
09.09.2013, 20:21     Сторонникам самообучения #4
Герберт Шилдт - C++ Базовый курс. Интересно написана. Подробно разобраны основы языка. Большой упор на синтаксис. Но нет упражнений.
Потом Лафоре - очень подробно про ООП
Сейчас читаю Страуструпа. Он на правах создателя языка пишет о разных хитростях и, что очень здорово, о методиках программирования. Не только какие есть операторы, но как разумнее их использовать.
Ну и, конечно, практика. Пробуйте реализовать любую глупость, какая прийдет в голову. Это приносит удовольствие и дает стимул читать дальше.
Не пользуйтесь видео уроками и статейками в интернете. После них в голове каша, которую все равно приходится разгребать литературой)

Удачи!
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,284
09.09.2013, 20:30     Сторонникам самообучения #5
1) Либерти ( 'C++ за 21 день' )
2) Стэн Липпман
3) Страуструп
4) Саттер + Майерс
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
09.09.2013, 21:20     Сторонникам самообучения #6
По С++ первой Дейтела читал, щас дочитываю Страуструпа последняя главу уже прочитал, остались приложения, по пхп книг 5 прочитал и практиковал, так что что такое ООП, циклы, и всякая фигня, что одинаково во всех языках - основные понятия я знал.

Ну тебе наверно нужно взять что то попроще, что нить из серии для чайников и лучше не одну, а две три книги простых, потом уже когда силу почуствуешь читай Страуструпа либо Дейтела. Страуструп тяжелый, там после Дейтела тяжело читать, потом уже привыкаешь со временем к книге и норм идет медленно правда. Честно скажу Страуструпа хоть и тяжелая но там полностью весь С++ описать, полностью вся СТЛ, после ее прочтения ты полностью ознакомишься с языком, плюс еще ознакомишься с методиками программирования именно для С++, с разными стратегиями, там "выделение ресурса есть инициализация", "copy on write", там еще стратегия для исключений не помню названия, и еще какие то это что запомнилось. Да много там инфы ООП хорошо описан.
Я честно не нарадуюсь книге, чото я думаю другие книги после нее смысла нету читать, наверно нового ничего не дадут. Да еще с разными понятиями ознакомишься там диспетчеризация, двойная диспетчеризация, интрузивный список не интрузивный, красно-черные деревья, да много там чего я все не припомню, очень информативная книга, серьезно такое впечатление, что в других книгах "Америку не откроют".
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11822 / 6801 / 769
Регистрация: 27.09.2012
Сообщений: 16,869
Записей в блоге: 2
Завершенные тесты: 1
09.09.2013, 21:25     Сторонникам самообучения #7
Цитата Сообщение от Softkhoz Посмотреть сообщение
Какого автора вы прочитали в первую очередь?
Стефан Девис
Цитата Сообщение от Softkhoz Посмотреть сообщение
Я заглянул в учебник создателя С++ и сразу столкнулся с трудностями.
Не удивительно. Страуструп излагает материал не в очень то простой форме.
Цитата Сообщение от Softkhoz Посмотреть сообщение
Самоучитель от Дейтела П. сначала показался простым, но потом я запутался в понятиях о классах.
Всё сразу не дается. Чем больше будет знаний и практики, тем понятнее будет все становиться.
Цитата Сообщение от Softkhoz Посмотреть сообщение
Некоторые советуют смотреть видеоуроки, некоторые утверждают, что это бесполезно. Что посоветуете вы?
Книги. Видеоуроки бесполезны и очень часто в них грубые ошибки.
Ryabchik
17 / 17 / 1
Регистрация: 09.01.2013
Сообщений: 158
09.09.2013, 21:39     Сторонникам самообучения #8
Цитата Сообщение от ninja2 Посмотреть сообщение
чото я думаю другие книги после нее смысла нету читать, наверно нового ничего не дадут.
Мой 10 пунктовый список литературы хихикает)
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
09.09.2013, 22:07     Сторонникам самообучения #9
Я сторонник видеоуроков кокой нибуть курс видеоуроков не лишним будет, от если сосвем нулевой, можно отети уроки посмотреть https://www.youtube.com/watch?v=6R_a...F9AFB3C0CABA30 , конечно они убоги и малоинформативны, но он хоть объясняет и показывает что как делать.
Отетого пассажира уроки тоже ничего https://www.youtube.com/watch?v=wpuhOZHFUoc , я некоторые смотрел выборочно например по указателям, щас чото нету, но там неплохо разьяснялось что такое указатели прикольно.

Отетот от урок прикольный по ООП он вроде по шарпу, я так начинал смотреть понравился https://www.youtube.com/watch?v=dkkayaJYG0k.

Короче не стесняйся ничего, любые методы обучения будут полезны, любые материалы, короче знаний не убудет если ты какой нить видеоурок посмотришь, наоборот лучше материал разберешь. И статьи в интернете не стесняйся читать, бывают толковые статьи в которых все очень хорошо описано лучше чем в учебника, либо бывает в учебниках тема не сильно раскрыта, в общем не стесняйся пробуй все!!!!

Добавлено через 20 минут
По ООП не тот урок, я какой то смотрел, там за С шарп объясняли, ну от можешь этот посмотреть лекция ничего так: https://www.youtube.com/watch?v=i262l-6Vx20 . Эффект присутствия, как будто на лекции присутствуешь.
elivin
65 / 65 / 1
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
09.09.2013, 22:11     Сторонникам самообучения #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Эх, книги, книги... Я вот ни одной не осилил. Раньше немного увлекался психологией, и особенно "самопсихологией" (самопознанием). Поэтому знаю, что "прочесть книгу и решить упражнения из неё" мне ничего не даст. Просто тут же всё забуду. Изучаю язык и многое другое с обратной стороны - сначала ставлю задачу, а потом уже ищу пути решения. Как пример - когда-то долго не воспринимал работу с файлами в C++ (Си'шкой тогда владел и с файлами работал его методами), писал небольшие примерчики и тому подобное. Всё равно тут же всё забывал. Потом пошли программки, где все конфигурации хранились в файлах, и использование ifstream/ofstream стало обычным делом. То есть, я усвоил работу с файловыми потоками только тогда, когда нашёл им применение.
Всегда сплошной текст казался сложночитаемым (мой текст для остальных), поэтому структурирую:
Метод: изучение на практике.
1. Берём задачу (олимпиадную/сами придумываем, лишь бы было интересно решить).
2. Решаем теми средствами, что уже имеем в голове.
3. Если не можем решить, открываем справочник/гугл и ищем дополнительные средства.
4. Решаем с помощью них.
5. Снова идём в гугл и узнаём подробности и новой полученной информации.
6. Для расширения кругозора можно почитать на форумах, как эту же (или подобную) задачу решили другие. Принимаем к сведению, но не заучиваем, так как всё равно не запомним (эт я про себя, не запомню потому, что не использовал)
Достоинства метода:
+ хорошая усваиваемость использованных конструкций
+ тренировка самостоятельного нахождения алгоритмов
+ развитие способности решать задачи имеющимися средствами
+ не теряем время на информацию, которая в последствии с большой долей вероятности далее не понадобится
Недостатки метода:
- "обрывочные" знания (например, я до сих пор не умею работать с шаблонами; нет, это не сложно, но практического применения я им никогда не находил, поэтому, чтобы что-нибудь написать с ними, мне однозначно придётся лезть в справочник/гугл)
- далеко не всегда эффективный код (если не выполнять 6 пункт)
- мало кому подходит
- самые базовые конструкции (ветвления, циклы, классы, переменные etc) всё-таки придётся брать из учебника/самоучителя, хотя я учил их по справочнику, а оттачивал уже этим методом

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

Не по теме:

Всем спокойной ночи

ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
09.09.2013, 22:18     Сторонникам самообучения #11
Цитата Сообщение от elivin Посмотреть сообщение
Например, циклы я усваивал с помощью олимпиадных задач на шифровку/дешифровку
Да циклы усваивать это сильно начинающий, мне таких проблем не было я их с пхп усвоил, не знаю мне такой метод не нравится, так долго нужно учится, лучше уже с учебника брать задачи и решать.
elivin
65 / 65 / 1
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
09.09.2013, 22:19     Сторонникам самообучения #12
А, забыл, ещё минус:
- теряем очень много времени на подводных камнях
Но из него вытекает плюс:
+ чётко усваиваем эти подводные камни
И тут же вновь минус:
- легко пропустить подводный камень, который точно был бы описан в учебнике, а потом делать глупые ошибки
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
09.09.2013, 22:20     Сторонникам самообучения #13
Самому лучше придумать и написать какой нить реальный проектик маленький, такой что бы он завлек, что бы когда ложишься спать он постоянно в голове крутился и ты как бы в дреме спал, тогда реально будет интересно делать. Я так первый проект на пхп генератор ГС делал, он мне спать не давал. На С++ без знаний и пониманий возможностей языка, наврятли конечно такие задания появятся у новичков, так что просто решаем задачки и все.

Я етот генератор что на пхп сделал, на С++ переписать после Дейтелов не смог, так что без знаний фиг что придумаешь на С++, от щас после Страуструпа я думаю смогу переписать. Да даже уверен щас легко перепишу.
gazlan
2861 / 1809 / 272
Регистрация: 27.08.2010
Сообщений: 4,893
Записей в блоге: 1
09.09.2013, 22:33     Сторонникам самообучения #14
Цитата Сообщение от Softkhoz Посмотреть сообщение
Если вы изучали С++ не в учебном заведении, а самостоятельно, то очевидно у вас была книга-самоучитель.
Вы не с той стороны заходите. Начинать надо не с книги, а с задачи. Реально нужной. Под задачу и литературу будете искать - с конкретными ответами. А когда научитесь сносно изъясняться на C++, тогда и займетесь систематическим изучением литературы - с пониманием того, что читаете и зачем.

А начинать с книжки, это как девственнику - с Камасутры.
elivin
65 / 65 / 1
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
09.09.2013, 22:45     Сторонникам самообучения #15
ninja2, я говорю про метод обучения, а не конкретно про плюсы.
Цитата Сообщение от ninja2 Посмотреть сообщение
циклы усваивать это сильно начинающий
При чём тут уровень?
Цитата Сообщение от ninja2 Посмотреть сообщение
я их с пхп усвоил
Я их в Си'шке усвоил (хотя уже года 3 на нём ничего не писал)
Цитата Сообщение от ninja2 Посмотреть сообщение
мне такой метод не нравится
Я указал в минусах, что не всем он подходит
Цитата Сообщение от ninja2 Посмотреть сообщение
Самому лучше придумать и написать какой нить реальный проектик маленький, такой что бы он завлек
Вот это уже ближе к теме. Только проектиком этим нужно (по моему методу) начать заниматься до учебника и глубокого погружения в язык. И желание воплотить его в жизнь будет лучшей мотивацией, чем "вот осилю учебник, тогда и займусь" (тем более, что я его тогда вообще не осилю). Как сейчас помню, как писал одну мини-игрушку - ходил на пары с ноутом, кодил в перемены и обеденные перерывы, дома. Тогда была цель разобраться с классами (момент перехода с языка C на C++). Так, ООП я изучал как раз на самописном проекте
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
09.09.2013, 23:22     Сторонникам самообучения #16
Цитата Сообщение от elivin Посмотреть сообщение
Вот это уже ближе к теме. Только проектиком этим нужно (по моему методу) начать заниматься до учебника и глубокого погружения в язык. И желание воплотить его в жизнь будет лучшей мотивацией, чем "вот осилю учебник, тогда и займусь" (тем более, что я его тогда вообще не осилю).
Наоборот после учебника у тебя будет кругозор чуток шире и ты сможешь хотя бы иметь представление, что ты хочешь, делать. А без учебника какая у тебя база будет? От чего ты будешь отталкиваться? На одном желании и что ты хочешь что то написать ты далеко не уедешь, нужна база - знания. Просто мотивация эта сильная она быстро пропадет, когда человек поймет, что он нулевой и в ближайшее время ему этот проект не сделать. От когда есть база - знание языка, тогда можно проекты делать. Нужно все делать по порядку, мы просто физически не сможем вперед перепрыгнуть с нуля начинать создавать проекты, придеться возвращаться, а это метушня, затормозит все обучение оно будет дольше происходить чем если бы просто учить последовательно не перескакивая на тяжелые задания.
mzarb
-211 / 7 / 1
Регистрация: 14.01.2013
Сообщений: 141
09.09.2013, 23:38     Сторонникам самообучения #17
Начинал с Шилдта руководство для начинающих, но бросил на половине, так как мне совсем не понравилось поверхностное изложение материала и это слегка поубивало мотивацию, потому что не знал куда двигаться. Потом начал смотреть очень хорошие видеокурсы отсюда и второй семестр отсюда. Лектор очень доступно излагает и это мотивировало меня дальше. Ну и в процессе просмотра видео, если что то не понятно, то гуглил статьи или спрашивал то, что мне не понятно и не двигался дальше пока не пойму. Так же начиная с книги Шилдта постоянно записывал важные моменты в блокнот и я к ним ещё не обращался, но по крайней мере выделял их при записи и это возможно тоже сыграло свою роль в запоминании. А дальше как уже советовали читать литературу из сборника в этой ветке.
Ну тут наверное главное для себя твердо решить что оно тебе нужно, просто учебники по другим темам когда я читал, то тоже мог многое забывать, но скорей потому, что совсем не интересно было и мозг понимал что это ненужная информация.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11822 / 6801 / 769
Регистрация: 27.09.2012
Сообщений: 16,869
Записей в блоге: 2
Завершенные тесты: 1
10.09.2013, 05:29     Сторонникам самообучения #18
Цитата Сообщение от mzarb Посмотреть сообщение
Лектор очень доступно излагает и это мотивировало меня дальше.
Жаль что у этого лектора есть много ошибок в лекциях (особенно во втором семестре), а так да, эти лекции вполне пригодны как дополнительный материал.
Цитата Сообщение от mzarb Посмотреть сообщение
Начинал с Шилдта руководство для начинающих, но бросил на половине, так как мне совсем не понравилось поверхностное изложение материала и это слегка поубивало мотивацию, потому что не знал куда двигаться.
Если не получается по одной книге, лучше взять другую
Softkhoz
368 / 10 / 1
Регистрация: 23.08.2013
Сообщений: 174
10.09.2013, 06:58  [ТС]     Сторонникам самообучения #19
Задачу для себя я уже придумал, но боюсь что изучение языков настолько долгий процесс, что со временем утратится стимул эту задачу решать. Я взялся изучать не только С++, но и VBA, этот язык проще и в нем можно быстрее добиться результатов. Однако он может развить плохой стиль программирования. Не будет ли для меня вреда от параллельного изучения двух языков?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2013, 10:28     Сторонникам самообучения
Еще ссылки по теме:

Посоветуйте литературу для самообучения
Apache camel, Spring: нужна информация для самообучения Java EE
C# По поводу литературы и самообучения

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
elivin
65 / 65 / 1
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
10.09.2013, 10:28     Сторонникам самообучения #20
ninja2, и вновь о том же. Прежде чем отвечать далее, перечитай моё первое сообщение в этой теме.
Цитата Сообщение от ninja2 Посмотреть сообщение
А без учебника какая у тебя база будет?
Точно такая же, как и с учебником. Ну, на пару названий буду меньше знать. (отсылка на первый абзац моего первого сообщения)
Цитата Сообщение от ninja2 Посмотреть сообщение
От чего ты будешь отталкиваться?
Последний минус в первом сообщении.
Цитата Сообщение от ninja2 Посмотреть сообщение
Просто мотивация эта сильная она быстро пропадет, когда человек поймет, что он нулевой и в ближайшее время ему этот проект не сделать.
Не про меня - я могу долго заниматься одним делом/проектом, если вижу конкретный результат. Таким образом, долго заниматься с учебником я не могу.
Цитата Сообщение от ninja2 Посмотреть сообщение
От когда есть база - знание языка, тогда можно проекты делать.
А у меня без проектов не будет базы

Softkhoz,
Цитата Сообщение от Softkhoz Посмотреть сообщение
боюсь что изучение языков настолько долгий процесс, что со временем утратится стимул эту задачу решать
Не бойся, это изучение может затянуться на всю жизнь. Так что просто прикидывай во время обучения (самообучения), где текущую тему можно применить в решении данной задачи, пробуй решать разными способами, смотреть на решения других.
Цитата Сообщение от Softkhoz Посмотреть сообщение
Не будет ли для меня вреда от параллельного изучения двух языков?
Сколько же я раз сталкивался с мнением, что изучать несколько языков (программирования) - это сложно... Сделай акцент на одном из них, отмечай отличия между ними. Так, в сравнении, даже лучше усваивается.
Yandex
Объявления
10.09.2013, 10:28     Сторонникам самообучения
Ответ Создать тему
Опции темы

Текущее время: 06:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru