Языки программирования сейчас и в ближайшем будущем. что и зачем учить?
Содержание:
- Объять необъятное: как можно остаться на обочине IT-индустрии, умея в ней всё
- Javascript
- 2020
- С++
- PHP — инструмент для создания веб-страниц
- Swift
- C#
- Рейтинг Stack Overflow
- С чего начать изучение программирования?
- 12 Perl
- PHP
- Методика и источники
- Python
- PHP
- Python
- 5 C#
- Разработка игр
- RedMonk
- Киберпреступники тоже обожают Rust
- Время кода
- CSS — язык описания стилей
- GitHub
- Ruby
- Julia
- Swift
- Несколько слов о типизации
- Подведем итог
Объять необъятное: как можно остаться на обочине IT-индустрии, умея в ней всё
Предположим, вы решили стать профессиональным разработчиком на C++, Kotlin, Swift, Python, Java, Ruby, Go, Scala, C# и TypeScript с кучей фреймворков и библиотек. Первый резонный вопрос — зачем? Многие мелкие компании могут не использовать и половину из них, а в больших корпорациях разработка делится на проекты.
Даже если вы действительно владеете этими языками на крепком уровне, а не просто знаете синтаксис, то вряд ли это как-то повысит ваш ценник. Зарплаты айтишников формируются не только исходя из компетенций и ситуации на рынке, но и из объёма работы. Успевать и выдавать высокое качество везде вы не сможете просто физически.
Но давайте пофантазируем: предположим, ваших навыков хватает на целый штат региональной веб-студии. Звучит впечатляюще, но только не для грамотного руководителя. Вести бизнес за счёт одного человека — это очень плохое решение с точки зрения менеджмента. Когда из 20 человек уходит один верстальщик, нужно найти его коллегу, которого временно может подменять мидл- или сеньор-фуллстек. А вот с уходом полиглота, на котором держится вся разработка, придётся искать целую команду, что повлечёт за собой стагнацию и убытки.
Такие многозадачные специалисты, возможно, нашли бы себя в IT-гигантах, но и это спорно — корпорации и так нанимают лучших, а брать сотрудников, от которых зависит большое количество процессов невыгодно даже им. То есть, с позиции бизнеса, гораздо проще разделять задачи между целой командой. Это снижает риски застоя от потери кадров и других форс-мажорных обстоятельств.
Иными словами, 20 дополнительных языков вряд ли увеличат ваш доход хотя бы в два раза. А если вернуться в реальность, то куда более вероятно, что такая погоня за знаниями и вовсе оставит вас без работы. Владеть огромным количеством языков на профессиональном уровне просто невозможно — они постоянно развиваются и дополняются. Вы не будете, выучив один язык, осваивать второй, а потом третий. Вы будете параллельно изучать все три.
Если не практиковать и не обновлять эти знания, то через пару лет от них не будет никакого толка. С каждым новым языком придётся всё больше времени тратить на процесс обучения, а не на работу. Очень вероятно, что язык, которому вы уделяете меньше внимания, начнёт проседать, а в загрузочные недели в голове может твориться каша вроде этой:
else if JS внезапно превратилось в elif Python. Изображение: Кирилл Молоков для Skillbox Media
Javascript
JavaScript был разработан Бренданом Айхом для Netscape во время первой войны браузеров.
Несмотря на плохой дизайн и отсутствие функций, JavaScript стал динамичным языком программирования высокого уровня.
Благодаря прорывам Node.js и AngularJS, JavaScript стал сегодня бесспорным лидером в браузерном программировании.
JS предлагает программирование на основе событий, которое поддерживает требования приложений, которые сильно зависят от задач ввода-вывода. JavaScript широко используется в областях веб-разработки, серверной части и бессерверных вычислений.
«Hello World» в Javascript:
2020
Рейтинг самых высокооплачиваемых языков программирования
В августе 2021 года появились результаты опроса Stack Overflow среди более 83 тыс. разработчиков из разных стран мира, по итогам которого был составлен рейтинг наиболее высокооплачиваемых языков программирования.
Опрос, в котором наиболее активно принимали участие программисты из США, Индии, Германии, Великобритании, Канады, показал, что наибольшую медианную зарплату получают разработчики, которые владеют языком Clojure, — $95 тыс. в год. Это в 1,5 раза больше медианы таких языков программирования, как Python ($59 тыс.) и JavaScript ($54 тыс.), которые пользуются популярностью среди работодателей и разработчиков. На втором месте — F# ($81,077), на третьем — Elixir ($80,077). На четвертой позиции рейтинга Erlang ($80 тыс.), на пятом Ruby — ($80 тыс.). В ТОП-10 вошли также: Scala ($77,832), Rust ($77,530), Go ($75,669), LISP ($75,669).
Рейтинг наиболее высокооплачиваемых языков программирования
Почти 60% респондентов учились программировать на онлайн-ресурсах, в том числе на онлайн-курсах, форумах и других современных решениях для получения знаний. Респонденты старшего возраста учились программированию в школах (53%), университетах, и с помощью книг (40%). 45% респондентов используют для работы операционную систему Windows, 25,32% предпочитают Linux, а 25,19% выбирают MacOS. 53% опрошенных написали свою первую строку кода в возрасте 11-17 лет, 24% в возрасте 18-24 лет, 14% — в возрасте 5-10 лет, 5% — в возрасте 25-34 лет.
Рейтинг разработчиков по специализации
Почти половина опрошенных являются фулстек-разработчиками, 43,73% — бэкенд-разработчиками и 27,45% фронтенд-разработчиками.
Согласно результатам опроса Stack Overflow, среди наиболее популярных баз данных у ИТ-специалистов: MySQL, PostgreSQL, SQLite, MongoDB, Microsoft SQL Server (в порядке убывания). Среди наиболее популярных облачных систем: AWS, Google Cloud Platform, Microsoft Azure, Heroku, DigitalOcean.
GitHub назвал самые популярные языки программирования
В начале декабря 2020 года сервис совместной разработки ИТ-проектов GitHub опубликовал рейтинг самых популярных языков программирования, с которыми работают пользователи платформы. Развиваемый Microsoft проект TypeScript стремительно набирает популярность.
Первое место сохранил JavaScript. Следом расположился Python, третье место занимает Java. На четвертое место поднялся TypeScript. Пятое пятую строчку занял С#. Далее идут PHP, C++, C, Shell и Ruby. Состав первой десятки с 2017 года сохраняется без изменений, но PHP и Ruby, находившиеся на вершине списка пять лет назад, продолжают терять популярность.
Рейтинг самых популярных языков программирования
Как отмечает издание ZDNet, до 2016 году TypeScript не входят в десятку самых востребованных языков программирования на GitHub, но в 2018-м он поднялся на седьмую позицию, а в 2020-м взобрался на три строчки вверх, опередив C#, PHP и C ++.
Один из создателей TypeScript Андерс Хейлсберг, технический сотрудник Microsoft и «отец C#», в разговоре с ZDNet признался, что ему пришлось продать идею языка с открытым исходным кодом руководителям Microsoft в 2010 году, когда компания, будучи под руководством Стива Баллмера, весьма негативно была настроена в отношении сообщества Open Source.
Соучредитель аналитической фирмы RedMonk Джеймс Говернор считает, что популярность TypeScript в последние годы растет потому, что этот язык программирования удовлетворяет потребности разработчиков JavaScript в «безопасности типов». Рост популярности на GitHub указывает на то, что TypeScript останется надолго, уверен эксперт.
В публикации ZDNet сказано, что TypeScript стал популярен среди веб-разработчиков, обладающих обширной кодовой базой JavaScript. Среди них – Slack, Airbnb и Bloomberg. Microsoft также написала на TypeScript свой популярный кроссплатформенный редактор кода с открытым исходным кодом Visual Studio Code.
С++
Сложность: синтаксис у С++ устроен сложнее, чем у тех же Python или C#. Однако использование языковых средств и концепций этого языка даст лучшее понимание теории программирования и может облегчить изучение других языков в дальнейшем.
Профессии: С++ разработчик / Разработчик игр
Продукты: на нем написан движок REDengine, на котором создали «Ведьмака» и Cyberpunk 2077, CCleaner, продукты Adobe, Autocad, Telegram, Microsoft 365
С++ — это один из фундаментальных языков программирования. Он быстрый, на нем вы можете заниматься оптимизацией, архитектурой ПО, решать задачи по автоматизации процессов, создавать системы моделирования. На нем можно писать с нуля программы, антивирусы, драйверы — все, что ближе к железу. Продукты, которые требуют более глубокого понимания основ программирования (роботы, нейросети), лучше создавать на С++.
Из-за сложности языка сообщество программистов более сплоченное: активнее делится кодами и библиотеками языка. Можно даже наткнуться на горячие споры: кто-то считает, что С++ идеален в качестве первого языка, а другие относятся к языку со скепсисом и не видят смысла изучать его первым.
Курс
С++ разработчик
Обучайтесь основам С++, решайте задачи любой сложности на одном из самых мощных языков программирования. Дополнительная скидка 5% по промокоду BLOG.
Узнать больше
PHP — инструмент для создания веб-страниц
Код на PHP. Источник
PHP, изначально называвшийся Personal Home Page Tools — «Инструменты для создания персональных веб-страниц», — язык, созданный в 1995 году на основе Perl специально для создания сайтов. Несмотря на критику, которой PHP часто подвергается сторонниками языков, имеющих более широкое применение, он до сих пор остается наиболее распространенным средством веб-разработки.
Как и другие backend-языки, PHP отвечает за взаимодействие с базами данных и описывает алгоритмы работы программ. PHP имеет множество оболочек-фреймворков, облегчающих работу с ним. Большинство популярных систем управления сайтами (CMS) написаны именно на PHP.
К недостаткам языка обычно относят его однобокость и некоторую заторможенность развития. Но логика и семантика PHP за последние годы значительно изменились, и теперь он мало чем уступает Python или Ruby, по крайней мере, в части разработки сайтов.
Специализированность PHP позволяет изучить его сравнительно быстро — уже через месяц–полтора начинающий программист сможет собрать на нем свой первый сайт.
Swift
Если вы заинтересованы в продуктах Apple и разработке мобильных приложений, Swift – хорошее место для начала. Впервые анонсированный Apple в 2014 году, Swift – это относительно новый язык программирования, используемый для разработки приложений для iOS и macOS.
Swift был оптимизирован для производительности и построен с нуля, чтобы соответствовать реалиям современной разработки iOS. IOS работает не только на каждом iPhone и iPad, но также является основой для других операционных систем, таких как watchOS (для Apple Watch) и tvOS (для Apple TV). Кроме того, Apple никуда не денется как лидер индустрии технологий, а приложения для iOS продолжают оставаться самыми прибыльными на рынке мобильных приложений.
C#
Microsoft разработала C# как C-подобный язык программирования с объектно-ориентированными функциями. Это было частью их проекта .NET. Изначально язык рассматривался как копия Java. Тем не менее, будущие разработки принесли ясную, четкую идентичность C#.
C# предлагает отличный опыт разработчиков. Благодаря поддержке и присутствию Microsoft более двух десятилетий, она имеет множество библиотек и структур.
Кроме того, это независимый от платформы язык программирования. C# широко используется в области системного программирования, разработки игр, веб-разработки и разработки приложений.
Фрагмент кода «Hello world» в C#:
Рейтинг Stack Overflow
Сайт Stack Overflow — это площадка, на которой разработчики могут задавать и отвечать на вопросы по программированию. Этот сайт имеет около 40 миллионов посещений в месяц. Есть русскоязычная версия сайта: ru.stackoverflow.com
Этот рейтинг рассчитывается на основе опроса разработчиков. В 2020 году было опрошено более 65 000 разработчиков и составлен рейтинг языков программирования. Скорее это рейтинг языков, которые вызывают вопросы. В этом рейтинге лидером стал JavaScript.
Такая популярность вполне объяснима, сейчас JavaScript бурно развивается и каждая новая возможность вызывает массу вопросов, поэтому программисты идут на сайт Stack Overflow, чтобы задать вопросы.
Любопытно, что в этом рейтинге C не попал даже в первую десятку. Видимо, язык настолько прост и понятен, что вопросов не вызывает.
С чего начать изучение программирования?
У каждого будущего айтишника есть желание сесть за чтение руководства пользователя и быстро написать свой первый код. Это очень соблазнительно. Тем более есть масса бесплатных или недорогих ресурсов, которые позволяют освоить языки программирования для начинающих, и нет проблемы найти хороший обучающий курс.
Обучающий онлайн-курс – неплохой выбор для будущего программиста
Но сначала стоит задать себе вопрос — зачем я хочу потратить на это огромное количество времени? Ответ на него позволит выбрать стратегию обучения, от которой будет зависеть конечный результат.
Перед тем как определиться, какой язык программирования учить, следует разобраться с необходимыми для программиста soft-скилами. На первом месте среди них стоит знание английского. Конечно, можно пользоваться переводчиком от Google, но он не решает всех задач:
- сервис совместной разработки GitHub предполагает общение на английском;
- большинство руководств тоже написаны на этом языке:
- без знания английского вы не сможете работать в международных командах;
- подсказки и комментарии в большинстве случаев пишутся на международном языке общения.
Однако если уровень владения языком оставляет желать лучшего, не стоит расстраиваться. Совсем необязательно понимать его на уровне носителя, требуется обладать хотя бы минимальными знаниями. В процессе работы будет несложно подтянуть этот навык, это самый легкий способ.
Не менее важным является знание математики и логики, без умения писать алгоритмы тяжело сделать хороший код. По сути любая программа просто переносит в понятный для компьютера вид определенный набор последовательных действий. «Взять переменную А, провести с ней определенные действия, вывести результат в память или на экран».
Все не так сложно, как кажется на первый взгляд
Но и здесь не стоит отчаиваться, если успеваемость в школе по математике была далека от идеальной. Всегда есть возможность наверстать упущенное. Но надо понимать, что самый простой и понятный язык программирования все равно строится на математических формулах.
Знание компьютерного железа тоже не будет лишним, но в большинстве случаев достаточно понимания принципов взаимодействия материнской платы, жесткого диска и оперативной памяти, процессора и устройств ввода-вывода. Как правило, каждый курс для программистов дает объем необходимых знаний.
12 Perl
Двенадцатую строку рейтинга занимает Perl. Язык создан в 1987 году лингвистом по образованию Л.Уоллом.
Первым наименованием стала аббревиатура «Pearl», однако позднее выяснилось, что данное название уже существует, и буква «a» была исключена. Неизменный символ Perl — верблюд, достаточно выносливое животное, которое может справиться с тяжелой работой. С 1998 года выходят улучшенные версии языка, постоянно совершенствуясь. Значимым событием в истории развития стал выпуск книги «Programming Perl» в 1991 году. В 2005 году в некоторых сферах у Perl не было конкурентов, так как PHP программистам уже не хватало, а Java была чрезмерно функциональной для выполнения некоторых задач. Это позволило разработчикам занять определенную нишу и укрепить позиции своего проекта. Новейшей версией является Perl 5.6, выпущенная на рынок в 2020 году.
Perl обладает достаточным количеством функций, отличительной особенностью языка являются его широкие возможности для работы с текстом, регулярными выражениями и большая коллекция модулей CPAN. На сегодня Perl используется для выполнения различных задач IT-сферы.
PHP
PHP — чемпион по популярности в веб-разработке. Его широко используют в создании серверных приложений, скриптов и утилит. Вы найдёте его в сайтах многих известных компаний, например Avito, Badoo, «ВКонтакте», Wikipedia, Facebook.
Иногда приходится слышать, что PHP умирает или что это ужасный язык. Это мнение устарело. Такая оценка появилась, когда он только набирал популярность. Тогда у PHP действительно было много недостатков и ничего серьёзного на нём не писали. Некоторые специалисты его таким и запомнили, но PHP уже лет десять как настоящий взрослый язык. Более того, огромное количество конструкторов и редакторов сайтов написаны именно на нём.
Плюсы PHP
- Легко освоить, поэтому его часто выбирают как первый язык.
- Для него существует огромное количество готовых решений.
- Широко распространён, будет легко найти работу.
- В последних версиях улучшился синтаксис и добавились новые возможности.
Минусы и особенности PHP
- Слабая типизация, как и у JavaScript.
- Хотя стандартная библиотека богатая, но организована неудобно и нелогично, в ней легко запутаться.
- Практически не используется в других областях, кроме веб-разработки.
Зарплаты и востребованность
Как вы видите на скриншоте ниже, предложений работы для PHP-разработчиков очень много — больше, чем для других языков, — но средняя зарплата ниже, чем у JavaScript-разработчиков, — 88 тысяч рублей.
Если вы новичок, можете рассчитывать на зарплату от 30 до 66 тысяч рублей; если у вас уже есть опыт, то от 66 до 94 тысяч; профессионалы получают 100 тысяч и больше.
Опять же, PHP используется во многих известных компаниях, так что есть возможность найти работу в очень хорошем месте.
Методика и источники
Многие организации публикуют рейтинги языков программирования, но используют для анализа разные данные. Одни проводят опросы разработчиков, другие анализируют объявления о вакансиях, а третьи подсчитывают количество поисковых запросов с упоминанием языка.
Топ, составленный изданием InformationWeek, основан на результатах нескольких таких организаций:
- Индекс Tiobe – рассчитывается по количеству поисковых запросов, содержащих название языка;
- Индекс PYPL – использует количество поисковых запросов Google для учебных пособий по языку. Обновляется ежемесячно;
- RedMonk – подсчитывает языки, используемые в репозиториях GitHub и Stack Overflow;
- GitHub Octoverse – оценивает языки из репозиториев GitHub;
- Stack Overflow – проводит ежегодный опрос разработчиков;
- Indeed.com – сайт объявлений о вакансиях, который публикует списки популярных языков, на основе количества вакансий и размеру заработной платы разработчиков;
- Coding Dojo – учебный курс по программированию. Здесь публикуют ежегодный список, основанный на количестве объявлений о вакансиях, в которых упоминается язык.
Python
Python тоже часто используется в веб-разработке, а ещё это один из самых популярных языков для анализа данных и в Data Science. Вы встретите Python в разработке веб-сайтов и утилит, в машинном обучении и работе с нейросетями.
Это тоже подходящий язык для новичков, его часто рекомендуют для обучения программированию.
Плюсы Python
- Легко освоить.
- Удобный синтаксис.
- Прекрасно подходит для своих задач (мы перечислили их выше).
- Для него создано много полезных фреймворков и библиотек.
Спорные моменты
- Частичная поддержка многопоточности.
- Медленный, но можно значительно ускорить с помощью Cython.
- Неявная типизация.
Зарплаты и востребованность
По объединённым данным сайтов для поиска работы (HeadHunter, Superjob, Rabota.ru и другим), вакансий для разработчиков на Python в Москве около 200, а зарплаты в среднем около 105 тысяч рублей. Для новичков — в среднем 60 тысяч, а для специалистов — от 150 до 170 тысяч. Если вы разбираетесь в нейросетях и знакомы с машинным обучением, то скорее всего ваша зарплата будет выше.
Синтаксис
Вот пример кода в Python:
Это имитация шляпы из «Гарри Поттера», которая распределяет студентов по факультетам. Наша шляпа учится сама. Она читает данные о студентах из прошлых лет и делит их на две группы: данные о самих студентах и о том, на каком факультете они учатся. Потом шляпа учится предсказаниям с помощью модуля машинного обучения и проверяет свои способности на контрольной группе. В конце программа оценивает точность предсказания.
PHP
Сложность: по синтаксису PHP близок к С и Java. Но не стоит пугаться: на самом деле это относительно легкий, гибкий и доступный новичку язык. При базовых представлениях об HTML и CSS можно сразу написать простой одностраничный сайт.
Продукты: WordPress, Facebook, VK, Wikipedia.
Профессии: Веб-разработчик.
У PHP бесчисленное количество сообществ. На официальном сайте структурировали основные информационные рассылки (в марте 2021-го их было 20). Почти в любой соцсети можно оперативно найти живое сообщество и обратиться за помощью.
Курс
Веб-разработчик
После обучения вы будете уверенным junior-специалистом и сможете рассчитывать на среднюю зарплату по отрасли. Дополнительная скидка 5% по промокоду BLOG.
Узнать больше
Python
Кому подходит: всем, кто хочет научиться писать универсальные скрипты или работать с нейросетями.
Средняя зарплата на начало 2021 года: 136 тысяч (в прошлом году — 128 тысяч).
Питон в 2021 году пригодится почти везде:
- написать скрипт для сервера;
- запрограммировать нейросеть;
- решить любую классическую задачу в программировании;
- сделать своего телеграм-бота или систему управления заказами;
- встроить распознавание речи, фото и видео в проект;
- и сделать ещё сотни других проектов.
Если не нравится веб, но нужен такой же простой язык как JavaScript для первого изучения, — начинайте с Python.
5 C#
На пятой строке рейтинга находится C#. Язык создан в 2000 году группой инженеров компании Microsoft, проектом руководили А.Хейлсберг и С.Вильтаумота.
Название C# произносится согласно транскрипции как «Си-шарп», оно происходит от буквенной музыкальной нотации (нота «до» и знак «диез»). Объектно-ориентированный язык типобезопасен и предназначен для быстрой разработки различных приложений в среде .NET Framework. Предшественниками стали языки C++, Delphi, Modula, Smalltalk и в значительной степени Java, от которых C# взял многие востребованные функции. C# является языком с Си-подобным синтаксисом, близким к C++ и Java. Благодаря подходу разработчиков, язык позволяет решать задачи по созданию крупных, но достаточно гибких приложений.
За все время существования языка выпущено несколько его улучшенных версий, первой из которых стала C# 1.0, а новейшей — C# 9.0, она выпущена в ноябре 2020 года. Язык программирования продолжает активно развиваться, с каждой новой версией становясь более удобным и функциональным.
Разработка игр
Основным инструментом game development сегодня является движок Unity. Для работы с Unity программисту понадобится знание языка C# — одного из популярных ответвлений языка C, предназначенного для широкого круга работ. Среди них разработка игр стоит далеко не на первом месте. Это позволяет в дальнейшем легко переквалифицироваться для решения более серьезных задач. Альтернативой может стать освоение JavaScript, упомянутого выше.
Unity — графическая среда разработки, визуальный язык программирования. Именно подобные средства со временем придут на смену кодингу в большинстве прикладных областей. Unity был создан в 2005 году и прошел с того момента множество итераций-обновлений. Сегодня среда разработки позволяет создавать 2D- и 3D-игры и разрабатывать приложения.
Освоение C#, который используется для создания сценариев потребует восьми–десяти недель. А чтобы разобраться с Unity, будущему разработчику игр понадобится еще около месяца.
RedMonk
Портал RedMonk задался целью составить топ языков программирования по востребованности, основываясь на топ-листах GitHub и StackOverflow. От первого они взяли количество опубликованных исходников, от второго — упоминания в тегах. Получился такой список:
- JavaScript.
- Java.
- Python.
- PHP.
- C#.
- C++.
- CSS.
- Ruby.
- C.
- Objective-C.
На картине зависимости можно заметить, что отличия в лидирующей группе крайне минимальны, и лидер может меняться хоть каждый месяц.
Итого
Обобщая результаты, можно смело говорить, что эта тройка сейчас правит на рынке:
- JavaScript;
- Python;
- Java.
У этих языков множество отличий — как в структуре, так и направленности. Так что ключевые факторы для выбора — личные предпочтения в синтаксисе и области работы.
А что по душе вам?
Киберпреступники тоже обожают Rust
Язык Rust оценили по достоинству не только обычные программисты, пишущие безопасные и полезные программы. Его все чаще используют и вирусмейкеры, поскольку он считается «экзотическим», редким языком.
Новые типы атак можно выявлять даже без сигнатур и правил корреляции
Безопасность
CNews писал, что хакеры используют Rust, а также D, Go и Nim с целью запутать специалистов ИБ-компаний. Использование редких языков программирования позволяет им скрывать свои вредоносные программы от антивирусов. С их помощью они обманывают сигнатурный анализ, к примеру, пряча внутри написанного на Rust загрузчика троян, написанный на С. Нередко хакеры полностью переписывают свои ранние творения на Rust.
Время кода
Решая, какой язык программирования выучить, важно не попасться в яркие тренды и конкурсы популярности. Лучшие языки программирования для изучения в 2020 году, вероятно, те же самые, которые лучше всего изучать в 2019 и 2018 годах, и это будет продолжаться в течение следующих нескольких лет
Хотя область компьютерного программирования быстро меняется, языки, о которых мы говорили выше, обладают большой силой. Изучая один или несколько из этих языков, вы будете в отличном положении не только в этом году, но и в последующие годы.
Начиная свой путь в программировании, только вы можете ответить на вопрос о том, какой язык программирования лучше всего изучить. Сделайте свой выбор исходя из ваших интересов и типа разработки программного обеспечения, в которую вы хотите попасть. Вот краткий обзор различных возможностей, которые мы обсудили:
- Front-end веб-разработка: JavaScript
- Back-end веб-разработка: JavaScript, Java, Python, PHP, Ruby
- Мобильная разработка: Swift, Java, C #
- Разработка игр: C ++, C #
- Настольные приложения: Java, C ++, Python
- Системное программирование: C, Rust
CSS — язык описания стилей
CSS — язык, позволяющий значительно упростить описание визуальной стороны веб-страниц. Без него верстальщикам приходилось отдельно указывать цвет, размер, шрифт и другие подобные параметры отдельно для каждого элемента страницы. Времени уходило больше, объем кода рос, что замедляло его обработку компьютером, а вероятность ошибок была выше — ведь за всем не уследишь.
CSS — это средство задания и хранения описаний стандартных элементов. Каскадные таблицы стилей, на которых он основан, хранят в себе информацию о тех или иных предзаданных параметрах текстов и изображений. Для того, чтобы указать, что заголовок каждого абзаца должен быть написан определенным шрифтом соответствующего размера и цвета, современному верстальщику достаточно сослаться на соответствующую часть CSS-таблицы.
CSS обычно изучают параллельно с освоением HTML. Это еще одна часть той базы, которая необходима всякому, кто хочет посвятить себя созданию сайтов.
Именно на этом сочетании стандартов сегодня основывается визуальная сторона интернета
GitHub
Самый популярный и авторитетный портал для работы с кодом тоже составляет рейтинги языков, но только по годам. Подсчет ведется по количеству размещенных исходников за последние 12 месяцев. Рейтинг, опубликованный в начале 2019 года:
- JavaScript.
- Java.
- Python.
- PHP.
- C++.
- C#.
- TypeScript.
- Shell.
- C.
- Ruby.
Большое влияние на рейтинг GitHub оказывает продуктивность разработчиков. Именно поэтому в лидерах оказалось много представителей скриптовой направленности — объем кода исходников часто занимает всего несколько строк. Но — в отличие от предыдущих двух порталов — здесь практически не имеет значения сложность языка.
Ruby
Ruby – это еще один язык сценариев, который обычно используется для веб-разработки. В частности, он используется в качестве основы для популярной платформы веб-приложений Ruby on Rails.
Начинающие часто тяготеют к Ruby, потому что он имеет репутацию одного из самых дружелюбных и полезных сообществ пользователей. Сообщество Ruby даже имеет неофициальное высказывание: «Мац – это хорошо, и поэтому мы хороши», побуждая участников моделировать свое доброе и внимательное поведение на главном изобретателе Ruby Юкихиро Мацумото.
В дополнение к активному сообществу и его простому синтаксису, Ruby также является хорошим языком для изучения благодаря его связи с великими техническими компаниями. Twitter, Airbnb, Bloomberg, Shopify и многие другие стартапы в какой-то момент создали свои сайты, используя Ruby on Rails.
Julia
Julia — молодой язык, конкурент R и Python, совместимый с ними. Однако он гораздо быстрее Python и по скорости может сравниться с C/C++. Julia — универсальный язык, хотя изначально его разработали для числовых и технических вычислений.
Его можно и нужно использовать для веб-программирования низкоуровневого системного программирования в качестве языка спецификации. Он поддерживает динамическую типизацию — это делает его более гибким, но и увеличивает вероятность ошибки. В Julia есть и мастхэв-библиотеки для ML: Flux, Mocha.jl, Knet, TensorFlow.jl, ScikitLearn.jl.
Примеры ML-проектов на Julia: SALSA — софт для продвинутой работы со стохастическими алгоритмами; MLJTuning — программа для оптимизации гиперпараметров.
Проекты на Julia в основном создают для учёных и для ML-поддержки лабораторий. Из этого вывод: делать ставку только на Julia не нужно — язык ещё растёт
Но обратить внимание точно стоит.
Swift
Кому подходит: поклонникам операционных систем Apple — MacOS, iOS и WatchOS .
Средняя зарплата на начало 2021 года: 184 тысячи (в прошлом году — 142 тысячи).
Компания Apple каждый год выпускает новые продукты: ноутбуки, системные блоки, телефоны, часы, колонки и прочую технику. Чтобы вся эта экосистема работала хорошо, под неё нужно писать программы — и для мобильных систем, и для мощных стационарных компьютеров.
Чтобы разработчикам было легче это делать, Apple выпустила свой язык программирования Swift. Плюс этого языка — возможность писать код одновременно для нескольких платформ, чтобы, например, программа работала на макбуке и айпаде. По Swift есть много учебных и справочных сайтов, в том числе и официальный портал разработчиков Apple.
Несколько слов о типизации
Типизация – это сортировка переменных на типы. Благодаря ей определяется, как нужно работать с типами переменных: изначально задавать, изменять и т.д.
Она бывает следующих видов:
- явная или неявная;
- слабая или сильная;
- статическая или динамическая.
Если у языка программирования статистическая типизация, то проверка типов происходит на этапе компиляции. Компиляры анализируют, есть ли ошибки, еще до запуска программы, что значительно экономит время работы программиста. А языки динамической типизации ищут ошибки уже во время работы программы. Они более гибкие и их проще освоить.
В языках слабой типизации есть возможность смешивать разные типы данных, а при сильной типизаций это сделать уже невозможно.
При явной типизации вы сами указываете тип переменной, что более надежно, на это затрачивает много времени. При неявной типизации за программиста это сделает компилятор и за более короткий срок.
Подведем итог
Прежде чем сделать выбор, какой же все-таки язык освоить, определитесь, что вам интересно. Вы хотите заниматься веб-разработками или писать приложения? А может, вам по душе анализ данных? Как вы уже поняли, каждый язык программирования заточен под конкретные задачи.
Не стоит пытаться изучить все и сразу. Сделайте упор на своих предпочтениях, а если трудно принять решение, начните с самых легких для освоения языков, изучите их стеки и фреймворки.
HTML и CSS хоть и не являются языками программирования, но без них написать какую-либо программу невозможно. Если вы решили освоить языки, начните именно с них, т.к. они самые легкие для изучения, но учтите, что зарплаты для специалистов с подобными навыками не самые высокие.
Java один из самых популярных и широко применяемых языков. Если освоить его, востребованность и хорошая зарплата гарантированы, но имейте ввиду, что он непрост в изучении. Javascript более сложен для освоения, но также востребован на рынке труда.
Для работы в узких областях подойдут языки программирования PHP и Python. Спрос на таких специалистов и уровень зарплаты достаточно высок, несмотря на ограничения в их применении.
Отличным помощником в изучении языков программирования послужит наша онлайн-программа «Мнемотехники», где, благодаря специальным онлайн-тренажерам и мнемотехникам, вы научитесь быстро и надолго запоминать необходимую вам информацию. Рекомендуем!
Желаем успехов!