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

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

Продолжайте читать, и давайте посмотрим, сможем ли мы снять этот груз с ваших плеч.
Как веб-разработчик только начинающий, вероятно, вы изучаете HTML, CSS и JavaScript. Вы также быстро понимаете, что это минимальные требования для отрасли. И поэтому вы стремитесь перейти на другую технологию, чтобы разнообразить свою базу знаний.
Я бы сказал, подождите. С Javascript вы можете многому научиться, не выбирая другой язык.

С помощью веб-разработки на JavaScript вы можете начать изучение интерфейсных библиотек, таких как React, которая на сегодняшний день является наиболее популярной библиотекой интерфейсных приложений в отрасли. Подробнее о ней вы можете узнать здесь. Вы можете использовать Node с ExpressJS, который является одним из самых популярных серверных фреймворков веб-приложений в отрасли. Вы даже можете начать создавать мобильные приложения для публикации в магазине приложений вашего любимого телефона, используя ReactNative и ReactRedux. Таким образом, концепции, которые вы изучаете, хорошо зная эти технологии, можно легко передать технологиям на других языках, потому что вы будете знать, что вам нужно, чтобы приложение работало с этими технологиями, поэтому, когда вы разрабатываете приложение на другом языке, вы легко будете вы можете концептуально увидеть, чего вам не хватает в этом приложении, и, таким образом, иметь возможность задавать правильные вопросы, чтобы найти решение с этой другой библиотекой / фреймворком / языком.
React довольно уникален в своем взаимодействии с DOM за счет использования Virtual DOM, но, тем не менее, в JavaScript есть и другие фреймворки, такие как AngularJS и VueJS, которые взаимодействуют с DOM иначе, чем как React использует свой виртуальный DOM. Кроме того, всегда есть встроенный API JavaScripts для взаимодействия с DOM браузера.
Итак, как вы только что видели, подавляющее большинство концепций веб-разработки, которые вы могли бы знать, можно охватить, просто хорошо зная JavaScript.

А что насчет информатики? Я имею в виду алгоритмы и структуры данных. Что ж, все они могут быть выполнены с использованием языка JavaScript, и если JavaScript является вашим основным языком, я настоятельно рекомендую вам изучить все эти алгоритмы и структуры данных в JavaScript, прежде чем вы перейдете на другой язык. В конце концов, сколько еще времени у вас уйдет на изучение другого языка, если React и Node позволили вам изучить JavaScript? И если вы изучите достаточно алгоритмов и структур данных, чтобы вы чувствовали себя комфортно на техническом собеседовании с помощью JavaScript, насколько простым, по вашему мнению, было бы научиться писать эти алгоритмические решения на другом языке, точно зная, что вам нужно в вашем решении. еще до того, как вы начнете писать это на любом другом языке?

Я имею в виду, просто хорошо изучив все эти вещи с помощью старого доброго JavaScript, и вы выучите все концепции, которые вам нужно знать. Это важная часть. Когда вы знаете эти концепции, то есть способность объяснять кому-то, как что-то просто работает, вы можете добиться успеха в том, чтобы что-то работало, даже если вы не знаете определенного языка или технологии, потому что вы будете знать, что искать, вопросы, которые нужно задать, и что происходит неправильно или правильно.

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

Изучение многих технологий обычно отвлекает от изучения новых концепций, потому что все обучение связано с определенными временными затратами.

Источники:

  1. Что такое React.js? - https://coreyjameslynch.medium.com/what-is-reactjs-17a5db6f53c2 - Кори Линч
  2. Node.js - https://nodejs.org/en/
  3. Самые популярные серверные фреймворки - 2012/2021 - https://statisticsanddata.org/data/most-popular-backend-frameworks-2012-2021/
  4. Express.js - http://expressjs.com/
  5. React Native - https://reactnative.dev/
  6. React Redux - https://react-redux.js.org/
  7. Введение в DOM - https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction
  8. Виртуальный DOM - https://www.youtube.com/watch?v=N3AkSS5hXMA&t=1s - Программирование с помощью Mosh
  9. AngularJS - https://angularjs.org/
  10. VueJS - https://vuejs.org/
  11. Алгоритмы и структуры данных - https://leetcode.com/problemset/all/