Автор Тема: С чего начать изучение C++?  (Прочитано 3635 раз)

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
С чего начать изучение C++?
« : Март 13, 2015, 11:56:06 pm »
В данном топике мы затронем основы языка и также рассмотрим эффективные методы его изучения. Многие почему-то, услышав о данном языке, приходят в ужас, будто бы это что-то недостижимое. На самом же деле, этот язык можно освоить просто, потому-что человек ко всему адаптируется не замечая этого.

Почему же C++, а не другой какой нибудь язык?

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

Какие студии я вам рекомендую для разработок?

Если речь идет о программировании игр, в том числе модов/asi - так называемых плагинов, то ваша студия обязательно MSVC.
Если вы разрабатываете ПО (Программное обеспечение) например IMG инструменты/всяческие редакторы, которые имеют кучу кнопочек, элементов, то выбирайте RAD Studio XE или ранняя версия, называется C++ Builder.

С чего лучше начать практику?

Можете начать, с RAD XE, потому-что у вас сразу будет окно, там вы будете накладывать компоненты и практиковаться с ними. Таким образом вы быстрей начнете понимать, что же происходит написав тот или иной код. Вы хорошенько прощупаете переменные, указатели, структуры, классы, массивы, условия, циклы - и со временем поймете, зачем это все нужно и какую роль оно играет. Чем больше будете ставить себе практических заданий, тем мощней вы овладеете языком. Ведь если посадить за руль человека, который не разу не ездил на автомобиле, то он естественно сразу и не будет ездить хорошо. А если этот человек поездит хоть немножко с недельку, то он уже поймет, что к чему и появиться уже первоначальный опыт.
Также и тут, важно не просто забивать свой ум, теорией, а важно чаще заниматься практическими задачами. Ну а после этого, как вы получите простенький опыт, вы уже сможете и переходить на MSVC, писать сплошным кодом, понимая его принцип работы.

На что можно разделить язык C++, на какие его важные категории?
Т.е, вопрос подразумевает, что нужно для полного счастья разработчику, какие ему важные аспекты нужно будет знать?

1. Возможности языка он же синтаксис.
2. Готовый функционал готовые функция, для работы с разными задачами.
3. Оптимизация

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

2. Представляете, что было бы, если программист не знал бы, готовых функций, да-да, он бы создавал велосипеды, до самой длинной бороды. Зачем создавать велосипед? Когда его уже изобрели. Вот именно, ваша вторая задача, это изучить стандартные функции, особенно повседневные, работа с файлами, памятью, списки и.т.п.. Собрать больше справок о стандартных функциях. А дальше пройдет какое-то время, вы их будете держать в подсознании, например у вас появиться задача, и вы согласно своим знаниям, уже представите какие бы вы использовали функции и как будет выглядеть ваш код и все это без труда напишете. По этому, на стадии изучения, вы ознакомитесь со временем различными функциями, которые вам упростят жизнь программиста.

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

Пока прочитайте, этот отрывок, а дальше напишите, стоит ли продолжать мне, затрагивать детали и.т.п.

Оффлайн xanser

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 598
  • Репутация: +92/-0
  • Есть такая профессия - на работе сидеть
    • Просмотр профиля
Re: С чего начать изучение C++?
« Ответ #1 : Март 15, 2015, 09:17:26 am »
Немного философии по поводу изучения чего-либо. Мне понравилось одно образное высказывание, касающееся простого и сложного. В слове сложно можно заметить слово ЛОЖЬ, т.е. если человеку что-то сложно, он делает что-то неправильно и в конечном итоге забросит. А в слове просто обнаруживается слово РОСТ, т.е. развитие возможно, если все состоит из простого и окончательно понятного, как из кирпичиков, стабильные данные. Если выпадает один кирпич, стоит сделать шаг назад и найти его.

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

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

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