Привет, друзья. Я стажер-программист в Virtusa и студент бакалавриата по информатике с более чем 5-летним опытом программирования. Сегодня я хотел бы поделиться своими мыслями по поводу очень важного момента, который программисты сегодня упустили. Собственно говоря, это моя идея, и если у вас есть возражения, оставьте комментарий.

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

Мой первый вопрос: можете ли вы прямо сейчас написать программу для быстрой сортировки за очень короткий промежуток времени?

Мой второй вопрос: можете ли вы прямо сейчас написать программу для бинарного поиска?

Если не получается, то статья для вас, читайте дальше.

Дорогой друг, большинство новичков, а также многие опытные люди в ИТ-индустрии ошиблись с этим,

Что такое программирование?

Многие студенты даже в университетах изучают очень тяжелые фреймворки, такие как Angular, React, Spring Boot и т. Д., И думают, что делают что-то, называемое кодированием !! Создание грубого приложения - это не программирование. Это мусорная работа. Если вы думаете, что работа с этими тяжелыми фреймворками заставляет вас чувствовать себя хорошо, потому что вы делаете что-то, называемое кодированием, ваш конец не так уж далек. Обученный алгоритм машинного обучения скоро возьмет на себя вашу работу. Итак, как я уже сказал ранее, не называйте создание полнофункционального приложения (мусорная работа) программированием.

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

В первые дни в монастырях монахи снова и снова писали Библию. то, что они делали за всю свою жизнь, - это копирование Библии в новые книги. Как полноценный инженер, вы делали то же самое в своей жизни.

Большинство современных новичков сначала пытаются изучить очень тяжелые фреймворки и упускают из виду самую важную часть.

Решение проблем и основы.

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

Изучать сразу несколько языков программирования - все равно что учиться играть на разных музыкальных инструментах одновременно. В конце концов, вы не сможете сыграть из них ни одну песню.

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

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

Некоторые люди думают, что вам следует изучать разные языки, чтобы изучать разные парадигмы программирования, такие как функциональное или логическое программирование.

Я не согласен. Какой смысл изучать парадигму на каком-то другом языке, если язык, который вы собираетесь использовать, даже не поддерживает эту парадигму?

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

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

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

1. Изучите один язык программирования углубленно (я рекомендую Python) (это займет больше года)

2. Подробное изучение структур данных и алгоритмов.

3. Изучите шаблоны дизайна подробно

4. Научитесь как можно больше развивать навыки решения проблем.

Удачи тебе в будущем и оставайся дома! Оставайтесь в безопасности !!