Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [FAQ] С чего начать изучение? Или что почитать для начала 
V
    Опции темы
bsa
Дата 19.1.2010, 23:42 (ссылка) |    (голосов:14) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



В первую очередь нужно понять, какой язык требуется. Хоть постоянно и объединяют языки С и С++, но они совершенно разные. Причем, знание языка С вредит изучению языка С++. Для того, чтобы определиться, достаточно ознакомиться со спросом на программистов, может окажется, что в вашем регионе востребованы программисты, например, C#, Delphi, Python и т.п...

Изучающим С++ рекомендую следующую последовательность обучения:

1. Харви Дейтел и Пол Дейтел "Как программировать на С++", чтобы понять азы языка
2. Герб Саттер и Андрей Александреску "Стандарты программирования на С++", чтобы знать многие "тонкие" моменты языка
3. Скотт Мейерс "Эффективное использование C++" и "Эффективное использование STL", чтобы уметь пользоваться стандартным инструментарием
4. Герб Саттер "Новые сложные задачи на C++", чтобы уметь избегать коварных ошибок
5. Э. ГаммаР. ХелмР. ДжонсонДж. Влиссидес "ООП. Паттерны проектирования", чтобы знать стандартные методы и приемы
6. Андрей Александреску "Современное проектирование на C++", чтобы знать, как правильно проектировать программы
7. ISO/IEC 14882 "Programming Language -- C++", основополагающий документ - стандарт языка С++ (последний черновик).

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

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

Если нет надежного доступа в интернет, то можно так же приобрести справочники:
1. Герберт Шилдт "Полный справочник по С++"
2. Дэвид Вандевурд и Николай М. Джосаттис "Шаблоны С++. Справочник разработчика"


Изучающим язык С рекомендую следующую последовательность обучения:

1. Харви Дейтел и Пол Дейтел "Как программировать на С", чтобы понять азы языка
2. Б. Керниган и Д. Ритчи "Язык программирования Си"
3. В.В. Подбельский  и С.С. Фомин "Программирование на языке C"
4. ISO/IEC 9899:1990 "Programming Language -- C"

Справочники:
1. Герберт Шилдт "Полный справочник по С"


Если будут возникать вопросы по программированию, то сначала следует поискать ответ на него в Часто задаваемых вопросах, в любимом поисковике, а уж затем задавать в разделе "С++ для новичков".
Для написания программ по началу рекомендую использовать простейший редактор (можно с подсветкой синтаксиса, например: notepad++, vim, kate, gedit; но можно и без: notepad или nano). Компилировать лучше всего консольным компилятором (mingw32 под Windows или gcc под Unix/Linux) пока в проекте менее 3-х файлов. Для больших проектов лучше использовать IDE (интегрированные среды разработки).

Назад к FAQ

Это сообщение отредактировал(а) bsa - 2.8.2011, 11:28
PM   Вверх
zim22
Дата 20.1.2010, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



я бы добавил книги по дискретной математике, алгоритмам.
1) Дискретная математика для программистов. Р.Хаггарти.
2) Роберт Седжвик. Фундаментальные алгоритмы на C++/Java (на Java, т.к. в продаже С++ версию уже сложно найти, а алгоритмы что на Java, что на С++ - полностью идентичны)
    или 
    Кормен - Алгоритмы. Построение и анализ. 



Это сообщение отредактировал(а) zim22 - 20.1.2010, 11:47


--------------------
PM MAIL   Вверх
zim22
Дата 20.1.2010, 13:30 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(bsa @  20.1.2010,  12:11 Найти цитируемый пост)
высказывайте свои мнения по каждой книге приведенной здесь, если читали, конечно.


Цитата(bsa @  19.1.2010,  22:42 Найти цитируемый пост)
1. Харви Дейтел и Пол Дейтел "Как программировать на С++", чтобы понять азы языка

в Дейтеле не только азы языка. в ней ещё знакомство с UML, бустом, огром и ещё миллионом всего.
я считаю, что она перегружена информацией. вместо неё рекомендую своего любимого Липпмана, т.к. в нём только С++ в чистом виде и ничего больше.

Язык программирования С++. ВВодный курс. 4 издание. Стенли Липпман.







--------------------
PM MAIL   Вверх
mes
Дата 20.1.2010, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(andrew_121 @  20.1.2010,  16:50 Найти цитируемый пост)

это называется "метод тыка" smile 

Я думаю GoldFinch говорит о несколько другом, 
когда делается предположение как должна работать конструкция и проверяется в отладчике  - совпадает или нет.
но тут есть два момента :
1. новичек в программировании (т.е. если не обладает опытом других ЯП ) с трудом может предположить, что можно ожидать от конструкции, а следовательно ему не от чего будет отталкиваться.
2. такой подход подошел бы для изучения например бейсика , а С++ обладает скопищем подвохов (которые еще и в разных реализациях компиляторов проявляются неодинаково), поэтому для него такой подход затруднителен даже для тех кто имеет опыт программирования и может доставить кучу неприятностей.

так что книжка по основным ньюансам языка все равно должна быть прочитана..

Ну а вообще имхо учить программирование надо начинать не с языков, а с общих концепций, чтоб программировать не на ЯП, а с помощью ЯП.
Тем более это касается С++, так как язык довольно проблемный (хоть и могучий).
А то часто приходится наблюдать на задавленное языком мышлениe, страх пред конструкцией и боязнь взглянуть шире.







--------------------
PM MAIL WWW   Вверх
zim22
Дата 21.1.2010, 12:01 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(bsa @  19.1.2010,  22:42 Найти цитируемый пост)
5. Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес "ООП. Паттерны проектирования", чтобы знать стандартные методы и приемы

если с английским гуд, то я очень рекомендую перед GoF прочитать её более облегчённый вариант. Книжка просто СУПЕР. написана с юмором, паттерны объясняются очень доходчиво.
Head First Design Patterns


--------------------
PM MAIL   Вверх
Леопольд
Дата 22.1.2010, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 943
Регистрация: 17.6.2009

Репутация: 3
Всего: 13



Цитата(bsa @  20.1.2010,  13:11 Найти цитируемый пост)
Господа, не надо пытаться собрать все возможные книги. Нужно только небольшой список лучших, которые необходимы для самостоятельного изучения языка. 

Вообще, я бы разбил этот список на обязательные к прочтению книги и на усиленно рекомендуемые.
В обязательные я занёс бы всего Мейерса и Дейтелов.
Саттера не читал ни одну и уже, наверное, не буду, разве только ту что он с Александерску написал, она небольшая. smile
Шаблоны Вандевурда и Модернистское проектирование Александреску отнёс бы к рекомендуемым. Всё же без них реализацию буста не понять...

Добавлено @ 19:26
Цитата(mrbrooks @  20.1.2010,  13:29 Найти цитируемый пост)
на мой взгляд в этом ракурсе хорош "Программирование на языке C" Подбельского, в отличие от его поделия по С++. 

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

Однако Подбельский понятия не имеет что такое ООП и С++. Наверное стоит заодно озвучить список тех книг, которые нельзя/вредно читать. Эта подходит по всем параметрам.

Это сообщение отредактировал(а) Леопольд - 22.1.2010, 19:27


--------------------
вопросов больше чем ответов
PM MAIL   Вверх
bsa
Дата 26.1.2010, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Предлагаю с С++ закончить, раз больше ничего нового никто сказать не может.

Продолжим с С. Кто что порекомендует еще?


M
bsa
Тему подчистил


Это сообщение отредактировал(а) bsa - 26.1.2010, 16:50
PM   Вверх
bullvinkle
Дата 23.3.2010, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 18.3.2008

Репутация: нет
Всего: нет



А как это в С нет книги Кернигана и Ритчи? Очень простая и понятная книга. К тому же от создателей.
PM MAIL ICQ   Вверх
RatHat
Дата 23.3.2010, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вождь индейцев
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 5.9.2005

Репутация: нет
Всего: 1



Джесс Либерти еще может быть?
--------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i
PM MAIL   Вверх
bsa
Дата 23.3.2010, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(bullvinkle @  23.3.2010,  13:46 Найти цитируемый пост)
А как это в С нет книги Кернигана и Ритчи? Очень простая и понятная книга. К тому же от создателей. 
Логично. Добавил.

Цитата(RatHat @  23.3.2010,  14:03 Найти цитируемый пост)
Джесс Либерти еще может быть?
Не читал. Есть отзывы? О чем она вообще?

Думаю, не помешала бы книжка по проектированию ПО на языке С.

PM   Вверх
RatHat
Дата 24.3.2010, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вождь индейцев
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 5.9.2005

Репутация: нет
Всего: 1



Джесс Либерти "Освой самостоятельно C++ за 21 день". Достаточно внятная книга, весьма толковая, как по мне.
--------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i
PM MAIL   Вверх
bsa
Дата 24.3.2010, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



фраза "C++ за 21 день" уже настораживает.
PM   Вверх
RatHat
Дата 24.3.2010, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вождь индейцев
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 5.9.2005

Репутация: нет
Всего: 1



bsa, ну блин, погугли книгу, оцени сам, если снизойдёшь до этого вдруг...
--------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i
PM MAIL   Вверх
nurik3
Дата 24.3.2010, 15:06 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Цитата(bsa @ 24.3.2010,  13:40)
фраза "C++ за 21 день" уже настораживает.

Фразу ко дням можно не относить.
21 - это в содержании 21 разделов или глав.
Книга для новичков, все прожевано. Скупа на схемы и иллюстрации. В книге дается объяснение работы стека, но не до конца раскрыта.  
Для самостоятельного изучения С++ придется поискать что-нибудь еще, например, книги Дейтелов или Лафоре.

Предупреждаю!!! Комменты написаны чайником.


PM MAIL   Вверх
bsa
Дата 24.3.2010, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(RatHat @  24.3.2010,  14:19 Найти цитируемый пост)
оцени сам, если снизойдёшь до этого вдруг... 

К сожалению, времени нет. Да и простого "листания" недостаточно, чтобы советовать новичкам.

Цитата(nurik3 @  24.3.2010,  15:06 Найти цитируемый пост)
Для самостоятельного изучения С++ придется поискать что-нибудь еще, например, книги Дейтелов или Лафоре.
Про книги по С++ уже все закончено. Речь идет про язык С, а это немного другой язык. smile Но идея про Дейтелов мне понравилась, в итоге нашел аналогичную книгу по С.

PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1224 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.