У меня за плечами 5 лет опыта работы разработчиком и самый частый вопрос, который я слышу:
Какой язык программирования стоит учить?
Этот вопрос задают новички и эксперты. Как и другие аналогичные вопросы, ответ не так прост. Существует много факторов, которые следует учитывать при выборе языка программирования.
Технологии развиваются быстрыми темпами и со временем ваши знания могут просто устареть. Еще стоит учитывать то, что языки программирования различаются в плане функциональности и сложности. Поэтому ответ будет зависеть от того какую задачу вы хотите решить. Например, если вы разрабатываете статическое веб-приложение, вы должны знать обычный HTML. И, наоборот, если вы хотите создать динамичное приложение с расширяемыми возможностями, вы должны выучить ASP.NET, PHP, Ruby on Rails или JavaScript и освоить соответствующий фреймворк. Настольные и мобильные приложения имеют различные требования.
Кроме того, я заметил, что не только программисты изучают языки программирования, но и люди из других сфер деятельности. Недавно я наткнулся на одного ученого в области психологии, который поручил своему сотруднику выучить язык программирования для обработки результатов его исследований. Это еще раз показывает, что любой может программировать.
Теперь вернемся к нашей десятке. Я решил составить список языков программирования, которые могут быть полезны в решении ряда задач, а также добавил ряд типичных направлений разработки. Вы должны взглянуть на эти языки и выбрать тот, который наиболее подходит вашим требованиям. Итак, приступим к делу.
1. Язык С
Я хорошо помню как мы начинали учить программирование с курса Си. Наш преподаватель поставил задачу сложить два числа, и мы чувствовал себя самыми умными на земле. Си безусловно хороший язык программирования для новичков, которые хотят построить карьеру программиста.
Немного истории: Язык Си был разработан Деннисом Ритчи в 1972 году в Bell Labs. Прелесть языка Си в том, что он является предшественником таких языков программирования как С++, Java, C#, JavaScript и Perl. По этой причине изучение этого языка ведет к понимаю и других языков. Язык С используется для разработки низкоуровневых приложений, так как считается ближе всего к аппаратному, уступая только ассемблеру. Если вы новичок, лучше всего начать с Си.
2. Язык С++
Хотя язык Си был неплохим, в нем не хватало работы с объектами. Чтобы решить проблему, в 1986 году был разработан С++, который является одним из самых распространенных языков в мире. Google Chrome, Mozilla Firefox, Winamp и линейка продуктов Adobe были разработаны с помощью С++. Кроме того, некоторые современные игры и операционные системы были разработаны на С++ из-за быстрого процессинга и компиляции. Кроме того, разработчики С++ имеют огромный спрос на рынке труда и количество вакансий постоянно растет.
3. Java
Java был разработан Джеймсом Гослингом в 1990 году в компании Sun Microsystems. Java дополнительно увеличивает возможности языка С++. Особенность Java заключается в том, что это первый чисто объектно-ориентированный язык программирования. Java был разработан по принципу WORA (Write Once Run Anywhere или "написав код однажды, вы запустите его везде"). Речь идет про переносимость Java. Необходимо скомпилировать исходный код на Java всего лишь раз, а затем запустить на любой машине с установленным JVM (Java Virtual Machine) и затем использовать.
Язык Java использует для разработки корпоративных приложений и видео игр, он может быть использован для разработки веб-приложений с использованием JSP (Java Server Pages). Java имеет огромный рынок вакансий. Этот язык необходимо выучить любому программисту.
4. Язык С#
С# принадлежит семье языков программирования Microsoft и был разработан в 2000 году и стал частью первого релиза .NET framework. Язык С# сочетает в себе надежность С++ с дополнительными возможностями Java. Поэтому если вы хорошо знаете Java, можно легко переключиться на С# и наоборот.
Язык С# позволяет разрабатывать практически любые приложения, которые связаны с Visual Studio IDE. При разработке динамических веб-приложений в ASP.NET вам потребуется код на С# или VB для написания механизма обработки бэкенда. Если вы разрабатываете приложение Windows или Windows Presentation Foundation (WPF), вам потребуется код на С#. Аналогично если вы разрабатываете приложение для телефона на windows, снова потребуется С#.
Учитывая сказанное, язык C# стоит учить, если вы планируете разрабатывать приложения для Windows платформ. Рынок труда для программистов C# довольно хорош, поэтому вы сможете найти для себя прибыльное место.
5. Objective C
Objective C был первоначально разработан в Apple Брэдом Коксом и Том Лавом в 1983 году. Целью создания языка Objective C было устранение недостатков в языке Си, в первую очередь связанных с поддержкой объектов. Objective C приобрел огромную популярность из-за разработки приложений для iPhone и iPad.
Знание Objective C пригодится вам в тех компаниях, которые разрабатывают приложения для Apple. В дополнение к этому индустрия фриланса имеет огромный спрос на программистов Objective C по всему миру.
6. PHP
PHP - это один из наиболее широко используемых языков для разработки динамических веб сайтов. PHP был разработан в 1995 году и является языком сценариев на стороне сервера, что означает, что PHP код обрабатывается на сервера, а конечный результат пользователь получает в виде обычного HTML.
PHP открытый язык разработки, поэтому написаны уже тысячи модулей, которые можно модифицировать до требуемой функциональности. Кроме того, PHP легко выучить; вы просто должны вставлять код в HTML. Существуют сотни PHP платформ, таких как Joomla, WordPress и Drupal, которые позволяют разрабатывать веб сайты даже более удобно. PHP стоит учить, если вы планируете карьеру веб разработчика. PHP это неотъемлемая часть знаменитого LAMP (Linux, Apache, MySQL и PHP), на которой основаны Facebook, Yahoo и др. PHP имеет огромный рынок труда, хотя не так высокооплачиваем как ASP.NET.
7. JavaScript
Серверные языки сценариев идеально подходят для разработки сложных веб приложений, но каждая такая задача сильно нагружает сервер. Поэтому разработчики делегировали часть функций на сторону клиента и использовали JavaScript. JavaScript - это язык программирования, выполняемый в клиентском браузере и обрабатывает команды на компьютере конечного пользователя, а не сервера, что приводит к снижению нагрузки на сервер и увеличению скорости работы приложения. JavaScript был разработан компанией Netscape и вряд ли есть сайты, которые не используют его. JavaScript сам по себе не поможет вам устроиться на работу, но этот язык стоит выучить с некоторыми дополнительными языками сценариев на стороне сервера.
8. Python
Python - это другой высокоуровневый язык программирования и часто считается самым легким языком, благодаря своей простоте, читаемости и синтаксису. Python был разработан Гвидо Ван Россумом в 1991 году. Python не использовался так широко в прошлом, однако стал особенно популярным за последние годы благодаря инвестициям Google. В настоящее время некоторые весьма известные и надежные сайты работают на python, особенно pinterest.com, instagram.com и rdio.com. Как и PHP, Python можно использовать для разработки веб приложений.
9. SQL
SQL - это не язык программирования, а язык структурированных запросов к базе данных. SQL является простым для изучения и ближе к английскому языку с точки зрения синтаксиса. Практически каждое приложение имеет базу данных и для взаимодействия с ней необходимо глубокое знание SQL. Как JavaScritp, один лишь SQL не будет полезным в плане трудоустройства, но станет хорошим бонусом.
10. Ruby
Похожий на Python, Ruby - простой и читаемый язык программирования, ориентированный на разработку веб приложений. Разработанный Юкихиро Мацумто в 1995 году, фреймворк Ruby использовался для разработки Github, Scribd, Yammer, Shopify и Groupon. Ruby сочетает в себе некоторые возможности Lisp, Pearl и Eiffel. Ruby имеет хороший рынок труда и разработчики получают достойно.
Какой язык выбрать?
Существуют определенные факторы, которые следует учитывать при выборе языка программирования.
Что вы хотите разрабатывать: приложения для веба, настольные или мобильные?
Какие ваши личные интересы: коммерческое ПО или ПО с открытым исходным кодом.
Какой рынок труда существует для выбранного языка?
Кривая обучения для данного языка.
Учитывая последние тенденции, вы должны владеть хотя бы одним веб ориентированным языком, одним для настольных приложений и один для мобильных платформ, чтобы выделяться на фоне остальных программистов.
https://www.udemy.com/blog/best-programming-language/