Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите выбрать книгу, для изучения STL 
V
    Опции темы
baldina
Дата 16.1.2015, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



lllJollyRogerlll, каков ваш опыт в программировании вообще?
PM MAIL   Вверх
lllJollyRogerlll
Дата 16.1.2015, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(baldina @ 16.1.2015,  21:00)
lllJollyRogerlll, каков ваш опыт в программировании вообще?

Я подробно изучил книгу Джесс Либерти и Бредли Джонс "Освой самостоятельно С++ за 21 день". Раз 5 начинал читать и все не как не мог её освоить, потом собрался с силами и все таки изучил. Но вы не заостряйте внимание на название. За 21 день её физически не изучить. Разве что только прочитать. Она довольно объемная, около 800 страниц + задачи. Там рассматриваются Векторы, Списки, Очереди, Карты, то есть некоторые аспекты STL. Ну естественно основы - классы, шаблоны и т.д. Я приводил пример кода, который я написал последним. Там связанный список, на основе шаблона класса с передачей пользовательских исключений. Работать я негде не работал. Из опыта написания кода только те задачи, которые были у меня в учебнике и некоторый код, который там приводится в пример я просматривал, запоминал и потом просто "под свою дудку" его переписывал. Вот по этому, учебник который начинается с std::cout<<"Hello world!\n"; мне скучен. А многие из тех, которые мне тут советовали я открывал книги и с первых строк не понимал о чем идет речь. Хотя Николай Джосьютис "стандартная библиотека c++ для профессионалов", выпуск 2004го года уже 60ти десятая страница пошла и я все прекрасно понимаю, о чем пишет автор. Но мне говорят что мне это не подойдет, что это всего лишь справочник а не учебник. Да и в бумажном виде его нет. Вот такая ситуация... 
PM MAIL   Вверх
Guinness
Дата 17.1.2015, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Alexeis, спорить не буду. Данная книга действительно учит определенному подходу к написанию программ. Она очень интересная и полезная, но боюсь, что начинающий её не осилит. Прежде чем изучать stl действительно стоило бы понять, что такое шаблоны в C++. Мне в своё время хватило самоучителя Шилдта, хотя я бы не сказал, что там много времени уделяется данной теме. Плюс различная информация в интернете. Этого должно хватить для написания своего класса контейнера и использования stl. В принципе можно попробовать почитать Вандервуда с Джосаттисом, там вроде более менее рассказано о всех возможностях шаблонах в C++.
PM MAIL   Вверх
baldina
Дата 17.1.2015, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



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

посему важен не только язык, который является общим инструментом, но и многое вокруг (кстати, у любого инженера главный инструмент это его знания и опыт, остальные носят вспомогательный характер).

так что перечень тем (и книг) растет)))) 

применительно к С++ следует, как минимум, понимать объектно-ориентированный подход (см. SOLID), обобщенное программирование, плюс неплохо бы элементы функционального программирования
по каждой теме есть литература, статьи и тд.

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

вы с какой целью язык изучаете?

PM MAIL   Вверх
lllJollyRogerlll
Дата 18.1.2015, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



baldina, изначально я решил стать разработчиком, что бы зарабатывать на жизнь головой, поэтому целью  является устроиться в компанию по разработке. А С++ выбрал, потому что где то вычитал, что программа для марсохода Кьюриосити написана на Си, ну а т.к. С++ является продолжением(тогда я так думал) языка Си, мне показалась эта затея очень увлекательной. К тому же, многие современные компьютерные игры разрабатываются не без участия С++ и эта тема мне близка. Не подумайте, я не заядлый геймер. В последнее время, каждую свободную минуту я уделяю изучению С++, или Английского языка, но тема создания компьютерных игр меня влечет. Ну а в общем, мне кажется что разработка в целом - интересное и увлекательное занятие.
Но я и понятия не имею, какие нужны знания, что бы устроиться на работу С++ разработчиком... И тем более - куда...)
PM MAIL   Вверх
baldina
Дата 19.1.2015, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



PM MAIL   Вверх
lllJollyRogerlll
Дата 19.1.2015, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



baldina, спасибо
PM MAIL   Вверх
kemiisto
Дата 26.2.2015, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



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

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



Цитата(lllJollyRogerlll @  16.1.2015,  21:26 Найти цитируемый пост)
Я подробно изучил книгу Джесс Либерти и Бредли Джонс "Освой самостоятельно С++ за 21 день".

Не читал, но за одно название осуждаю. А хотя... Не за 24 часа и то ладно. smile 

Цитата(lllJollyRogerlll @  16.1.2015,  21:26 Найти цитируемый пост)
Она довольно объемная, около 800 страниц + задачи.

800 страниц - это капля в море. Вам тут ссылок на литературу уже много накидали, и Вы должны были уже понять, что с 800 страниц всё только начинается. Вообще, Вам тут самое главное забыли сказать. Точнее, не сказали прямо, между строк то оно читается. Так вот, главное заключается в том, что начиная с нуля, Вам потребуется, грубо говоря, лет 5 для того, чтобы начать создавать компьютерные игры на С++. И это если вообще получится, ибо тут никаких гарантий, осилите Вы или нет, Вам никто дать не может.

Цитата(lllJollyRogerlll @  18.1.2015,  08:37 Найти цитируемый пост)
Но я и понятия не имею, какие нужны знания, что бы устроиться на работу С++ разработчиком... И тем более - куда...)

Ну, так узнайте. Требования везде разные, поэтому, что конкретно нужно знать зависит от того, куда Вы хотите пойти работать. Поищите в интернетах объявления о найме C++ Junior.

Добавлено через 8 минут и 57 секунд
А, ну и да. В любом случае, идущие на смерть приветствуют тебя. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
konshyn
Дата 27.2.2015, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Есть очень хорошая статья: Почему научиться программировать так чертовски тяжело?

Добавлено через 1 минуту и 17 секунд
Оу, сорри, не туда. окнами ошибся. Но пусть останется:)


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
disputant
Дата 27.2.2015, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Я бы рекомендовал Мюссера "C++ и STL Справочное руководство", а Джосаттиса "Стандартная библиотека С++. Справочное руководство" - уже когда будете работать профессионально. 

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


Новичок



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

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



kemiisto, В общем, тогда нет смысла вообще продолжать учиться? Мне уже 25 лет + еще 5 на обучение и потом я буду 30дти летний начинающий программист без опыта работы. Но такие навряд ли кому нужны, если и берут без опыта то помоложе.. Правильно я понимаю? Мб заняться чем попроще, например PHP? Что посоветуете? Спасибо.
PM MAIL   Вверх
kemiisto
Дата 1.3.2015, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



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

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



lllJollyRogerlll, моё мнение таково: Вам лучше как можно скорее устроится младшим (junior) программистом или стажёром в какую-нибудь контору. Мне трудно оценить Ваш уровень программирования в целом и на С++ в частности, к тому же, как я уже писал, требования к junior'ам везьде разные, но уж стажёром то Вас могут взять. Будете сочетать приятное с полезным: даже если денежку первое время платить совсем не будут, получите неоценимый опыт работы в команде.

Кстати, Вы не писали (или я, возможно, пропустил), какое у Вас образование. Не то, чтобы это было прям так важно, но лучше бы чтоб было высшее техническое (можно неоконченное). Этот пунктик ну очень часто имеется в объявлениях о найме и его отсутствие может осложнить трудоустройство. 

Цитата(lllJollyRogerlll @  1.3.2015,  11:03 Найти цитируемый пост)
Мб заняться чем попроще, например PHP?

Возможно, действительно стоит выбрать что-то попроще, чем С++. Как минимум, для начала. Правда, PHP, как и С++, очень трудно назвать хорошим выбором с этой точки зрения. smile А потом язык для профессионального программиста очень часто отходит на второй план. Куда важнее умение собственно программировать (алгоритмическое мышление, знание различных структур данных, ...) и сопутствующие навыки (проектирование, тестирование, ...). 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
lllJollyRogerlll
Дата 1.3.2015, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(kemiisto @ 1.3.2015,  12:40)

Вам лучше как можно скорее устроится младшим (junior) программистом или стажёром в какую-нибудь контору. Мне трудно оценить Ваш уровень программирования в целом и на С++ в частности, к тому же, как я уже писал, требования к junior'ам везьде разные, но уж стажёром то Вас могут взять. Будете сочетать приятное с полезным: даже если денежку первое время платить совсем не будут, получите неоценимый опыт работы в команде.

kemiisto, писал в различные компании. Но безрезультатно. К тому же практически везде, где я нашел по данному запросу объявления - они закрыты уже года два назад(хотя я все ровно писал). Всем требуются опытные программисты, в основном. Мне не кто ничего не ответил, даже не поинтересовались моим уровнем знаний. Хотя я готов и бесплатно работать, лишь бы научиться чему то полезному...
Цитата(kemiisto @ 1.3.2015,  12:40)

Кстати, Вы не писали (или я, возможно, пропустил), какое у Вас образование. Не то, чтобы это было прям так важно, но лучше бы чтоб было высшее техническое (можно неоконченное). Этот пунктик ну очень часто имеется в объявлениях о найме и его отсутствие может осложнить трудоустройство. 

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

На другой язык переходить мне просто не хочется лишь потому, что я углубился в С++(хотя и не понимаю для чего). Купил себе кучу учебников, сейчас Джосаттиса(Стандартная библиотека С++, 2014г.) изучаю. Думал посвятить этому жизнь и теперь так разочаровываюсь. Понимаю, что я вообще ничего толком реализовать не могу, но основы знаю и колебаюсь.. то начну WinAPI учить, то OpenGL, то еще что то.. В какой то момент думаю: "Так, мне это сейчас нужно больше" и перескакиваю с одного материала на другой в итоге у "разбитого корыта"... И толком ничего не умею. Вот поэтому я тут просил помощи. 

Это сообщение отредактировал(а) lllJollyRogerlll - 1.3.2015, 13:50
PM MAIL   Вверх
kemiisto
Дата 1.3.2015, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



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

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



lllJollyRogerlll, даже не знаю, с чего начать.

Возможно, язык Вы таки неудачно выбрали. С++ - это всё-таки не игрушка какая-нибудь а-ля Python, на нём в основном пишут серьёзные проекты и требования даже к junior'ам там обычно существенно выше. И, возможно, стоит таки, пока не поздно, не углубляться в С++, а посмотреть в сторону Java или C#. Конечно, можно и тот же Python поковырять, но он куда существеннее отличается от С++.

Цитата(lllJollyRogerlll @  1.3.2015,  12:47 Найти цитируемый пост)
На другой язык переходить мне просто не хочется лишь потому, что я углубился в С++(хотя и не понимаю для чего).

Да Вы не переживайте, Вы не сильно то и углубились. smile К тому же, уже полученные Вами знания лишними не будут, если Вы решите посмотреть в сторону Java или C#. В любом случае, Вам нужно как-то начать получать опыт реальной разработки ПО, ведь от чтения книг этого опыта у Вас всё равно не прибавится. С этой позиции, С++ был не лучшим выбором.

Цитата(lllJollyRogerlll @  1.3.2015,  12:47 Найти цитируемый пост)
Думал посвятить этому жизнь и теперь так разочаровываюсь.

Я не хочу разочаровать Вас ещё сильнее, но, честно говоря, 25 лет - не совсем тот возраст, когда нужно бросаться в омут с головой, бездумно начинать "с нуля". Ключевое слово тут - бездумно. Я хочу сказать, что у Вас есть шансы стать программистом, но это потребует времени, которого у вас не так уж много. 

Программирование - деятельность сложная. Обычно те, кто в конечном итоге становятся профессиональными программистами, начинают заниматься программированием ещё в школе. Потом они поступают в профильный ВУЗ и ещё 5 лет обучаются там, попутно работая стажёром курса с 3-4, а после окончания учёбы идут работать junior'ом. В итоге к Вашим 25 годам у них уже срок знакомства с программированием лет 10 и опыт участия в реальных проектах от 3 до 5 лет. 

А что у Вас? А у Вас 1 прочитанная книга по С++. Вы только в самом начале пути, и, что ещё хуже, у Вас нет их 10 лет на его прохождение. У Вас нет даже половины этого срока. Поэтому Вам надо прежде всего прекратить витать в облаках и чётко расставить приоритеты. Давайте посмотрим, с чего всё началось.

Цитата(lllJollyRogerlll @  18.1.2015,  08:37 Найти цитируемый пост)
baldina, изначально я решил стать разработчиком, что бы зарабатывать на жизнь головой, поэтому целью  является устроиться в компанию по разработке. А С++ выбрал, потому что где то вычитал, что программа для марсохода Кьюриосити написана на Си, ну а т.к. С++ является продолжением(тогда я так думал) языка Си, мне показалась эта затея очень увлекательной. К тому же, многие современные компьютерные игры разрабатываются не без участия С++ и эта тема мне близка.


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

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

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

Так вот, я бы в Вашей ситуации выбирал между Java с прицелом на Android и Python или Ruby с прицелом на Web. А почему - это уже совсем другая история.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
lllJollyRogerlll
Дата 1.3.2015, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



kemiisto, мб мне и Java поздно учить начинать? И если уж на то пошло, что вы можете сказать про C#? Я все таки больше люблю MS и в том числе Windows Phone моя любимая ОС из мобильных...
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Компьютерная литература | Следующая тема »


 




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


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

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