mirror of
https://github.com/salmer/CppDeveloperRoadmap.git
synced 2025-12-17 20:44:39 +03:00
Refactoring of articles
This commit is contained in:
@@ -2,53 +2,44 @@
|
|||||||
|
|
||||||
## Кто это?
|
## Кто это?
|
||||||
|
|
||||||
Это человек, который освоил базовый синтаксис языка и способен написать несложную программу, только при помощи базового синтаксиса языка C++ и стандартной библиотеки STL. Программа способна выполнять различные несложные действия, например:
|
Это человек, который освоил синтаксис языка и способен написать несложную программу без использования сторонних библиотек. Программа способна выполнять различные действия, например:
|
||||||
- выполняет арифметические вычисления;
|
- выполняет арифметические вычисления;
|
||||||
- работа с файлом: чтение и запись;
|
- взаимодейтсвет с файлами: чтение и запись;
|
||||||
- ввод данных с клавиатуры;
|
- ожидает ввод данных с клавиатуры;
|
||||||
- вывод данных в консольное окно;
|
- выводит результаты работы и иные данные данные в консольное окно;
|
||||||
- и т.д.
|
- и т.д.
|
||||||
|
|
||||||
## Какие навыки ожидаются?
|
|
||||||
|
|
||||||
- Может создать рабочий проект на C++;
|
|
||||||
- Способен Арифметические операции;
|
|
||||||
- Логические операторы и операторы цикла;
|
|
||||||
- Стандартные потоки вводы/вывода;
|
|
||||||
- Работа с файлами;
|
|
||||||
- Работа с указателями и ссылками;
|
|
||||||
- ООП в рамках C++: Наследование, полиформизм, инкапсуляция;
|
|
||||||
- Понимает процесса компиляции и сборки программы на C++.
|
|
||||||
|
|
||||||
## Что ожидается по умению написания кода?
|
## Что ожидается по умению написания кода?
|
||||||
|
|
||||||
- Способность создать и собрать небольшой проект при помощи одной из популярных IDE, например Visual Studio или Qt Creator;
|
- Способность создать и собрать небольшой рабочий проект на C++ при помощи одной из IDE: Visual Studio, Qt Creator и т.д.;
|
||||||
- Умение пользоваться отладчиком в рамках IDE.
|
- Умение пользоваться отладчиком при помощи IDE;
|
||||||
|
- Понимание процесса компиляции и сборки программы на C++;
|
||||||
|
- Спопобность написать приложение, содержащее арифметические или логические операции и алгоритмы, условия и циклы;
|
||||||
|
- Умение написать приложение по работе со стандартным потоком ввода/вывода;
|
||||||
|
- Умение работать с указателями и ссылками;
|
||||||
|
- Знание из какого вида памяти состоит приложение;
|
||||||
|
- Базовое понимание ООП в рамках C++: Наследование, полиформизм, инкапсуляция.
|
||||||
|
|
||||||
## Что ожидается по общим знаниям?
|
|
||||||
|
|
||||||
- Работа с Git;
|
## Что ожидается по общим навыкам?
|
||||||
- Умение составлять несложные алгоритмы: логические или арифметические;
|
|
||||||
- Умение работать с одной из популярных IDE (Integrated Development Environement) или текстовым редактором: MS Visual Studio, Qt Creator, Visual Studio Code.
|
|
||||||
|
|
||||||
## Что ожидается по коммуникативным навыкам?
|
- Желание учиться и впитывать новые знания;
|
||||||
|
- Желание разбираться в возникающих проблемах;
|
||||||
|
- Умение составить запрос на русском языке, чтобы найти ответ на проблему в поисковике или в сооттветствующей литературе;
|
||||||
|
|
||||||
- Желание учиться
|
|
||||||
- Умение составить запрос на русском языке, чтобы найти ответ на проблему в поисковике
|
|
||||||
- Умение составлять и задавать вопросы коллегам, если не получается найти решение самостоятельно
|
|
||||||
- Желание работать в команде
|
|
||||||
|
|
||||||
## С чего же мне начать?
|
## С чего же начать?
|
||||||
|
|
||||||
- Прежде чем изучать язык C++, рекомендуется начать свое погружение со следующей книги: **Чарльз Петцольд - Код. Тайный язык информатики** ([https://www.ozon.ru/context/detail/id/125884/](https://www.ozon.ru/context/detail/id/125884/))
|
- Прежде чем начать изучения языка, рекомендуется начать свое погружение со следующей книги: **Чарльз Петцольд - Код. Тайный язык информатики:** [Ozon Books](https://www.ozon.ru/context/detail/id/125884/)
|
||||||
|
|
||||||
Данная книга расскажет вам об устройстве компьютера на простом языке. Здесь отсутствуют какие-либо сложные технические или академические детали. Книга актуальна и по сей день, т.к. содержит в себе основы основ, которые вряд ли потеряют свою актуальность в ближайшие десятилетия. Она познакомит вас с миром компьютеров, а также объяснит их устройство, что поможет вам лучше понять фундаментальные идеи языка C++.
|
Данная книга расскажет вам об устройстве компьютера простым языком. Здесь отсутствуют какие-либо сложные технические или академические детали. Книга содержит в себе основы основ, которые вряд ли потеряют свою актуальность. Она познакомит вас с миром компьютеров, а также объяснит их устройство, что поможет вам лучше понять фундаментальные идеи языка C++.
|
||||||
|
|
||||||
- Если вы начинаете изучать язык самостоятельно, то порекомендую вам выполнять разработку своих первых программ или упражнений в ОС Windows в IDE Microsoft Visual Studio (Community Edition). На сегодняшний день, это наиболее дружелюбная IDE для новичков, как в установке, так и при ее использовании. Это позволит вам сконцентрироваться непосредственно на изучении языка, а не на борьбе с рабочим окружением. На сайте компании Майкрософт вы найдете небольшой учебник, который вам расскажет, как установить Visual Studio, создать свой первый консольный проект и написать первое полноценное приложение (консольный калькулятор: [https://docs.microsoft.com/ru-ru/cpp/build/vscpp-step-0-installation?view=msvc-160](https://docs.microsoft.com/ru-ru/cpp/build/vscpp-step-0-installation?view=msvc-160)
|
- Если вы начинаете изучать язык самостоятельно, то порекомендую вам выполнять разработку первых программ или упражнений в IDE: Microsoft Visual Studio (Community Edition). На сегодняшний день, это наиболее дружелюбная IDE к новичкам, как в установке, так и в использовании (и бесплатна!). Это позволит сконцентрироваться непосредственно на изучении языка, а не на борьбе с рабочим окружением. На сайте компании вы найдете небольшой учебник, который расскажет, как установить Visual Studio, создать консольный проект и написать первое приложение: [MSDN](https://docs.microsoft.com/ru-ru/cpp/build/vscpp-step-0-installation?view=msvc-160)
|
||||||
|
|
||||||
- Есть большое количество книг, по которым можно начать свое изучение языка C++. К сожалению, многие из них безвозвратно устарели, либо написаны слишком сложно. К счастью, есть наиболее актуальная и дружелюбная книга, с которой стоит начать свой путь изучения C++: **Стивен Прата - Язык программирования C++**. Лекции и упражнения (шестое издание) ([https://www.ozon.ru/product/yazyk-programmirovaniya-c-lektsii-i-uprazhneniya-147417584/?utm_source=google&utm_medium=cpc&utm_campaign=RF_Product_Shopping_Books_super&gclid=CjwKCAjw7diEBhB-EiwAskVi11zEQ2QeqLjT8AEBCYC5IWzgpdgLIErY3c7eLfgnPSFic9M8Eh2pPRoCSHIQAvD_BwE](https://www.ozon.ru/product/yazyk-programmirovaniya-c-lektsii-i-uprazhneniya-147417584/?utm_source=google&utm_medium=cpc&utm_campaign=RF_Product_Shopping_Books_super&gclid=CjwKCAjw7diEBhB-EiwAskVi11zEQ2QeqLjT8AEBCYC5IWzgpdgLIErY3c7eLfgnPSFic9M8Eh2pPRoCSHIQAvD_BwE))
|
- Есть много книг, по которым можно начать изучение языка. К сожалению, многие из них безвозвратно устарели, либо написаны слишком сложно. Но все-таки есть наиболее актуальная и дружелюбная книга, с которой стоит начать свой путь изучения C++: **Стивен Прата - Язык программирования C++. Лекции и упражнения (шестое издание):** [Ozon Books](https://www.ozon.ru/product/yazyk-programmirovaniya-c-lektsii-i-uprazhneniya-147417584/?utm_source=google&utm_medium=cpc&utm_campaign=RF_Product_Shopping_Books_super&gclid=CjwKCAjw7diEBhB-EiwAskVi11zEQ2QeqLjT8AEBCYC5IWzgpdgLIErY3c7eLfgnPSFic9M8Eh2pPRoCSHIQAvD_BwE)
|
||||||
|
|
||||||
Книга максимально дружелюбна к новичкам, не требует наличия каких-то специфичных знаний перед началом изучения языка, а также имеет набор упражнений к каждой главе. Они помогут вам отработать и понять базовые и фундаментальные возможности языка.
|
Книга максимально дружелюбна к новичкам, не требует наличия каких-то специфичных знаний, а также имеет набор упражнений к каждой главе. Они помогут вам отработать и понять фундаментальные возможности языка.
|
||||||
|
|
||||||
- В дополнение к учебнику, стоит порекомендовать следущие видеолекции:
|
- В дополнение к учебнику, стоит порекомендовать следущие видеолекции:
|
||||||
- Илья Мещерин
|
- Илья Мещерин
|
||||||
@@ -56,14 +47,19 @@
|
|||||||
|
|
||||||
## Рекомендации и советы
|
## Рекомендации и советы
|
||||||
|
|
||||||
- На сегдняшний день не существует "серебряной пули", которая поможет вам выучить C++ за день/неделю/месяц при помощи курсов, роликов на YouTube т.д. Будьте готовы к самостоятельной работе и изучению материала из всевозможных источников на протяжении нескольких месяцев, прежде чем вы сможете пройти собеседование и получить свой первый оффер на работу.
|
### Про обучение
|
||||||
- Изучайте язык в своем ритме и темпе, а также в любом возрасте 🙂. Не ведитесь на подобные истории: "я программирую с пеленок", "паяльником владею с яслей", "вывожу из запоя/снимаю порчу при помощи ассемблерного кода", "не служил - не мужик" и т.д. Большинство подобных историй - это [систематическая ошибка выжившего]([https://ru.wikipedia.org/wiki/Систематическая_ошибка_выжившего](https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0_%D0%B2%D1%8B%D0%B6%D0%B8%D0%B2%D1%88%D0%B5%D0%B3%D0%BE)), или попытка "потешить свое самолюбие" за ваш счет. У всех вас достаточно способностей, чтобы научиться программированию, в том числе с нуля, в том числе и изучить C++. Также полно молодых ребят, которые сами хотели бы видеть меньше духоты в C++ сообществе. Они повсюду и готовы прийти вам на помощь! 🙂
|
- Не существует "серебряной пули", которая поможет вам выучить C++ за день/неделю/месяц. Будьте готовы к самостоятельной работе и изучению материала из различных источников в течение продолжительного времени, прежде чем вы сможете пройти собеседование, и получить свой первый оффер.
|
||||||
- Практика, и только практика даст вам возможность освоить C++! Без регулярного написания кода, большая часть того, что вы прочитаете или услышите - забудется.
|
- Если чувствуете, что не понимаете какую-то тему, поищите альтернативные источники.
|
||||||
- Не пытайтесь писать идеальный код. Ваша основная задача - написание РАБОЧЕГО кода, который делает ровно то, что от вас требуется. Вы должны научиться "общаться" с компьютером, пусть и неэлегантно. Это сродни изучению иностранных языков. Сначала вы говорите много и небрежно, но со временем, ваш навык оттачивается, т.к. вы лучше чувствуете грамматику, увеличиваете свой словарный запас и т.д.
|
- Практика и только практика даст вам возможность освоить C++! Без регулярного написания кода, большая часть того, что вы прочитаете или услышите - забудется.
|
||||||
- Помните, что многие из опытных разработчиков, тоже испытывали проблемы и застревали в "очевидных" местах. Просто возььмите паузу, позанимайтесь чем-то другим, а через какое-то время возврщайтесь к проблеме.
|
- Не пытайтесь писать идеальный код. Ваша основная задача - написание РАБОЧЕГО кода, который делает ровно то, что от вас требуется. Вы должны научиться "общаться" с компьютером. Это сродни изучению иностранных языков. Сначала вы говорите много и небрежно, но со временем, ваш навык оттачивается, начинаете лучше чувствовать грамматику, увеличиваете свой словарный запас и т.д.
|
||||||
- На первых порах не стоит концентрироваться на таких ресурсах, как Leetcode или CodeWars. Цель этих порталов - отработать навыки использования классических алгоритмов и структур данных. Эти площадки спроектированы таким образом, чтобы максимально отгородить вас от нюансов языков программирования. На первых порах, это не принесет вам особой пользы, лучше сконцентрируйтесь на самом языке и его возможностях.
|
- На первых порах не стоит концентрироваться на таких ресурсах, как Leetcode или CodeWars. Цель этих порталов - отработать навыки использования классических алгоритмов и структур данных. Эти площадки спроектированы таким образом, чтобы максимально отгородить вас от нюансов языков программирования. На первых порах, это не принесет вам особой пользы, лучше сконцентрируйтесь на самом языке и его возможностях.
|
||||||
- Большинство проблем, с которыми вы столкнетесь, скорее всего уже были решены до вас. Если вы не можете найти ответ в интернете, попробуйте переформулировать запрос иным образом. Рано или поздно вы придете к правильному ответу. Если после этого ответа так и нет, то попробуйте переписать свой код более простым путем/пересоздать проект и т.д. Помните, вы должны изучать язык, а не бороться с рабочим окружением на первых пораъ. Борьба с коружением может вас привести к полному разочарованию.
|
|
||||||
- Если чувствуете, что не понимаете какую-то из тем, поищите альтернативные источники, которые объясняют эту же тему. Сегодня можно найти полно материала, и в виде статей, и виде роликов на youtube. Выберете и используйте наиболее комфортный формат для вас.
|
### Про мотивацию
|
||||||
- Найдите единомышленников, которые также начинают свой путь и объедините усилия в изучении. Так вам будет интереснее погружаться в изучение языка, а также делиться знаниями и опытом друг с другом. Это вам также поможет выработать в себе навык командной работы. Времена "вольных художников" подошли к концу. Практически везде, вам придется работать в режиме командной игры.
|
- Учитесь в своем ритме, а также в любом возрасте! Не ведитесь на истории: "я программирую с пеленок", "паяльником владею с яслей", "вывожу из запоя/снимаю порчу при помощи ассемблера". Большинство подобных историй - это [систематическая ошибка выжившего](https://ru.wikipedia.org/wiki/Систематическая_ошибка_выжившего), или попытка потешить свое самолюбие за ваш счет. У вас достаточно способностей, чтобы научиться программированию, в том числе с нуля, в том числе и на C++!
|
||||||
- Большинство проблем проще искать на английском языке, но если ваш текущий уровень владения им не очень высокий - не мучайте себя. Так вы можете слишком быстро потерять веру в себя и разочароваться. Большинство проблем, с которыми вы столкнетесь, спокойно можно отыскать на русском языке.
|
- Большинство проблем, с которыми вы столкнетесь, скорее всего уже решены до вас. Если вы не можете найти ответ в интернете, попробуйте переформулировать запрос иным образом. Рано или поздно вы придете к правильному ответу. Если после этого ответа так и нет, то попробуйте переписать свой код более простым путем/пересоздать проект и т.д. Помните, вы должны изучать язык, а не бороться с рабочим окружением на первых порах. Борьба с окружением может вас привести к полному разочарованию и потере мотивации.
|
||||||
|
- Помните, что многие опытные разработчики тоже встречают проблемы и застревают в "очевидных" местах. Просто возьмите паузу, позанимайтесь чем-то другим, а через какое-то время возвращайтесь к проблеме.
|
||||||
|
- Найдите единомышленников, которые также начинают свой путь. Так вам будет интереснее погружаться в изучение языка, а также делиться знаниями и опытом друг с другом. Это также поможет выработать в себе навык командной работы. Времена "вольных художников" подошли к концу. Практически везде, вам придется работать в команде.
|
||||||
|
|
||||||
|
### Про английский язык
|
||||||
|
- Большинство проблем проще искать на английском языке, но если ваш текущий уровень владения им не очень высокий - не мучайте себя. Так вы можете слишком быстро потерять мотивацию и разочароваться. Большинство проблем на первых порах, с которыми вы столкнетесь, спокойно можно отыскать и на русском языке.
|
||||||
- Если чувствуете, что ваш английский слабоват - то лучше начните его изучение с более простых и приятных вещей: сериалы, видеоигры, художественные книги, новостные сайты или статьи на интересующие вас темы. За несколько месяцев можно значительно улучшить навыки восприятия информации на английском языке.
|
- Если чувствуете, что ваш английский слабоват - то лучше начните его изучение с более простых и приятных вещей: сериалы, видеоигры, художественные книги, новостные сайты или статьи на интересующие вас темы. За несколько месяцев можно значительно улучшить навыки восприятия информации на английском языке.
|
||||||
@@ -1,43 +1,43 @@
|
|||||||
# А точно C++?
|
# А точно C++?
|
||||||
|
|
||||||
Первое, о чем действительно стоит подумать, прежде чем погружаться в изучение данного языка: а для чего, собственно, он вам нужен?
|
Первое, о чем действительно стоит подумать, прежде чем погружаться в изучение языка: а для чего он вам нужен?
|
||||||
|
|
||||||
Не смотрите на C++ в следующей парадигме: "Если вам дали в руки молоток, то всё вокруг становится гвоздями". Данный язык имеет свои ниши применения. Потому, прежде чем инвестировать свое время и силы в его изучение - попробуйте поизучать сферы применения и найти ту, которая заинтересует именно вас. Вот некоторый ряд причин, почему это стоит сделать "на берегу":
|
Не смотрите на C++ в следующей парадигме: "Если вам дали в руки молоток, то всё вокруг становится гвоздями". Данный язык имеет конкретные ниши применения. Потому, прежде чем инвестировать свое время и силы в изучение - попробуйте поискать и погрузиться в сферы применения языка и найти ту, которая заинтересует именно вас. Вот некоторый ряд причин, почему это стоит сделать "на берегу":
|
||||||
|
|
||||||
- Многие сферы разработки выглядят несколько иначе, в отличие от их романтизированного образа. Например, наиболее популярное направление среди новичков - разработка игр, имеет следующие темные стороны: кранчи (переработки в режиме - живем в офисе следующие полгода), отсутствие внятного менеджмента, работа в "стол"/на выброс и т.д.
|
- Многие сферы разработки выглядят несколько иначе, в отличие от их романтизированного образа. Например, популярное направление среди новичков - разработка игр, имеет следующие темные стороны: кранчи (переработки в режиме - живем в офисе следующие полгода), отсутствие внятного менеджмента, работа в "стол"/на выброс и т.д.
|
||||||
|
|
||||||
- Во многих сферах может быть также популярен и иной инструментарий, языки программирования. Возможно то, что вы хотите решать в интересующей вас сфере, успешно решается на том же Python, Java, etc.
|
- Во многих сферах может быть также популярен иной инструментарий, языки программирования. Например, в машинном обучении наиболее распространен язык Python и специализированные библиотеки к нему.
|
||||||
|
|
||||||
Потому, стоит внимательно присмотреться к той сфере, о которой вы имеете только общее представление. Возможно она окажется не столь заманчивой/интересной после детального погружения.
|
Потому, стоит внимательно присмотреться к той сфере, о которой вы имеете только общее представление. Возможно она окажется не столь заманчивой/интересной после детального погружения. Потратьте немного времени в исследовании и поиске той сферы, которая вам действительно понравится.
|
||||||
|
|
||||||
Второе, на что хочется обратить внимание: язык C++ требует больших временных инвестиций, а также сильную мотивацию. Его не получится выучить по универсальной формуле: "за 24 часа", "7 дней", "1 месяц". Если вы видите книгу с подобным обещанием - выбросите её и забудьте о ней. Таки придется взять какой-либо общепризныннй "кирпич" и прочитать его целиком, выполняя упражнения. А потом ещё несколько "кирпичей" поменьше, чтобы освоить признанные практики и подходы. По-другому освоить C++ вряд ли получится. На YouTube есть неплохие записи лекций по C++, но информации из них вряд ли хватит, чтобы освоить язык до промышленного уровня владения.
|
Второе, на что хочется обратить внимание: язык C++ требует больших временных инвестиций, а также сильную мотивацию. Его не получится выучить по универсальной формуле: "24 часа", "7 дней", "1 месяц". Если вы видите книгу с подобным обещанием - выбросите её и забудьте о ней. Вам придется взять какой-либо общепризнанный "кирпич" и прочитать его целиком, выполняя упражнения. А потом ещё несколько "кирпичей" поменьше, чтобы освоить распростарненные практики и подходы. По-другому освоить C++ вряд ли получится. На YouTube есть неплохие записи лекций по C++, но информации из них вряд ли хватит, т.к. чтобы освоить язык до промышленного уровня владения.
|
||||||
|
|
||||||
<img src="Pics/SelfIdentification/ErrorCpp.jpg" width="400" align="middle">
|
<img src="Pics/SelfIdentification/ErrorCpp.jpg" width="400" align="middle">
|
||||||
|
|
||||||
Вывод: Если вы не уверены в своих силах, или же не готовы к олдскульному методу обучения через книги, то возможно вам стоит сделать выбор в пользу более популярных языков программирования. В них вы также сможете найти массу интересных задач, и благополучно вкатиться в IT. К сожалению, C++ - это не тот язык, который позволяет подобные вольности.
|
**Вывод №1:** Если вы не уверены в своих силах, или не готовы к олдскульному методу обучения при помощи книг, то вам стоит сделать выбор в пользу более популярных языков программирования. В них вы также сможете найти массу интересных задач для себя в различных сферах. К сожалению, C++ - это не тот язык, который позволяет вольности.
|
||||||
|
|
||||||
<img src="Pics/SelfIdentification/LearnCppInOneVideo.jpg" width="400" align="middle">
|
<img src="Pics/SelfIdentification/LearnCppInOneVideo.jpg" width="400" align="middle">
|
||||||
|
|
||||||
# Я уже знаю Java/Python/etc., могу ли я сразу начать писать на C++?
|
# Я уже знаю C/Java/Python/etc., могу ли я сразу начать писать на C++?
|
||||||
|
|
||||||
У многих новичков складывается ощущение, что С++ изучается быстро и непринужденно, по ряду следующих причин:
|
У многих новичков складывается ощущение, что С++ изучается быстро и непринужденно по ряду следующих причин:
|
||||||
- изучал в ВУЗе и выполнял на нем лабораторные работы;
|
- наличие 1-2 семестра лекций в ВУЗе с выполнением лабораторных работ;
|
||||||
- изучал C++ сразу после чистого Си или же в парадигме "Си с классами";
|
- знание языка Си или парадигмы "Си с классами";
|
||||||
- знаком с одним из ООП языков: Java, C#, etc.
|
- знание одного из ООП языков: Java, C#, etc.
|
||||||
- изучал Python или JavaScript и их исполнение ООП парадигмы.
|
- знание Python, JavaScript и других распространенных языков.
|
||||||
|
|
||||||
Так вот, полученный опыт выше, крайне тяжело масштабируется на фундаментальное понимание языка C++. Недостаточно просто послушать семестр лекций, изучить чистый Си или почитать книгу по Python и сразу же перейти на C++. Почему же?
|
К сожалению, полученный выше опыт крайне тяжело масштабируется на промышленное примениние C++. Недостаточно просто послушать семестр лекций изучить Си/Python/etc. и сразу же отмасштабировать знания на C++. Почему же?
|
||||||
|
|
||||||
- Если говорить про классическое образование, чаще всего дается только базовый синтаксис, который позволит вам писать простенькие программки для выполнения несложных вычислений. Данных знаний и навыков недостаточно, чтобы выжить в промышленном программировании.
|
- Если говорить про образование в ВУЗах, чаще всего вам дается только базовый синтаксис языка, который позволит писать простенькие программки для выполнения несложных вычислений. Проще говоря - вас учат собрать калькулятор на коленке и не более. Данных знаний и навыков недостаточно, чтобы выжить в промышленном программировании.
|
||||||
|
|
||||||
- Если говорить о Си, он всего лишь является подмножеством в рамках C++ и не раскрывает всей функциональности и реальной мощи языка. Скорее, даже навредит новичкам на первых порах в понимании концепций, которые заложены в плюсах. Потому, если есть возможность проигнорировать Си, то сделайте это. Все необходимое для работы с этим подмножеством вы узнаете из базовых книг по C++.
|
- Если говорить о Си, он является подмножеством C++, но не раскрывает истинной идеи и сути C++. Есть популярное мнение, что сначала изучите Си, а потом переходите к плюсам. Так вот, скорее всего, это вам даже больше навредит на первых порах, а также породит путаницу между концепциями двух РАЗНЫХ языков. Ваша первостепенная задача - получить удовольствие от написания первых программ, а не следовать олдскульным канонам. Потому, если есть возможность проигнорировать Си, то просто сделайте это. Все необходимое для работы с подмножеством Си вы узнаете из книг по C++.
|
||||||
|
|
||||||
- Если же говорить об опыте в других языках: C++ - мультипарадигменный язык. Он содержит в себе сочетание разнообразных парадигм, таких как: процедурное, обобщенное, ООП и т.д. Конечно, это не значит, что полученный опыт в других языках можно смело выкидывать на помойку. Этот опыт облегчит понимание существующих концепций в плюсах, но не поможет уловить тонны нюансов в деталях языка.
|
- Если же говорить об опыте в других языках: C++ - мультипарадигменный язык. Он содержит в себе сочетание разнообразных парадигм, таких как: процедурное, обобщенное, ООП и т.д. Это не значит, что полученный опыт в других языках можно смело выкидывать на помойку. Он облегчит понимание существующих концепций в плюсах, но не поможет уловить тонны нюансов и деталей.
|
||||||
|
|
||||||
<img src="Pics/SelfIdentification/CppPython.jpg" width="400" align="middle">
|
<img src="Pics/SelfIdentification/CppPython.jpg" width="400" align="middle">
|
||||||
|
|
||||||
Подводя итог, лучший совет, который здесь можно дать - забыть всё, что вы знаете о других языках и C++ и начать его изучать с чистого листа.
|
**Вывод №2:** лучший совет, который здесь можно дать - забудьте всё, что вы знаете о других языках, и начните изучение C++ с чистого головой. :)
|
||||||
|
|
||||||
# Как учиться?
|
# Как учиться?
|
||||||
|
|
||||||
Первое, что нужно усвоить для себя - вы и только вы отвечате за себя. Только вы заинтересованы стать профессионалом своего дела. Безусловно, вокруг вас полно разработчиков, которые с радостью вам помогут советом или подсказкой, но никто не придумает за вас задачи или конретную программу обучения. Ваш лучший друг в этом деле - Google и комьюннити. Ищите ответы на возникающие вопросы и учитесь учиться. К счастью, ваше будущее в IT, исключительно в ваших руках и упорстве. На сегодняшний день - эта сфера всё ещё награждает тех, кто упорно идет к своей цели.
|
Главное, что нужно усвоить для себя - ВЫ и только ВЫ отвечате за себя, свое будущее и успех. Только вы заинтересованы стать профессионалом в выбранной вами сфере. Безусловно, вокруг вас полно людей, которые с радостью вам помогут советом, подсказкой или ответом на вопрос, но никто не придумает за вас конкретные задачи или программу обучения. Ваш лучший друг в этом деле - вы и Google. Учитесь учиться и искать ответы на возникающие вопросы. К счастью, ваше будущее в IT, исключительно в ваших руках и упорстве. Эта сфера награждает тех, кто упорно идет к своей цели. Удачи!
|
||||||
Reference in New Issue
Block a user