![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
HACKBOOST |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 9.9.2013 Репутация: нет Всего: нет |
Привет всем,я на вашем форуме новенький,я желаю изучить язык программирования и прошу вас помоч мне в этом,пожалуйста скиньте в комменты какуето книгу по изучению С++ с нуля!Очень прошу
|
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
А лучше сразу сюда
|
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
Maser312, http://www.cplusplus.com/reference/algorithm/reverse/
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
jsharp36 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.10.2011 Репутация: нет Всего: 1 |
Ну и желания у новичков )
С С++ не начинают учить программирование. Да и вообще, надо ли. Но отговаривать не буду. Я предложу два взгляда, как научиться программировать. Вот, как думаю я и обычно это стандартный путь: Сначала изучить простые алгоритмы, работа с типами. Подойдет любой язык, даже паскаль. Но лучше, конечно, пользоваться сразу тем, чем будет привычнее в работе. Поэтому С. Не С++. Или какой-нибудь С++ компилятор, но использовать только подмножество С. И вот, сначала изучить что-то, вроде просьбы Maser312. Научиться ветвлениям, циклам, работы с массивами, простые алгоритмы сортировок, работы с файлами. Не могу предложить конкретную книгу, обычно это в универах изучают на первых курсах. После этого, если научились писать кое-как простые программы, поняли, что такое алгоритм, значит немалые есть шансы изучить всё остальное. Оно, остальное, не так сложно, но объемно. Вторым шагом советую изучить подробно С. Т.е. уже работу с указателями хорошо, структуры данных, более сложные алгоритмы. Далее переходим на ООП. Читаем "объектно-ориентированное программирование". Обычно, классика - Гради Буч. После этого изучаем С++. Тут уже зависит. Например, для начала хорош Липман. (думаю, по фамилиям найдете в нете). Он не грузит слишком подробностями и граблями плюсов. Далее по списку, что надо сиплюсплюсникам. Как минимум Страуструп - это полное знание плюсов и граблей. Но не понимание как надо им пользоваться. Меерс, Александреску, STL. (аж самому страшно, сколько учить надо. хорошо, что я не учил, не сиплюсплюсник же )))) Второй путь советуют функциональщики. Не засорять сразу себе мозги, а начать с этой книги (SICP): http://ru.wikipedia.org/wiki/%D0%A1%D1%82%...%B0%D0%BC%D0%BC И в ней сразу окунуться в мир прекрасного. 1 путь - это сразу в низы, в грабли и ужас. Чтобы потом понять и ценить хорошее. 2 путь - это сразу в хорошее и увидеть выбор, а потом уже продвигаться дальше Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
jsharp36, изучать С++ после С сущее мучение. Поэтому на мой взгляд лучше Basic/Python/Pascal - C++ - C. Basic/Python/Pascal - дают базовые понятие программы и алгоритмов, а C++ - оптимальные алгоритмы и ООП. А вот С - это низкоуровневый системный язык, который по факту мало кому нынче нужен.
|
|||
|
||||
jsharp36 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.10.2011 Репутация: нет Всего: 1 |
вполне может быть. Тогда надо с SICP. Там сразу с Scheme начинают. Рассматривают различные техники в разных парадигмах. И что важно, сразу прививают функциональное мышление. О котором многие программисты и не догадываются.
Но мне, кажется, что Си полезный и почти обязательный язык для программиста. Он должен представлять, как там память выделяется, как с ней работают. Чтобы понимать, как работают высокоуровневые языки и фреймворки. А вот, как раз С++ необязательный. Его можно пропустить и изучить что-то более интересное. С++ требует ацких усилий на изучение. При этом С++сник изучит это только через несколько лет, и научится ТОЛЬКО языку и нюансам работы с ним. Когда как в другом направлении изучать не меньше, но уже изучают применения, библиотеки. В общем, первая часть - с простыми алгоритмами, изучаться может на чем угодно. Бейсик я бы исключил, портит )) Вторая - знания С, под вопросом, но я бы не пропускал. А далее уже любой конечный выбранный язык и его применение. Также изучить книги, повышающие мастерство (или скорее, не повышающие, а создающие) - "рефакторинг" Фаулер, банда четырех - паттерны, "программирование через тестирование" Кент Бек, "Совершенный код" Макконел. Как видите, кроме плюсов учить и учить. Тратить несколько лет на изучение граблей одного только языка и потом искать работу, максимум, гейм-девелопмент, иначе легаси код - не радужная перспектива. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Следуя этой логике и ассемблер изучать надо. Я считаю, изучать нужно сверху вниз - от простого к сложному. Когда ты знаешь что надо получить и какими алгоритмами, то легче цель разбить на кирпичики. А когда ты не знаешь что должно получиться и что оно должно использовать, то тут тебе ни знания С, ни ассемблера не помогут. Поэтому, задача №1 - научиться превращать задачу в алгоритмы. |
|||
|
||||
jsharp36 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.10.2011 Репутация: нет Всего: 1 |
Поэтому я сразу два варианта и дал. Снизу вверх и сверху вниз.
Изучать на С простые алгоритмы вполне можно, при наличии нормальных руководств. Не обязательно ж там писать ссылки и указатели. В остальном всё так. Паскаль неплох. Плох, что синтаксис другой, нужно будет хоть и не большое время, но на перепривыкнуть. Питон - не работал с ним. Но вроде неплох. Плох в плане динамической типизации. а может и нет. Но кажется, к хорошему надо приучать сразу. В общем, я показал свой только взгляд, путей может быть много. Выбирайте. Но также новичку хорошо было бы знать список навыков и книг, которые надо изучить. Это может сразу убить желание программировать и программистов будет меньше, нам лучше ))) Я, например, начинал учить программирование, не знал что меня ожидает впереди. Даже не подозревал о тех объемах. И до сих пор еще многое, что хотелось бы, не освоил. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
jsharp36, список книг есть тут.
|
|||
|
||||
jsharp36 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.10.2011 Репутация: нет Всего: 1 |
Предлагаю начать с прочтения этой ветки:
http://www.sql.ru/forum/466654/s Знатная битва получилась, высечена в веках ))) Новички смогут поднять себе настроение и увеличить немного кругозор. Надо немного оправдать С++, потому как эта ветка писалась уже довольно давно. С++ похоже немного восстанавливает позиции в связи со стандартом С++11. Появляются вакансии. Но с задачами и с зарплатами не видел какого-то прорыва. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
jsharp36, я не знаю как с вакансиями. Но как работодатель могу сказать, что найти в Москве вменяемого С/С++ программиста менее чем на $2000 очень сложно. Или это студент, который "сложней hello world" ничего не писал, или это "кодер", а не программист.
|
|||
|
||||
jsharp36 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.10.2011 Репутация: нет Всего: 1 |
bsa, для меня в Киеве 2000 - это почти джуниор. Т.е. это не предел мечтаний. В Москве подавно. Там жизнь дороже. В форуме, в общем, сетуют на "Так в основном 2к ну 3к как максимум."
Я .Net программист. Еще пишу на одном функциональном языке. Обычно, по опыту обозрений вакансий из таких мейнстримных г..о-языков - дотнет немного выше (не очень намного) ценится чем С++ в плане зарплат. Вакансий много. Джава ценится больше всего. Сейчас, да, в любом направлении тяжело найти вменяемого программиста. Интересно личное наблюдение - на С++ уровень программиста очень сильно колеблется. Работают часто совсем неадекваты, но считают себя отличными программистами почти все. Чуть ли не гениями. Есть и грамотные люди. В дотнете как-то проще. Люди более в среднем приземленнее, но более грамотнее, тоже в среднем. И меньше разброс от матожидания. В любом случае, если Вы программист С++, то Ваше мнение более ценно, чем мое в совете этому новичку, что и как учить. Я тоже с полгода писал на плюсах. Но не имею в знаниях всей той литературы, о которой написал. Работал я с С++сниками просто, плюсы использовал от раза к разу, основной язык был другой. Но как-то выяснил, что они учат и в какой последовательности. На основе этого и дал свой совет. Лично я изучал вначале по книге http://www.proklondike.com/books/cpp/lipma..._cpp_intro.html Только надо понимать, что эта книга не дает все знания. Она - всего понемногу. Достаточно исчерпывающая, чтобы знать как пользоваться языком, знать почти всё о нем и как-то уметь писать. Но является первым шагом, для появления общей картины. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
jsharp36, проблема именно в том, что все хотят много, при этом когда начинаешь общаться выясняется что и до джуниора не дотягивает. Поэтому мы берем перспективных джуниоров и пытаемся вырастить нормальных программистов. Но вероятность успеха низкая. Примерно 20-30%.
|
|||
|
||||
adamo86 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 20.11.2008 Где: Deutschland Репутация: нет Всего: нет |
А я сразу советую приступить к практике. Т.е. читать и параллельно уже программировать. В этом помогает сайт: acmp.ru. Здесь хорошие мелкие задачки.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |