Настольные приложения или десктоп
Это может быть десктоп-версия мобильного приложения. Например, мессенджер Viber. Или сервис видеозвонков Skype, созданный во времена, когда приложения для мобильных устройств ещё не были так популярны. И вообще любые программы для повседневных задач, которые можно запустить с ноутбука или компьютера.
Для Windows пишут на C++, C# и Java.
Для Mac OS — Objective-C.
Для разработки под Linux пишут на C и C++.
Разработка игр или геймдев
Чтобы создавать игры, нужно не просто играть в них, а понимать особенности их создания. Этим геймдев отличается от других направлений, и его выделяют в отдельную категорию.
Мобильные игры под Android пишут на Java и C++, под IOS — Swift и Objective-C.
Так одна из самых успешных игр в мире — Minecraft написана на языке Java, но специально для Android переписана на C++.
Ещё для создания игр используют специальные игровые движки типа Unity (C# и Java Script) и Unreal Engine (C++).
Большие данные
Социальные сети и средства массовой информации задумались, как эффективно использовать данные, годами копившиеся в серверных хранилищах и продолжающие поступать. Большие объемы данных позволяют выяснить, как пользователь взаимодействует с сервисами, моделировать ситуации и делать прогнозы.
В России рынок Big Dataтолько формируется, но банки и телекоммуникационные компании уже проявили большой интерес. Появилась новая профессия — дата-аналитик. Существуют языки программирования типа R, разработанные специально для работы с большими объемами данных. Ещё используют Python, C, Java и Scala.
Big Data в исследовании компании МегаФон и института «Стрелка».
C
С — один из первых языков программирования, ставших популярными и используемыми до сих пор. Создан Деннисом Ритчи в 1972 году в Bell labs и стал основой для других языков: C++, Java, C#, JavaScript и Perl.
90% ядра системы UNIX написано на С
Автор Деннис Ритчи программист лаборатории американской корпорации AT&T (Американ телефон и телеграф) .
Цель: язык системного программирования
Преимущества: язык высокого уровня; имеет низкоуровневые средства.
C++
Язык С был хорош, но ему не хватало объектно-ориентированности. В 1983 году был создан более мощный язык C++, который часто называют объектно-ориентированной версией C. C++ — самый используемый императивный язык в мире. Его используют для создания удивительных приложений; браузеры Google Chrome, Mozilla Firefox, музыкальный проигрыватель Winamp и продукты Adobe написаны на языке C++.
C++ также используется для создания игр для смартфонов и приложений. На рынке труда C++ разработчики очень востребованы и число вакансий постоянно растёт.
Java
Java сочетает в себе С и С++ и является наиболее мощным языком для создания кроссплатформенных приложений. Java, отметивший недавно 20-летие, стал первым полностью объектно-ориентированным языком программирования,который работает по принципу «Write Once, Run Anywhere». Вы можете скомпилировать исходный код Java однажды и запускать его на любом устройстве с установленной JVM (виртуальной машиной Java)
Java является одним из самых популярных языков для бэкэнд-разработки современных корпоративных веб-приложений. С Java и основанными на нём фреймворками разработчики могут создавать масштабируемые веб-приложения для широкого круга пользователей. Java — также основной язык, используемый для разработки родных Android-приложений для смартфонов и планшетов.
C#
C# — представитель семьи языков программирования Microsoft. Он был создан в 2000 году как часть платформы Microsoft .Net framework. В использовании C# очень близок к Java, хотя говорили, что C# сочетает надёжность C++ с продвинутыми характеристиками Java. На языке C# можно создать практически все типы приложений для большинства платформ.
Фреймворк (англ. framework — каркас, структура) — программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта.
Objective C
Бред Кокс и Том Лав создали Objective C в 1983 году, стремясь исправить недостатки C. Этот язык является основным для создания приложений для iOS и OS X. Objective C-программисты в основном задействованы в разработке под эти крайне популярные платформы, что гарантируют востребованность на рынке труда и высокую зарплату.
JavaScript
При простом синтаксисе JavaScript может выполнять более сложные функции. Это идеальный скриптовый язык, простой для освоения. Программный код работает в браузерах и обрабатывает команды на компьютере клиента, а не на сервере, снижая таким образом нагрузку на сервер и увеличивая скорость работы приложения.
Каждый современный сайт использует JavaScript. Это ключевой язык для создания интерактивности сайта или построения пользовательских интерфейсов с одним из десятка популярных JavaScript-фреймворков.
Браузер, когда видит <script>:
· Начинает отображать страницу, показывает часть документа до script
· Встретив тег script, переключается в JavaScript-режим и не показывает, а исполняет его содержимое.
· Закончив выполнение, возвращается обратно в HTML-режим и только тогда отображает оставшуюся часть документа.
Python
Гвидо ван Россум создал Python в 1991 году. Это ещё один высокоуровневый язык программирования и одновременно самый простой для изучения благодаря минимализму, читабельности и понятному синтаксису. Google развивал Python около 10 лет и всё ещё запускает проекты с использованием этого скриптового языка.
Python может сделать почти всё вышеперечисленное. Веб-приложения, пользовательские интерфейсы, анализ данных, статистика — для какой бы задачи вам не предстояло найти решение, в Python, скорее всего, найдётся подходящий фреймфорк. Совсем недавно учёные пришли к выводу, что Python модно использовать в качестве основного инструмента для обработки гигантских объёмов данных практически в любой отрасли.
SQL
SQL — аббревиатура от Structured Query Language. Это язык запросов к базам данных, который предоставляет формальный способ взаимодействия с базой данных приложения. SQL очень прост в изучении и близок к английскому языку по синтаксису.
Visual Basic
Ключевой язык .NET-платформы, Visual Basic позволяет создавать приложения для поддержки бизнеса, а также автоматизировать мощные приложения MSOffice.
Штефан Цукерман, программист:
«Если вы умеете правильно организовывать данные, совершенно не важно, каким языком вы владеете. Есть три тесно связанные вещи, которые вам нужно знать:
1. Основные структуры данных и алгоритмы (связные списки, хеш-таблицы, сбалансированные и другие деревья поиска, очереди и кучи);
2. Моделирование данных, полученных из реального мира (понимание логики уже выстроенных моделей, умение работать со стандартными и сторонними библиотеками);
3. Любой язык программирования, который вам удобен. Если вы хорошо знаете язык и можете показать это на деле, то сможете на этом много заработать. Если вы хорошо освоите какой-нибудь язык, то сможете выучить любой другой.