5 языков программирования, которые должен освоить каждый разработчик

Перевод статьи «5 Programming Languages Every Master Developer Should Learn».

“silver MacBook turned on” by Fabian Grohs on Unsplash
“silver MacBook turned on” by Fabian Grohs on Unsplash

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

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

Интервьюеры уделяют больше внимания инженерам, имеющим хороший опыт работы с различными языками, например, C++ и Java или Python и Java.

Лично мне нравятся инженеры с хорошим опытом в C++ или Java, которые также могут писать скрипты на Groovy, Perl или Python.

Маленький скрипт часто бывает быстрым и достаточно хорошим решением для конкретных задач. Поэтому мне бы не хотелось, чтобы мой программист убил целый день, чтобы написать на Java программу для чтения CSV-файлов или сбора сообщений с TCP/UDP порта.

Почему я выбрал именно эти пять языков программирования? Мои резоны просты и практичны. Я выбирал языки, основываясь на их используемости, парадигме и популярности.

Например, если вы хотите заниматься разработкой приложений, вы не можете игнорировать Java. А JavaScript вообще применяется повсюду в интернете.

Я совершенно уверен, что разработчики должны изучать язык С в самом начале своей карьеры, потому что это поможет им приблизиться к системе и понять ключевые идеи программирования, которые часто скрываются за JVM (виртуальной машиной Java) или CLR (общеязыковой исполняющей средой).

В качестве скриптового языка я выбрал Python, хотя вы можете заменить его на Perl или Groovy. Хотя, если говорить об онлайн-поддержке, Python также великолепен. Есть множество доступных Python-модулей, которые могут справиться с вашей задачей за пару минут.

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

1. Java

В последние два десятка лет Java является одним из самых популярных языков программирования. Она буквально правит в мире разработки серверных приложений. Этот язык занимает существенное место на рынке разработки мобильных игр и приложений для Android, а также в мире корпоративной веб-разработки.

Java

Java началась с простой идеи WORA («write once run anywhere», «пиши один раз и запускай где угодно»), но со временем Java, собственно, начала запускаться везде.

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

Зачем нужно изучать Java? С ней вы сможете фокусироваться только на дизайне приложения и структуре кода. Вам не придется беспокоиться о деталях, специфических для системы, и об управлении памятью. Этим займется JVM.

Если вы решили изучить Java, могу посоветовать начать с хорошего курса на Udemy – The Complete Java Master Class. В нем достаточно детально рассматриваются все необходимые концепции языка.

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

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

2. Python

Python чаще других изучают в школах и колледжах по всему миру. В США Python является предпочтительным языком для того, чтобы начать изучение программирования. В этом плане он потеснил Java во многих вузовских курсах. Что вам даст изучение Python? Многое.

Python

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

Многие популярные сайты, включая Reddit, построены на фреймворках Python, таких как Django. В последнее время многие крупные организации также переходят на фреймворки на основе Python.

Этот язык все массовее используется для технологий нового поколения, таких как машинное обучение, искусственный интеллект и наука о данных. Несомненно, это связано с наличием прекрасных библиотек для машинного обучения, таких как TensorFlow, Scikit-Learn и др.

Лично я использую Python для написания скриптов: он очень полезен, когда надо сделать что-нибудь быстро. Например, на Python вы можете за пять минут написать прослушиватель сообщений UDP, а на Java на это уйдет уже 20 минут, не считая компиляции и упаковки.

Если вы заинтересованы в изучении Python, тогда The Complete Python BootCamp будет отличным начальным курсом.

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

Также, если вы колеблетесь и не знаете, начать ли вам с Java или Python, взгляните на эту сравнительную инфографику.

3. JavaScript

В этом списке вы можете заменить Java на C++, а Python на Ruby, но на сегодняшний день вам ничем не удастся заменить JavaScript. Последние пять лет JavaScript доминирует в мире.

JavaScript

Это больше не просто скриптовый язык фронтенда. Благодаря фреймворкам и библиотекам, таким как Node JS, Angular и React, вы можете использовать JavaScript и для бэкенда, и для разработки пользовательского интерфейса.

В некоторой степени своим ошеломляющим успехом JavaScript обязан jQuery – библиотеке, которая полностью изменила способ использования JavaScript во фронтенде.

Поскольку я являюсь Java-программистом, работающим над приложением на базе JSP и Servlet, у меня было огромное количество возможностей использовать как jQuery, так и JavaScript.

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

Если вы хотите изучить JavaScript с нуля и до самых глубин, тогда лучший онлайн-курс для вас это The Complete JavaScript на Udemy.

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

4. Язык С

Нельзя быть настоящим программистом и не знать С или С++. Громко сказано, но я утверждаю это на основе своего многолетнего опыта.

Инженеры и разработчики, знающие С/С++, попросту лучше программистов, которые этих языков не знают, и это не может быть простым совпадением.

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

С по-прежнему является предпочитаемым языком в системном программировании, а в последние два года он также является серьезным конкурентом Java.

Язык С

Если вы хотите изучить этот прекрасный язык, тогда удачным началом станет C Programming for Beginners.

Язык С также является одним из старейших языков, пережившим уже больше 4 десятилетий.

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

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

Если вы хотите создавать игры и изучить С++, тогда одним из лучших курсов для вас будет The Unreal Engine Developer Course — Learn C++ & Make Games. Он просто великолепен, а разрабатывая игры, вы изучите больше, чем при любом другом способе обучения.

Также, если вы хотите изучить С++, вы можете воспользоваться моим списком бесплатных курсов по С++ для начинающих.

5. Scala

Scala это язык, созданный на основе лучших подходов последних 20 лет. Это также функциональный язык программирования, а это значит, что предлагаемая им парадигма отличается от объектно-ориентированного программирования. Это может улучшить ваш образ мышления и чувство кода.

Хотя есть много функциональных языков программирования, например Haskell, я выбрал Scala, потому что, будучи Java-разработчиком, считаю его более простым в изучении, чем Haskell.

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

А для С++ программистов, как мне кажется, больше подходит Haskell. Честно говоря, вы можете выбрать любой функциональный язык программирования, но остановите свой выбор на таком, который пользуется коммерческим спросом.

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

Но независимо от того, сколько языков программирования вы знаете, как профессиональный программист вы должны следовать принципам, изложенным в книге «Чистый код». Этот навык больше всего поможет вам в вашей карьере.

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

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

В идеале «джентльменский набор» программиста должен включать:

  • один язык, близкий к системным, например, С или С++,
  • один объектно-ориентированный, вроде Java, Python или C++,
  • один функциональный, например, Scala или Haskell,
  • один мощный скриптовый, такой как Perl, Python или Ruby,
  • и плюс ко всем ним – JavaScript. Да, для него замены нет.


[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх