Refined self identification

This commit is contained in:
Evgeny Melnikov
2021-08-30 16:07:25 +03:00
parent 61f71f0422
commit b4c1eebe53
2 changed files with 16 additions and 11 deletions

5
FunCpp.md Normal file
View File

@@ -0,0 +1,5 @@
Чтобы приступить к изучению, будет достаточно владеть знаниями школьного курса информатики:
- Булева алгебра;
- Представление чисел в различных системах счисления;
- Составление блок-схем;
- Арифметика.

View File

@@ -1,32 +1,32 @@
# А точно C++?
Первое, о чем действительно стоит подумать, прежде чем погружаться в изучение языка: а для чего он вам нужен?
Первое, о чем действительно стоит подумать: а для чего вам нужен C++?
Не смотрите на C++ в следующей парадигме: "Если вам дали в руки молоток, то всё вокруг становится гвоздями". Данный язык имеет конкретные ниши применения. Потому, прежде чем инвестировать свое время и силы в изучение - попробуйте поискать и погрузиться в сферы применения языка и найти ту, которая заинтересует именно вас. Вот некоторый ряд причин, почему это стоит сделать "на берегу":
Не смотрите на C++ в следующей парадигме: "Если вам дали в руки молоток, то всё вокруг становится гвоздями". Язык имеет конкретные ниши применения. Прежде чем инвестировать свое время и силы в изучение, попробуйте поискать и погрузиться в сферы применения языка. Найдите ту, которая заинтересует именно вас. Вот некоторый ряд причин, почему это стоит сделать "на берегу":
- Многие сферы разработки выглядят несколько иначе, в отличие от их романтизированного образа. Например, популярное направление среди новичков - разработка игр, имеет следующие темные стороны: кранчи (переработки в режиме - живем в офисе следующие полгода), отсутствие внятного менеджмента, работа в "стол"/на выброс и т.д.
- Многие сферы разработки выглядят несколько иначе, в отличие от их романтизированного образа. Например, популярное направление - разработка игр, имеет следующие темные стороны: кранчи (переработки в режиме - живем в офисе следующие полгода), отсутствие внятного менеджмента, работа в "стол"/на выброс и т.д.
- Во многих сферах может быть также популярен иной инструментарий, языки программирования. Например, в машинном обучении наиболее распространен язык Python и специализированные библиотеки к нему.
- Во многих сферах может быть популярен иной инструментарий. Например, в машинном обучении наиболее распространен язык 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">
**Вывод №1:** Если вы не уверены в своих силах, или не готовы к олдскульному методу обучения при помощи книг, то вам стоит сделать выбор в пользу более популярных языков программирования. В них вы также сможете найти массу интересных задач для себя в различных сферах. К сожалению, C++ - это не тот язык, который позволяет вольности.
**Вывод №1:** Если вы не уверены в своих силах или не готовы к классическому методу обучения по книгам, то вам стоит сделать выбор в пользу более популярных языков программирования. В них вы также сможете найти массу интересных задач для себя в различных сферах. К сожалению C++ - это не тот язык, который позволяет вольности.
<img src="Pics/SelfIdentification/LearnCppInOneVideo.jpg" width="400" align="middle">
# Я уже знаю C/Java/Python/etc., могу ли я сразу начать писать на C++?
У многих новичков складывается ощущение, что С++ изучается быстро и непринужденно по ряду следующих причин:
- наличие 1-2 семестра лекций в ВУЗе с выполнением лабораторных работ;
- наличие лекций в ВУЗе с выполнением лабораторных работ;
- знание языка Си или парадигмы "Си с классами";
- знание одного из ООП языков: Java, C#, etc.
- знание Python, JavaScript и других распространенных языков.
К сожалению, полученный выше опыт крайне тяжело масштабируется на промышленное примениние C++. Недостаточно просто послушать семестр лекций изучить Си/Python/etc. и сразу же отмасштабировать знания на C++. Почему же?
К сожалению полученный выше опыт крайне тяжело масштабируется на промышленное примениние C++. Недостаточно просто послушать семестр лекций, изучить Си/Python/etc. и сразу же отмасштабировать знания на C++. Почему же?
- Если говорить про образование в ВУЗах, чаще всего вам дается только базовый синтаксис языка, который позволит писать простенькие программки для выполнения несложных вычислений. Проще говоря - вас учат собрать калькулятор на коленке и не более. Данных знаний и навыков недостаточно, чтобы выжить в промышленном программировании.
@@ -36,8 +36,8 @@
<img src="Pics/SelfIdentification/CppPython.jpg" width="400" align="middle">
**Вывод №2:** лучший совет, который здесь можно дать - забудьте всё, что вы знаете о других языках, и начните изучение C++ с чистого головой. :)
**Вывод №2:** лучший совет, который можно дать - забудьте всё, что вы знаете о других языках, и начните изучение C++ с чистой головой. :)
# Как учиться?
Главное, что нужно усвоить для себя - ВЫ и только ВЫ отвечаете за себя, свое будущее и успех. Только вы заинтересованы стать профессионалом в выбранной вами сфере. Безусловно, вокруг вас полно людей, которые с радостью вам помогут советом, подсказкой или ответом на вопрос, но никто не придумает за вас конкретные задачи или программу обучения. Ваш лучший друг в этом деле - вы и Google. Учитесь учиться и искать ответы на возникающие вопросы. К счастью, ваше будущее в IT, исключительно в ваших руках и упорстве. Эта сфера награждает тех, кто упорно идет к своей цели. Удачи!
Главное, что нужно усвоить для себя - ВЫ и только ВЫ отвечаете за себя, свое будущее. Только вы заинтересованы стать профессионалом в выбранной сфере. Безусловно, вокруг вас полно людей, которые с радостью помогут советом, но никто не придумает за вас конкретные задачи или программу обучения. Ваш лучший друг в этом деле - вы и Google. Учитесь учиться и искать ответы на возникающие вопросы. К счастью, ваше будущее в IT исключительно в ваших руках и упорстве. Эта сфера награждает тех, кто упорно идет к своей цели. Удачи!