Ит-шники всего мира назвали самый любимый и самый ненавистный язык программирования
Содержание:
- Data Engineer
- Go
- Hack
- C# (2000)
- Маркетолог-аналитик
- ALMAMAT – обучающая аутсорсинг-компания из Калифорнии (США)
- По популярности
- Python (1991)
- Можно ли выучить язык программирования самостоятельно?
- JavaScript
- Python
- Реестр аппаратного импортозамещения Минпромторга
- Мобильный разработчик
- Визуальный – не значит «медленный»
- Data Scientist
- SQL
- По зарплатам программистов
- Java
- Swift
- Немного истории, чтобы быть в теме
Data Engineer
Что делает
Помогает дата-сайентисту и аналитику с первичной обработкой данных. Он собирает и структурирует информацию, проектирует хранилища для обработанных наборов данных. Он должен владеть инструментами автоматизации, чтобы налаживать последовательную работу скриптов, разбираться в инфраструктуре и архитектуре генерации данных.
Какие языки использует
На SQL дата-инженер «общается» с базами данных: извлекает данные из реляционных баз (таблицы со структурированными наборами данных), например MySQL, Oracle, PostgreSQL. Нужно разбираться в командах. Например, понимать, как собирать docker container, какие параметры прописывать, следить за метриками нагруженности.
Для большинства вакансий требуется знание одного из трех языков программирования: Scala, Python или Java. На них оптимально автоматизировать процессы, шедуллить скрипты (вызывать команды по расписанию). На Java написаны основные инструменты для обработки больших данных: Apache Hadoop, Kafka, Cassandra.
Scala — один из эффективных в промышленных масштабах языков программирования для дата-инженеров. Он быстрее Python, что выгодно выделяет его при работе с обширными базами данных. Также дата-инженеры часто пользуются фреймворком Apache Spark, который позволяет работать с реляционными базами данных (доставать данные с разных компьютеров).
Курс
Data Engineer
Освойте Data Engineering — научитесь собирать данные из разных источников в крупных компаниях. На курсе вы познакомитесь с Linux, современными хранилищами данных, экосистемой Hadoop и начнете решать реальные задачи на практике. Скидка по промокоду BLOG — 5%.
Узнать больше
Go
Логотип Go
Go — это альтернатива языкам Java и C++, разработанная компанией . Главной особенностью языка является его быстродействие. Невероятная производительность! Использовать можно для множества задач, но чаще всего его используют для серверной части.
Платформа | Серверная часть |
Обучение | Очень легко |
Популярность | Менее популярен, чем остальные языки. №13 в списке PYPL. |
Средняя зарплата (мес) | 2300$ |
Преимущества | Несмотря на то, что данный язык программирования менее популярен, чем остальные, он достаточно высокооплачиваемый. Очень лёгок в обучении. |
Недостатки | Язык относительно новый, возможно, не так много различных мануалов и готовых решений. |
Hack
Hack – ещё один язык, совсем недавно (в 2014 году) созданный IT-гигантом, на этот раз . За основу был взят PHP, но с улучшениями в области надёжности и быстродействя, обеспечиваемые статической типизацией. Собственно, главной рекламой и демонстрацией возможностей является сам с клиентской базой свыше миллиарда человек. И, как показывает практика, Hack Марка Цукерберга пока не подводит.
сделал Hack языком с открытым исходным кодом, подлежащим компиляции на виртуальной машине HHVM. Удобство заключается в том, что HHVM работает с транслятором на базе HipHop, который в свою очередь «переваривает» и Hack, и PHP.
Преимущества для новичка: возможность расширить свои горизонты в веб-разработке.
C# (2000)
Когда компания Microsoft представила C#, многие назвали это «ответом Microsoft на Java». Разумеется, между этими языками хватает различий (и за прошедшие 20 лет их число лишь увеличилось), но некоторая перекличка действительно есть, и знание любого из этих языков помогает быстрее освоить другой.
Изначально самая заметная разница была не в самих языках (в синтаксисе или рантайме), а в сферах их применения. Microsoft создал C# как часть своей платформы .NET, связанной с Windows. И если нужно было сделать программу для Windows, то напрашивающимся вариантом выглядел .NET. А вот если такую программу, чтобы запускалась и на Windows, и на Linux, и на Mac — тут могла помочь Java.
Но с годами ситуация изменилась: у .NET появилась новая версия .NET Core, уже не привязанная к конкретной операционной системе, а люди стали реже устанавливать программы на компьютер и больше делать в браузере. Это отчасти сблизило сферу применения языков: если посмотреть сейчас вакансии с названием C#, там, как и у Java, часто будет написано что-то вроде «Построение бэкенда для веб-приложений».
Впрочем, это не единственный вариант. В играх на движке Unity тоже используют C#, а это самый популярный движок в мире — так что в геймдеве язык тоже активно представлен (в отличие от Java).
Маркетолог-аналитик
Что делает
Анализирует рынок и конкурентов, оптимизирует рекламные кампании и бюджеты, отслеживает источники трафика и разрабатывает стратегии, предусматривая возможные кризисные ситуации. Он хорошо разбирается в продукте, построении воронок продаж, умеет делать прогнозы на основе данных.
Какие языки использует
Python — механика задач маркетолога-аналитика и других профессий в data-сфере схожа: нужно достать и проанализировать данные, выдвинуть гипотезы, проверить и визуализировать их. Маркетологи проводят A/B-тестирование (когда контрольная группа сравнивается с тестовой), для которых им нужны те же Pandas для работы со сгруппированными данными, NumPy для работы с функциями и матрицами, Matplotlib и Seaborn для визуализации.
В R много инструментов, предназначенных как раз для веб-аналитики. Написание кода в R можно облегчить с помощью среды RStudio; разрабатывать аналитические веб-приложения в Shiny, выгружать данные из Яндекс.Метрики или Google Ads с помощью клиентов rym и RAdwords.
Много задач в этой сфере можно решить, не обладая навыками программирования. Однако если вы выучите Python и научитесь его применять для анализа данных, то получите конкурентное преимущество и сможете решать более широкий спектр задач.
Курс
Маркетолог-аналитик
Научитесь анализировать рынок, конкурентов и рекламные кампании, настраивать сквозную аналитику и оптимизировать работу лендингов. Скидка 5% по промокоду BLOG.
Узнать больше
ALMAMAT – обучающая аутсорсинг-компания из Калифорнии (США)
Концепция стартапа ALMAMAT – Global IT University, то есть глобальный IT-университет онлайн. Вот что подход Employment-Oriented Education & Outsourcing представляет собой на практике. ALMAMAT помогает людям выбрать IT-специальность, быстро получить практические навыки, реально нужные рынку, и найти работу на IT-рынке. В своей стране, на иностранном рынке, в штате, удаленно, на аутсорсе, есть удобные для разных людей варианты. Потенциал женщин в IT все еще недооценен и не раскрыт в силу стереотипов. Поэтому у ALMAMAT есть программа #Women_in_Tech, «Женщины в IT». Обучение по профессии QA Engineer в рамках этой программы уже доступно. Эта профессия дает легкий вход на IT-рынок и возможности для роста и развития в техническом или менеджерском направлении. almamat blog
Вот здесь можно почитать о профессии QA-инженера:
Сабина Хасанова рассказывает о профессии QA-инженера. Интервью на ALMAMAT BlogQuality Assurance. Интервью
А здесь CEO ALMAMAT Дмитрий Грин рассказывает о том, зачем учить язык программирования и вариантах развития событий:
Работать в IT и Кремниевой долине? Рассказывает CEO ALMAMAT Дмитрий ГринИнтервью. Обучение и работа в IT
По популярности
По версии TIOBE Index, Python стал языком 2018 года. В январе 2019 года в ТОП-3 популярных языков программирования входят Java, С и Python. Индекс TIOBE имеет ряд критериев, вычисляется по данным 25 поисковых движков и отражает популярность языков программирования на мировом рынке. В Топ-10 TIOBE Index также входят: C++, Visual Basic. NET, JavaScript, C#, PHP, SQL, Objective-C. Дополнительно, в Топ-20 входят: MATLAB, R, Perl, Assembly Language, Swift, Go, Delphi/Object Pascal, Ruby, Pl/SQL и Visual Basic.
Дмитрий Грин
CEO ALMAMAT. Global IT University
«В Кремниевой долине С, Python, Java и JavaScript – топовые языки. Зная С, легко освоить другие языки. Python – потому что AI пишется преимущественно на нем. Java – универсальный и потому популярный».
Python (1991)
В каком-то смысле Python — противоположность C: если там «сложно, зато производительно», то здесь «просто, зато к производительности есть вопросы».
Такое категоричное заявление требует уточнений. Во-первых, о простоте: свои хитрости здесь тоже есть, но они не так болезненны для новичков. С какими-то языками сразу врезаешься лицом в стену из непонятных терминов и теряешь всё желание что-то делать, а здесь начинаешь с куда более простого и понятного кода. Для многих базовых задач предоставлены встроенные способы решения, Python называют «языком с батарейками в комплекте». Неудивительно, что его часто рекомендуют в качестве первого языка, и он стал очень популярен в образовании.
Что же до производительности, то Python действительно проигрывает и C++, и многим другим языкам. Но порой его называют «медленным» презрительно, а вот это уже зря. Вспомним слова о том, что языки хороши или плохи не сами по себе, а применительно к задачам. Да, есть задачи, для которых Python не подойдёт — но есть и такие, где разница в скорости между ним и другим языком вообще не будет заметна. У Python есть свои области применения, для которых он достаточно хорош.
Что это за области? Ещё давно Python полюбили учёные — и теперь с его помощью занимаются такими околонаучными вещами, как машинное обучение и data science. В бэкенде веб-сервисов его тоже используют. Про образование уже сказано. А помимо разработки, его любят в системном администрировании — там он отлично подходит для мелких утилит.
Вакансий с упоминанием Python много, но здесь есть нюанс. Порой этот язык называют «вторым лучшим для любой задачи»: всегда удобный вариант, но всегда уступающий чему-то. Из-за этого Python зачастую используют не как основной язык какого-то проекта, а «в дополнение». Поэтому в части случаев может получиться, что в вакансии он вроде и упомянут, но не как основное требование, а как бонус — и его знания недостаточно, чтобы откликнуться на неё. Так что для первых этапов обучения он точно подходит хорошо, а вот насчёт трудоустройства смотрите ситуацию в своём регионе.
Можно ли выучить язык программирования самостоятельно?
Программирование – это современная и очень динамичная отрасль, и многие ее направления до сих пор не присутствуют в традиционных образовательных учреждениях. Практика показывает, что многие специалисты смогли освоить программирование самостоятельно. Этому способствует и открытость кода многих языков, и активное сообщество девелоперов. Многие языки действительно хорошо поддаются самостоятельному изучению.
Но есть и подводные камни. Первое – это вопрос самодисциплины, второе – критический анализ информации. Статьей в сети и учебных пособий действительно много, но новичок не всегда сможет отличить – какая из них дает полезную, актуальную информацию, а какая – нет. Если вы размышляете о том, какой формат обучения выбрать – курсы и самообучение, советуем почитать нашу статью о плюсах и минусах каждого из них: Онлайн-обучение: преимущества и недостатки
Какой-бы вариант вы не выбрали, будьте готовы заняться своим образованием всерьез и надолго, ведь программирование – это та сфера, в которой нужно всегда учить что-то новое, чтобы оставаться конкурентным на рынке труда.
JavaScript
JavaScript является популярным языком среди веб-разработчиков, который породил несколько фреймворков, упрощающих ваш код. Фреймворки улучшает возможность проверки данных на стороне клиента, чтобы гарантировать отсутствие уязвимостей, которые могут быть найдены в вашем веб-приложении.
Тот факт, что JavaScript не компилируется напрямую, а работает в браузере, делает его действительно быстрым. Неправильно написанные программы могут быть использованы злоумышленниками, которые внедряют вредоносный код в приложение, которое запускается в браузере жертвы. Чтобы обеспечить защиту компьютеров, пользователи отключают JavaScript в своих браузерах, для предотвращения утечки данных.
Особенности:
- Регулярные обновления.
- Объектно-ориентированное программирование.
- Доступ к нескольким фреймворкам.
- Используется как для программирования на стороне сервера, так и на стороне клиента.
- Функция проверки данных.
- Совместим с несколькими языками программирования.
После выпуска ECMAScript 6 и популярных фреймворков, таких как Angular, Node, Express и React, использование JavaScript для программирования как на стороне сервера, так и на стороне клиента стало обычным явлением. Многие стартапы теперь используют JavaScript для создания динамических веб-страниц, которые являются безопасными и быстрыми. Популярные сайты, такие как eBay, PayPal и Uber, разрабатываются с использованием JavaScript.
Python
Логотип Python
Казалось бы, Python возник из неоткуда и резко затронул всё IT-сообщество. На данный момент это первый по популярности язык на GitHub. Главная особенность Python это то, что на нем можно писать всё, что угодно. Это может быть серверная часть или машинное обучение. Если вы ищите, что именно выбрать, хорошенько посмотрите в сторону Python. Считается достаточно простым в обучении. У нас есть статья, в которой мы сравниваем Python или Java? Если вам интересно, вы можете почитать и её.
Платформа | Веб-разработка, серверная часть, программное обеспечение |
Обучение | Легок в освоении |
Популярность | Очень популярен. №1 в списке PYPL. |
Средняя зарплата (мес) | 2000$ |
Преимущества | Определенно язык будущего! Его универсальность позволяет применять знания в любой области. Веб-разработка, создание игр, создание программного обеспечения. |
Недостатки | Говорят, что с питона тяжелее переходить на другие языки. |
Реестр аппаратного импортозамещения Минпромторга
Как сообщил CNews в декабре 2020 г., согласно постановлению Правительства №2013 от 3 декабря 2020 г. за подписью премьера Михаила Мишустина, с 1 января 2021 г. для госпредприятий России были введены обязательные нормы минимальной доли закупок товаров, работ и услуг отечественного происхождения – в том числе, российской радиоэлектроники.
Подконтрольная ВТБ ИТ-компания «Т1» запускает производство серверов в России
Согласно тексту постановления, российское происхождение товара может быть подтверждено его включением в единый реестр российской радиоэлектронной продукции Минпромторга. На все компьютеры в 2021 г. для госпредприятий документом введена квота импортозамещения не менее 50% от всего объема закупки, при этом на 2022 г. квота повышается до 60%, на 2023 г. – до 70%.
Аналогичные квоты введены на закупку ноутбуков и планшетов российского производства. На «запоминающие и прочие устройства хранения данных» российского производства стартовый порог установлен на более низком уровне: от 30% в 2021 г, от 40% в 2022 г. и от 50% в 2023 г.
Как рассказал ранее CNews, 28 августа 2021 г., Правительство России утвердило предложенное Минпромторгом постановление №1432, которое запрещает госорганам закупать для своих нужд зарубежное «железо», относящееся к основным видам вычислительной техники (код 26.20). Таким образом, теперь на госзакупках (по ФЗ-44) появился полный запрет в отношении импортных ПК, ноутбуков, планшетов, карманных компьютеров и серверов. Под запрет также попали микросхемы, смарт-карты и светильники.
В отношении остальной электроники госзаказчикам придется применять правило «второй лишний», которое, как поясняют в Минпромтоге, подразумевает отклонение заказчиком всех заявок на участие в закупке, где предлагается импортная продукция, если подана хотя бы одна заявка с предложением поставить отечественную электронику.
Под такие ограничения по линии вычислительной техники попадают мониторы, подключаемая к ПК или сети передачи данных кассовая техника и многофункциональные копиры. Из других категорий под запрет попадает коммуникационное оборудование, охранно-пожарные сигнализации, звуковая, навигационная и измерительная аппаратура, томографы, рентген-аппараты, эндоскопические комплексы, электрокардиографы и другие.
В конце августа 2021 г. CNews стало известно, что Правительство намерено обязать госкомпании внедрять российскую радиоэлектронику в сквозные проекты. Речь о закупках отечественных аппаратуры и комплектующих, а также вычислительной техники компаниями с госучастием. Соответствующий проект по поручению Правительства был разработан Минцифры.
В начале сентября 2021 г. CNews рассказал о разрабатываемом властями двухэтапном плане стимулирования спроса на российское оборудование в гражданском сегменте до 2030 г., целью которого является последовательное увеличение спроса на российскую радиоэлектронную продукцию (РЭП) и электронную компонентную базу (ЭКБ) в разы. Финальная реализация плана подразумевает достижение полного технологического суверенитета России и уход от зависимости от иностранных комплектующих.
На первом этапе, рассчитанном на период до 2024 г., планируется наращивание спроса за счет сквозных кросс-отраслевых проектов, одновременно с созданием и развертыванием производственных линий непосредственно в России. Целевой технологической задачей этого этапа является переход на российскую ЭКБ в изделиях отечественного производства.
Композитный ИИ: что это такое и зачем он нужен?
Искусственный интеллект
В рамках второго этапа, который продлится до 2030 г., планируется достижение устойчивого технологического суверенитета, в том числе, за счет полного ухода от применения иностранных компонентов благодаря запуску массового производства продукции на базе российской ЭКБ.
Мобильный разработчик
Что делает
Создает приложения для смартфонов, планшетов, часов, любых мобильных устройств. Он контролирует все этапы разработки: архитектуру, проверку, запуск в продакшн, выпуск обновлений, реализует интерфейс по заданному дизайну. Сейчас у мобильных разработчиков два пути развития: если есть Mac, то удобнее заниматься приложениями для iOS, если нет — Android.
Какие языки использует
Kotlin и Java — благодаря поддержке Google Kotlin стал официальным языком разработки приложений на Android. При этом работать на обоих языках можно в одном проекте: они совместимы, а Kotlin — это доработанная версия Java.
Swift — на Swift создают продукты для Apple: приложения для iOS, Mac, Apple Watch, Apple TV, они функциональны и удобны для пользователя.
Приложения пишут в интегрированной среде разработки Apple XCode, там собраны все необходимые инструменты для комфортной работы: можно и создавать интерфейс, и редактировать код, и проводить UI-тесты.
Профессия
Android-разработчик
Станьте мобильным разработчиком и запускайте собственные приложения и игры для самой популярной мобильной ОС в мире. Дополнительная скидка 5% по промокоду BLOG.
Узнать больше
Визуальный – не значит «медленный»
Взрослые, которые мало времени проводят с детьми, учащимися программировать на визуальных языках, часто предполагают, что программирование на визуальном языке происходит медленно. Медлительность ощущает взрослый человек, который сравнивает скорость разработки кода в визуальной среде с его скоростью набора кода в текстовой среде.
Но лишь немногие дети умеют печатать быстро, поэтому смотреть на их попытки писать текстовый код действительно тяжело. (Да, они должны научиться печатать, но это тема другой беседы.) Они также делают много опечаток: орфовизуальных ошибок, лишних пробелов.
Кроме того, большая часть времени, затраченного на программирование – это время размышлений. Мысли о том, чего вы хотите добиться от приложения и какой код для этого использовать, занимают больше часов, чем сама процедура ввода команд.
Data Scientist
Что делает
Специалист в области Data Science (науки о данных) строит на основе данных модели, которые помогают людям принимать решения в разных сферах. В бизнесе с их помощью можно оптимизировать маршрут транспорта, настроить ленту предпочтений пользователю в онлайн-кинотеатре, прогнозировать спрос на товар. С данными работают как в крупных компаниях и стартапах (например предсказывают и строят модели поведения клиентов), так и в научных организациях (например определяют растения по форме, цвету и текстуре листа).
Специалисты этой сферы работают со статистикой, прогнозированием, применяют различные методы машинного обучения. Data Scientist проверяет гипотезы, экспериментирует с алгоритмами машинного обучения, нейросетями, ищет в неструктурированных данных закономерности, чтобы предсказывать результаты, которые выведут бизнес на новый уровень или увеличат прибыль. Его деятельность направлена на будущее: в банковском деле он может оценить платежеспособность клиента; маркетологам построит модель следующего визита, чтобы покупатель скорее вернулся в магазин; в сфере развлечений проанализирует предпочтения клиента в кино или музыке.
Какие языки использует
Python — один из самых популярных языков в data science. У него простой синтаксис — это позволяет быстро освоиться в языке и не заниматься долгим изучением классов и структур, а сразу перейти к тренировке моделей.
У Python большое количество библиотек и фреймворков: для анализа данных дата-сайентисты работают с Pandas, с помощью библиотеки NumPy можно решать сложные системы уравнений (она автоматизирует вычисления с помощью множества математических функций), для машинного обучения пригодится Scikit-learn. В Matplotlib (библиотека для визуализации данных) проанализированные данные можно оформить в наглядные графики.
R — преимущество этого языка программирования в удобной визуализации данных. В R акценты сделаны на статистике, поэтому синтаксис там немного сложнее, чем у Python. В нем огромное количество библиотек, в том числе по машинному обучению (Caret, MLR, randomForest), мощные библиотеки по визуализации (Ggplot2, Esquisse, ggvis), по работе со строками (stringr) и манипуляции с данными (Dplyr, data.table).
Matlab — с его помощью можно достать данные из облачных хранилищ, предварительно их обработать, оформить результаты анализа в графиках с помощью среды Live Editor. Matlab сокращает время на обработку разных типов данных: от изображений до текста. При этом модели машинного обучения можно развертывать и на C или С++.
С/С++ — если Python обеспечивает простоту манипуляций с кодом, то они дают скорость. Операции имеют меньшее время отклика, что применяется, например, в поисковых системах или при разработке компьютерных игр. Также эти языки используют для того, чтобы писать на них библиотеки и фреймворки для работы с данными (например TensorFlow или Shark для машинного обучения).
Курс
Data Scientist с нуля
Получите самую востребованную профессию 2021 года. Вы научитесь выявлять закономерности в данных и создавать модели для решения бизнес-задач в крупных технологических компаниях. Промокод на дополнительную скидку 5% — BLOG.
Смотреть программу
SQL
SQL относится к универсальным языкам программирования, но является мощным предметно-ориентированным языком для управления реляционными базами данных. Способы его применения — от хранилищ данных Fortune 500 до встроенного SQLite — широко используются в десктопных и мобильных приложениях. На многих позициях в ИТ и разработке необходимо хотя бы базовое знание SQL. Расширенные навыки позволяют разработчику создавать чрезвычайно безопасные и надежные правила предметной области, не зависящие от языка программирования или используемого SDK. Высокопрофильные реализации включают в себя Microsoft SQL Server, Oracle Database и PostgreSQL. Каждая из них обладает уникальным расширением языка SQL и предлагает новые функции, выходящие за рамки базовой спецификации SQL. Изучение SQL не займет много времени и пригодится во многих областях от аналитики и обработки данных до управления в сфере ИТ и разработки программного обеспечения.
Области применения: работа с реляционными данными, встраивание данных в приложения.
По зарплатам программистов
Отсортируем языки программирования по средней зарплате программистов.
Специализация | Средняя зарплата, руб. | Медианная зарплата, руб. | Количество вакансий с указанной зарплатой |
---|---|---|---|
программист Erlang | 259000.0 | 264600.0 | 5 |
программист Golang | 251000.0 | 257776.0 | 147 |
программист TypeScript | 251000.0 | 256469.0 | 49 |
программист Ruby | 251000.0 | 253061.0 | 99 |
программист Java | 251000.0 | 250854.0 | 765 |
программист Perl | 250000.0 | 250000.0 | 7 |
программист Elixir | 233000.0 | 248333.0 | 6 |
программист IOS | 221000.0 | 235580.0 | 338 |
программист Kotlin | 221000.0 | 231418.0 | 134 |
программист Android | 201000.0 | 223235.0 | 408 |
программист Scala | 199000.0 | 209154.0 | 26 |
программист JavaScript | 195000.0 | 206857.0 | 695 |
программист Python | 199000.0 | 198530.0 | 576 |
программист Rust | 179000.0 | 194200.0 | 5 |
программист C++ | 155000.0 | 182075.0 | 436 |
программист C# | 151000.0 | 165010.0 | 524 |
программист PHP | 151000.0 | 162913.0 | 1381 |
программист C++ (QT) | 151000.0 | 161800.0 | 40 |
программист Dart | 151000.0 | 147333.0 | 12 |
программист Delphi | 131000.0 | 129329.0 | 38 |
программист ABAP | 67000.0 | 127842.0 | 19 |
программист 1С | 119000.0 | 126476.0 | 2692 |
программист микроконтроллеров | 111000.0 | 123612.0 | 85 |
программист ЧПУ | 79000.0 | 81800.0 | 100 |
программист (стажёр) | 39000.0 | 46322.0 | 239 |
Java
Кому подходит: тем, кто хочет штурмовать корпорации или разрабатывать универсальный софт для разных платформ.
Средняя зарплата на начало 2021 года: 151 тысяча (в прошлом году — 134 тысячи).
Преимущество Java в том, что код можно запустить почти на любом железе, где есть поддержка JVM – виртуальной машины Java:
- кнопочные мобильные телефоны;
- смартфоны;
- компьютеры почти с любым процессором и любой операционной системой;
- микроконтроллеры и встраиваемые устройства (например, контроллер для автоматического открывания ворот);
- телевизоры, микроволновки и другая умная техника.
Большие корпорации любят Java за надёжность, долгий срок поддержки программ для разработки и совместимость со старыми версиями. Если вы хотите писать корпоративный софт и получить стабильную работу надолго — берите Java. Этот язык настолько проник во все сферы жизни, что потребуются десятилетия, прежде чем его заменят на что-то более простое и современное.
Swift
Сложность: философия языка — простота и производительность, так что у него понятный, логичный и удобный синтаксис. В нем легко разбираться, если у вас уже есть база из высокоуровневых языков, но и без нее все не так сложно.
Профессии: iOS-разработчик
Продукты: Safari, Procreate, Kickstarter, VSCO
На Swift создают продукты для экосистемы Apple: приложения для iOS, Mac, Apple Watch, Apple TV. В этом его преимущество и недостаток. С одной стороны, разработчики на iOS востребованы, их немного, поэтому можно будет быстро найти работу. С другой стороны, приложения сильно завязаны на своей экосистеме, и на других платформах они работают с трудом, на костылях. При этом делать функциональные и красивые приложения на Swift — проще. Разрабатывая их, вы будете сталкиваться и с UI-дизайном, и с дополненной реальностью. Swift многое взял из языка Objective-C, поэтому не лишним будет знакомство и с ним, чтобы в дальнейшем развиваться в направлении разработок для iOS.
Обычно продукты Apple закрыты для сообщества, но у Swift открытый исходный код, что полезно как языку, так и .
Курс
iOS-разработчик
За 1 год обучения по 8 часов в неделю вы освоите навыки iOS-разработчика и соберете портфолио проектов. Дополнительная скидка 5% по промокоду BLOG.
Узнать больше
Немного истории, чтобы быть в теме
Первым языком программирования считается язык Ады Лавлейс. Она была дочерью поэта Джорджа Гордона Байрона, красавицей, судя по портретам, математиком и первым программистом в истории. В 1842 году она написала программу для первого компьютера Беббиджа. Компьютер был с паровым двигателем. По сравнению с сегодняшним уровнем развития IT (в результате коллективных усилий нескольких поколений программистов-ученых, программистов-специалистов и бизнес-комьюнити), это были примитивный язык и компьютер, но притом гениальные изобретения, технологический прорыв человечества.
Языки программирования эволюционируют. В середине 50-х появились высокоуровневые языки. (Это означает, что они оперируют абстрактными описаниями структуры данных и операций с ними. Программа транслятор в дальнейшем переводит их на язык компьютера, то есть в машинный код.) Дальше у языков программирования появлялись языки-последователи, а программисты-ученые создавали современные парадигмы языков программирования. В 90-х появились языки, позволяющие создавать веб-сценарии. Сейчас языки программирования тоже развиваются – в направлениях безопасности, модульной организации кода, интеграции с базами данных и надежности.