С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 40, средняя оценка - 4.95
Softkhoz
368 / 10 / 1
Регистрация: 23.08.2013
Сообщений: 174
#1

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

09.09.2013, 20:01. Просмотров 5271. Ответов 92
Метки нет (Все метки)

Если вы изучали С++ не в учебном заведении, а самостоятельно, то очевидно у вас была книга-самоучитель. Какого автора вы прочитали в первую очередь?
Я заглянул в учебник создателя С++ и сразу столкнулся с трудностями. Самоучитель от Дейтела П. сначала показался простым, но потом я запутался в понятиях о классах. Некоторые советуют смотреть видеоуроки, некоторые утверждают, что это бесполезно. Что посоветуете вы?
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2013, 20:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сторонникам самообучения (C++):

Книга для самообучения C++ - C++
Господа, подскажите плизз по книжке по данному языку программирования, какой самый оптимальный для изучения с нуля???

По поводу литературы и самообучения - C#
Вот в принципе решил начать самообучаться, ранее поверхностно изучал С++ в Visual studio. Сейчас решил попробовать себя в С#. Нашел немного...

Задания для самообучения - C++ Builder
Здравствуйте, посоветуйте книги по с++ builder, в которой ставятся задачи на создание приложений используя те или иные компоненты, ну там...

Посоветуйте литературу для самообучения - Математика
Какие знания по математике необходимы для изучения основ теорвера, исследования операций, мат.моделирования, линейного программирования и...

Посоветуйте литературу для самообучения - Математика
Всем привет! Посоветуйте плз литературу по математики, геометрии. Вводные данные такие. 1 - С самого начала. Хочется всё повторить...

Folder Cleaner - приложение для самообучения - PHP
Доброго всем вечера и с прошедшими праздниками! Пролог. Наверно у многих в процессе самообучения наступает такой момент, когда...

92
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
09.09.2013, 23:22 #16
Цитата Сообщение от elivin Посмотреть сообщение
Вот это уже ближе к теме. Только проектиком этим нужно (по моему методу) начать заниматься до учебника и глубокого погружения в язык. И желание воплотить его в жизнь будет лучшей мотивацией, чем "вот осилю учебник, тогда и займусь" (тем более, что я его тогда вообще не осилю).
Наоборот после учебника у тебя будет кругозор чуток шире и ты сможешь хотя бы иметь представление, что ты хочешь, делать. А без учебника какая у тебя база будет? От чего ты будешь отталкиваться? На одном желании и что ты хочешь что то написать ты далеко не уедешь, нужна база - знания. Просто мотивация эта сильная она быстро пропадет, когда человек поймет, что он нулевой и в ближайшее время ему этот проект не сделать. От когда есть база - знание языка, тогда можно проекты делать. Нужно все делать по порядку, мы просто физически не сможем вперед перепрыгнуть с нуля начинать создавать проекты, придеться возвращаться, а это метушня, затормозит все обучение оно будет дольше происходить чем если бы просто учить последовательно не перескакивая на тяжелые задания.
1
mzarb
-211 / 7 / 1
Регистрация: 14.01.2013
Сообщений: 141
09.09.2013, 23:38 #17
Начинал с Шилдта руководство для начинающих, но бросил на половине, так как мне совсем не понравилось поверхностное изложение материала и это слегка поубивало мотивацию, потому что не знал куда двигаться. Потом начал смотреть очень хорошие видеокурсы отсюда и второй семестр отсюда. Лектор очень доступно излагает и это мотивировало меня дальше. Ну и в процессе просмотра видео, если что то не понятно, то гуглил статьи или спрашивал то, что мне не понятно и не двигался дальше пока не пойму. Так же начиная с книги Шилдта постоянно записывал важные моменты в блокнот и я к ним ещё не обращался, но по крайней мере выделял их при записи и это возможно тоже сыграло свою роль в запоминании. А дальше как уже советовали читать литературу из сборника в этой ветке.
Ну тут наверное главное для себя твердо решить что оно тебе нужно, просто учебники по другим темам когда я читал, то тоже мог многое забывать, но скорей потому, что совсем не интересно было и мозг понимал что это ненужная информация.
1
Croessmah
Ушел
Эксперт CЭксперт С++
13558 / 7708 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
10.09.2013, 05:29 #18
Цитата Сообщение от mzarb Посмотреть сообщение
Лектор очень доступно излагает и это мотивировало меня дальше.
Жаль что у этого лектора есть много ошибок в лекциях (особенно во втором семестре), а так да, эти лекции вполне пригодны как дополнительный материал.
Цитата Сообщение от mzarb Посмотреть сообщение
Начинал с Шилдта руководство для начинающих, но бросил на половине, так как мне совсем не понравилось поверхностное изложение материала и это слегка поубивало мотивацию, потому что не знал куда двигаться.
Если не получается по одной книге, лучше взять другую
1
Softkhoz
368 / 10 / 1
Регистрация: 23.08.2013
Сообщений: 174
10.09.2013, 06:58  [ТС] #19
Задачу для себя я уже придумал, но боюсь что изучение языков настолько долгий процесс, что со временем утратится стимул эту задачу решать. Я взялся изучать не только С++, но и VBA, этот язык проще и в нем можно быстрее добиться результатов. Однако он может развить плохой стиль программирования. Не будет ли для меня вреда от параллельного изучения двух языков?
0
elivin
65 / 65 / 1
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
10.09.2013, 10:28 #20
ninja2, и вновь о том же. Прежде чем отвечать далее, перечитай моё первое сообщение в этой теме.
Цитата Сообщение от ninja2 Посмотреть сообщение
А без учебника какая у тебя база будет?
Точно такая же, как и с учебником. Ну, на пару названий буду меньше знать. (отсылка на первый абзац моего первого сообщения)
Цитата Сообщение от ninja2 Посмотреть сообщение
От чего ты будешь отталкиваться?
Последний минус в первом сообщении.
Цитата Сообщение от ninja2 Посмотреть сообщение
Просто мотивация эта сильная она быстро пропадет, когда человек поймет, что он нулевой и в ближайшее время ему этот проект не сделать.
Не про меня - я могу долго заниматься одним делом/проектом, если вижу конкретный результат. Таким образом, долго заниматься с учебником я не могу.
Цитата Сообщение от ninja2 Посмотреть сообщение
От когда есть база - знание языка, тогда можно проекты делать.
А у меня без проектов не будет базы

Softkhoz,
Цитата Сообщение от Softkhoz Посмотреть сообщение
боюсь что изучение языков настолько долгий процесс, что со временем утратится стимул эту задачу решать
Не бойся, это изучение может затянуться на всю жизнь. Так что просто прикидывай во время обучения (самообучения), где текущую тему можно применить в решении данной задачи, пробуй решать разными способами, смотреть на решения других.
Цитата Сообщение от Softkhoz Посмотреть сообщение
Не будет ли для меня вреда от параллельного изучения двух языков?
Сколько же я раз сталкивался с мнением, что изучать несколько языков (программирования) - это сложно... Сделай акцент на одном из них, отмечай отличия между ними. Так, в сравнении, даже лучше усваивается.
0
Softkhoz
368 / 10 / 1
Регистрация: 23.08.2013
Сообщений: 174
10.09.2013, 14:06  [ТС] #21
Маленькое отличие я уже обнаружил. Это знак операции отношения (не равно) для бейсика <>, для С++ !=
0
mzarb
-211 / 7 / 1
Регистрация: 14.01.2013
Сообщений: 141
10.09.2013, 17:03 #22
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Расскажу одну историю. Как-то давно мне нужно было написать модуль на php, но php я не знал и на то время из программирования был знаком только с версткой. Читать книги не очень хотелось, потому как не стояла задача изучить php и потратить на это минимум пару месяцев. В итоге нашел видео курсы Попова и когда пересмотрел их, то думал что уже знаю php. Но по сути там только управляющие конструкции и операторы некоторые. Так вот начал я кодить этот модуль и это был настоящий ад, потому что по каждой мелочи обращался за помощью на форум, а если пробовал найти непонятный для меня момент где-то в справочнике или блоге, то он становился ещё более непонятным, потому что тащил за собой гору зависимостей в виде знаний, которые должны уже были у меня быть из прочтения книг или ещё чего.
В конце концов я устал и хотел все бросить, но уж больно хотелось получить плюшки от модуля, так что начал искать похожий функционал в других модулях и после по частям его собирал методом тыка. На все это ушло 3 месяца и оставило очень неприятный осадок, после которого я ещё год не брался за программирование. А этого можно было избежать, потрать я эти 3 месяца на получение базы из книг, то смог бы написать этот простой модуль максимум за неделю и явно бы получил удовольствие в конце, а потом бы смог написать похожий модуль или лучше, тоже за неделю или меньше, а не за 3 месяца, потому что у меня уже были бы знания, а не случайно полученный результат.
Конечно есть те, которым не терпится получить результат на практике и пропустить теорию, а уже в процессе практики возможно разбираться с теорией, но это же путь мартышки, так как опять же есть большой шанс при обращении за теорией на практике, попасть на момент, который тянет за собой зависимости и для их понимания нужны будут основы и не только они, так как программирование - это не рисование картины с разных частей, потому что в итоге может не получиться их соединить вместе.
Прочтение книг само по себе может вызывать скуку и не желания дальше продолжать и это может происходить по многим причинам, не обязательно сразу говорить, что вам не нравится программирование, а вы почему-то думаете обратное или что вы не способны к программированию. Просто примите как должное, что процесс изучения программирования и написания программ - не всегда радужный и для начала нужно побороть лень и не отступать при первых трудностях, потому что каждый по разному прошел этот путь и стал на него тоже по разным причинам, но каждый тратил на него достаточно времени и если вы что то забываете или плохо понимаете, то это только значит что вы потратили мало времени.
Так что, если вы решили что программирование - то чем вы хотите заниматься сейчас и в будущем и вы хотите стать хорошим программистом, то заставьте себя учится по книгам, ведь так или иначе вы придете к ним, все зависит от того, насколько это болезненно будет. И ещё раз запомните самое главное - чем больше времени вы потратите на программирование, тем лучшем вы в нем будете.
4
elivin
65 / 65 / 1
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
10.09.2013, 21:13 #23
mzarb,
Цитата Сообщение от mzarb Посмотреть сообщение
это был настоящий ад, потому что по каждой мелочи обращался за помощью на форум, а если пробовал найти непонятный для меня момент где-то в справочнике или блоге, то он становился ещё более непонятным, потому что тащил за собой гору зависимостей в виде знаний, которые должны уже были у меня быть из прочтения книг или ещё чего.
Могу только посочувствовать. У меня никогда таких проблем не возникало. Может, вы не с той стороны начали? Я усваиваю материал на уровне понимания, как оно работает, а не на "абстрактном уровне". Кстати, минус учебников (может, только тех, что я видел) - они дают только абстрактный уровень.
Цитата Сообщение от mzarb Посмотреть сообщение
после по частям его собирал методом тыка.
А вот это не есть очень хорошо - если и копипастишь, копипасть осознано. Даже интересно стало, что же там было такого сверхсложного?
Цитата Сообщение от mzarb Посмотреть сообщение
А этого можно было избежать, потрать я эти 3 месяца на получение базы из книг, то смог бы написать этот простой модуль максимум за неделю и явно бы получил удовольствие в конце, а потом бы смог написать похожий модуль или лучше, тоже за неделю или меньше, а не за 3 месяца, потому что у меня уже были бы знания, а не случайно полученный результат.
"Если бы да кабы". Что ж, позволь и мне рассказать небольшую историю:
Был у меня однокурсник (точнее, и сейчас есть), у которого также была тяга к программированию. И он, также, как и вы, возлагал большие надежды на книги. Он занимался паскалем, я в то время - Си'шкой/C++ (зависело от задачи), но и паскаль воспринимал. Он иногда показывал мне свои "изобретения". Была у нас тогда дисциплина "Основы алгоритмизации и программирования", где вся группа усиленно учила паскаль (я с преподом договорился, что всё равно буду на Си писать). Так вот, на экзамене (считай, почти через год обучения) у него попалась такая задача:
Пользователь вводит набор ненулевых чисел, признак конца - нуль. Вывести сумму этих чисел.
Я бы не сказал, что он плохо знал паскаль, скорее наоборот, он знал его куда лучше меня (а мы с ним помогали всей остальной группе). Но то, как он решил её, меня просто убило - он объявил массив из 8 элементов, затем в цикле присваивал значение очередному элементу, прибавлял к итоговой переменной и проверял, не равен ли этот элемент нулю. Если равен, выходил из цикла. Ему просто повезло, что препод не стал смотреть на его код, ведь программа работала корректно, если вводить не более 7 чисел (и 0).
Я мог дать ему только один совет - больше практиковаться, а не упарываться конструкциями и сверхвозможностями языка
Цитата Сообщение от mzarb Посмотреть сообщение
если вы что то забываете или плохо понимаете, то это только значит что вы потратили мало времени
Зубрёжка, равно как и мой метод, подходит далеко не всем. Если я не воспринимаю материал в форме учебников, это не значит, что я мало потратил на них времени. Это на самом деле не так. То, что я воспринимаю материал в форме "рабочий код с комментариями и пояснение к нему" (то есть статьи в справочниках/блогах) намного лучше, чем "представьте себе, есть группа студентов, у каждого из них есть ФИО, номер студенческого, номер группы etc, каждый год номер группы меняется. Так вот ФИО, номера студенческого и группы - это данные, функция для смены номера группы - это метод. В виде кода это можно представить так: ..., а теперь представим, что современные студенты очень испорчены и могут менять пол. Добавим для этого метод: ... и ещё куча букв", вовсе не значит, что мне было лень вникать в то, что там понаписал автор. Просто дополнительные уровни абстракции для меня излишни.
Цитата Сообщение от mzarb Посмотреть сообщение
если вы решили что программирование - то чем вы хотите заниматься сейчас и в будущем и вы хотите стать хорошим программистом, то заставьте себя учится по книгам, ведь так или иначе вы придете к ним

Не по теме:

Приму как обращение лично ко мне


Даже когда я обращусь к книгам, это будет что-то вроде "Совершенного кода", а не "C++ для начинающих"/"ООП на C++"

Не по теме:

Посмотрел созданные вами темы в этом разделе. Уж извините, но вам рановато ещё давать советы "как стать хорошим программистом"



Цитата Сообщение от Softkhoz
Маленькое отличие я уже обнаружил. Это знак операции отношения (не равно) для бейсика <>, для С++ !=
Уже что-то. Обрати внимание на синтаксис. С VBA, увы, не знаком, но могу рассказать про различие между C/C++ и паскалем, с которым сталкивался, когда однокурсникам помогал (точка с запятой, про паскаль могу немного наврать, давно с ним не работал):
C++
1
2
3
4
if (a == true)
   func1();
else
   func2();
Pascal
1
2
3
4
if a = true then
   func1
else
   func2;
1
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
10.09.2013, 22:26 #24
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от elivin Посмотреть сообщение
"Если бы да кабы". Что ж, позволь и мне рассказать небольшую историю: ...
Да эта история так фигня, пассажир видимо ничего не читал, задач никаких ни решал, потому и сделал кое как. Если б он хоть одну книгу по практике прочитал то умел бы писать программы.
Книги делятся на учебники где описывается просто язык и практика где уже показывается как что делать, там внимание не акцентируется на конструкциях языка.

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

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

Вообще обратись к такой науке как педагогика, и там почитай как нужно что то учить.

Добавлено через 4 минуты
Короче никто не будет так обучать людей ставить перед ними какие то задачи и чтобы они пытались их выполнить, ладно, меня это если честно беси, такие методики.
3
Croessmah
Ушел
Эксперт CЭксперт С++
13558 / 7708 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
10.09.2013, 22:26 #25
Цитата Сообщение от ninja2 Посмотреть сообщение
не охота мне школоту учить и доказывать
Да никто и не настаивает
Цитата Сообщение от ninja2 Посмотреть сообщение
спроси лучше в любого препода как тебе что нить изучить
Он посоветует ходить к нему на лекции и обязательно делать что он скажет
так как он всё знает и понимает лучше всех и вообще супер-пупер программер, поэтому и пошел преподавать
кого-то мне эта картина напоминает
2
coloc
10.09.2013, 22:35
  #26

Не по теме:

ninja2, о великий Гуру С++ в каждом вашем посте можно найти кучу лулзов. Продолжайте писать такие осмысленные ответы

2
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
10.09.2013, 22:36 #27
Цитата Сообщение от Croessmah Посмотреть сообщение
Он посоветует ходить к нему на лекции и обязательно делать что он скажет
так как он всё знает и понимает лучше всех и вообще супер-пупер программер, поэтому и пошел преподавать
Да не за это, за то как что учить, в любого препода пусть спросит, там по математике, литературе да пофигу, в любого человека имеющего педагогическое образование, а не у кого попало, а то с такими методами пассажир 100% далеко не уедет.
Дам совет, для начала нужно научится учится, а потом уже что то учить.

Добавлено через 15 секунд
Цитата Сообщение от Croessmah Посмотреть сообщение
Он посоветует ходить к нему на лекции и обязательно делать что он скажет
так как он всё знает и понимает лучше всех и вообще супер-пупер программер, поэтому и пошел преподавать
Да не за это, за то как что учить, в любого препода пусть спросит, там по математике, литературе да пофигу, в любого человека имеющего педагогическое образование, а не у кого попало, а то с такими методами пассажир 100% далеко не уедет.
Дам совет, для начала нужно научится учится, а потом уже что то учить.
2
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
10.09.2013, 22:39 #28
Цитата Сообщение от ninja2 Посмотреть сообщение
для начала нужно научится учится, а потом уже что то учить.
А что бы научиться учиться, учить(ся) не надо?
2
Croessmah
Ушел
Эксперт CЭксперт С++
13558 / 7708 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
10.09.2013, 22:40 #29
Цитата Сообщение от ninja2 Посмотреть сообщение
Да не за это, за то как что учить, в любого препода пусть спросит, там по математике, литературе да пофигу, в любого человека имеющего педагогическое образование
Для того, чтобы научиться садиться на шпагат не надо штудировать учебники. Достаточно тренировок.
2
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
10.09.2013, 22:46 #30
Цитата Сообщение от Croessmah Посмотреть сообщение
Для того, чтобы научиться садиться на шпагат не надо штудировать учебники. Достаточно тренировок.
ну для начала нужно теорию почитать, какие упражнения делать и как он сядет на шпагат не зная теорию (упражнения), теория первична кругом, его нужно научить какие упражнения делать для начала, потом уже будет практика тренировки.

Добавлено через 3 минуты
Цитата Сообщение от gray_fox Посмотреть сообщение
А что бы научиться учиться, учить(ся) не надо?
В вуз поступай, там преподы тебя научат. Пусть тебя помучает этот вопрос.
2
10.09.2013, 22:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2013, 22:46
Привет! Вот еще темы с ответами:

Apache camel, Spring: нужна информация для самообучения - Java EE
Всем привет! На работе решил усовершенствоваться и решил заняться самообучением! Необходима литература по сабжу. На анг. языке литературы...

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

Математика для программирования (материалы для самообучения) - Математика
Добрый день, уважаемые участники форума 8-) Хотелось бы заниматься программированием. Начинаю, но понимаю, что без алгоритмов дело не...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.