ЯЗЫКИ ПРОГРАММИРОВАНИЯ, ЧАСТЬ II
Зачем нужны разные языки программирования?
Разные языки программирования — как разные строительные инструменты. Молотком удобнее забивать гвозди, чем кувалдой или отверткой. Какие-то языки выполняются на компьютере быстрее, некоторые медленнее. Какие-то языки проще для начального понимания, а какие-то сложнее.
Язык, как и любая другая технология выбирается под задачу, а не наоборот. Не нужно учить Python, чтобы потом искать "а какую проблему я теперь могу им решить". Начинайте сразу с проблемы, гуглите и вы найдете нужный инструмент для ее решения, там и будет ваш первый язык программирования.
Некоторые технологии программируют только на JavaScript, например браузер, некоторые программируют только на C#, как игровой движок Unity. Выбор инструмента
(языка) всегда зависит от условий задачи. Вы не будете писать программу навигации ракеты в космосе на JavaScript, скорее всего вы выберете C++, чтобы иметь полный доступ к памяти компьютера, и код выполнялся максимально быстро, а
интерфейсы можно и на JavaScript сделать, как в SpaceX.
Иногда языки находятся в одной области применения и имеют общую парадигму программирования, но разный синтаксис — как кувалда и молот или Java и C#. Концептуально такие языки одинаковы, везде есть циклы, функции, строгая типизация, везде создаются объекты из классов, но синтаксис записи циклов или объявления переменных разный.
На Java программируют android приложения, на C# программируют игры в Unity. Так сложилось исторически, никаких законов природы тут нет. Просто Microsoft хотели свою Java и сделали C#, а в Unity, видимо, кто-то из первых разработчиков просто очень хорошо знал C#.
Синтаксис языков не надо заучивать, его можно гуглить и со временем он запомнится сам, а чтобы точнее гуглить — нужно знать терминологию. Главное — понять парадигму программирования — тогда писать на разных языках станет одинаково легко, они будут просто отличаться синтаксисом, но существовать в одной терминологии.
Парадигма определяет в каких категориях и терминах нужно думать, чтобы записать какой-то процесс, как код на языке программирования. Начинать программировать лучше с ООП (объектно-ориентированная парадигма), потом процедурной парадигмы и позже продолжить изучение функционального программирования, дальше уже разберётесь.
Примеры ООП языков, которые отличаются синтаксически, но имеют общую объектно-ориентированную парадигму: Java, C#, Python, JavaScript, С++, PHP, Perl, Ruby, Scala, Swift — это самые распространенные и популярные языки программирования.
Большинство из перечисленных выше языков мультипарадигменные и поддерживают не только ООП, но и процедурное или функциональное программирование. Например Python и JavaScript — два самых популярных мультипарадигменных языка в мире, если верить github.
Умея программировать на Python, написать код на JavaScript не будет проблемой, оба языка поддерживают одинаковые парадигмы программирования. Это как разные текстовые редакторы — Word и Google Docs — когда понимаешь идею, можешь использовать любой инструмент, если он лучше подходит для задачи.
На Python, например, написано очень много кода для машинного обучения. На JavaScript удобно программировать интерфейсы — от веб-сайта до ракеты SpaceX, у него там очень большая экосистема. У обоих языков огромное комьюнити, в интернете можно найти ответ на абсолютно любой вопрос.
Если хотите программировать бекенд, делать дата саенс и машинное обучение — начинайте с Python. Если интерфейсы приложений, фейсбуки и карму — берите JavaScript, а потом Python.