Когда люди задумываются о выборе компьютерного языка, они могут выбрать один из известных универсальных процедурных языков, изучаемых в школе, таких как C, Java или Python. Но эти часто выбираемые языки — лишь верхушка айсберга в области компьютерных языков: если он использует ключевые слова и структуры для передачи информации, то это язык. Ниже перечислены десять языков облачных вычислений, которые стоит рассмотреть.

1. Язык данных SQL

云计算编程语言

Когда речь заходит о языках данных, SQL уже несколько десятилетий является бесспорным властелином. Даже нереляционные серверы баз данных используют некоторую форму языка SQL. Как и любая другая область ИТ, сфера облачных вычислений также полна SQL.

Это шутка про SQL, над которой улыбнутся разработчики по всему миру. "Мужчина заходит в бар, видит две таблицы и говорит: 'Можно к вам присоединиться?'"

2. Язык данных XML

云计算编程语言

XML используется для описания документов, а не для передачи последовательности инструкций. Поскольку XML обычно не выдает компьютеру инструкций, его, как правило, не считают компьютерным языком.

XML — чрезвычайно популярный язык разметки данных, и это в основном объясняется Java. Везде, где есть Java, есть XML. А поскольку Java управляла крупномасштабными распределенными системами задолго до того, как облачные вычисления стали популярными, XML-документы встречаются повсюду. Конфигурации Apache Hadoop хранятся в XML-файлах.

3. R — математический язык

云计算编程语言

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

Amazon поставляет интегрированную среду разработки (IDE) RStudio вместе со своим сервисом EMR (Elastic MapReduce), чтобы помогать в анализе больших данных.

4. Clojure — математический язык

云计算编程语言

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

Система обработки потоковых данных в реальном времени Apache Storm написана на Clojure. Функциональные языки не требуют точек с запятой, а процедурные — требуют; видно, что в этом скрипте на Clojure точки с запятой используются только для комментариев (https://github.com/apache/storm/blob/master/storm-core/src/clj/backtype/storm/clojure.clj).

5. Haskell — функциональный язык

Haskell — функциональный язык, идеально подходящий для распределенных вычислений. Проект платформы Cloud Haskell был запущен несколько лет назад.

Несмотря на довольно высокий уровень внедрения Haskell в индустрии и его место в топ-20 языков на GitHub, его внедрение в облачных вычислениях было слабым — возможно, потому что Haskell считается слишком сложным для изучения. Вы можете убедиться в этом сами в руководстве Try Haskell.

6. Erlang — функциональный язык

云计算编程语言

Erlang родился в Ericsson. В телекоммуникационной отрасли продукты должны работать вечно, а всё (клиенты, контакты, транзакции и записи) исчисляется миллионами.

Функциональный язык операторского класса звучит идеально для облачных вычислений. На самом деле, хотя он не вошёл в топ-20 языков на GitHub, Erlang обеспечивает работу популярных облачных приложений, включая Riak, CouchDB, RabbitMQ и даже LING single-kernel.

7. Python — процедурный язык

云计算编程语言

Python — высокоуровневый язык, созданный так, чтобы его было легко читать. В наши дни почти каждый — более того, каждый — может быстро начать работать с Python. Учебные материалы включают курсы, книги и даже интерактивные руководства по Python.

OpenStack — популярное программное обеспечение для управления инфраструктурой как услугой (IaaS), и оно написано на Python. Взгляните на этот код Python для клиентского интерфейса Nova (https://github.com/openstack/python-novaclient/blob/master/novaclient/client.py).

8. Go — процедурный язык

云计算编程语言

Несколько лет назад Google разработала Go, когда некоторые из её программистов были изрядно разочарованы такими языками, как C++ Страуструпа. Google предоставляет интерактивное руководство по Go и Go Playground для работы с кодом.

Docker, любимец области облачных вычислений, написан на Go, как и многие другие проекты в экосистеме Docker.

9. GFM — предметно-ориентированный язык

云计算编程语言

GFM (GitHub Flavored Markdown) — это язык форматирования простого текста, который можно использовать для документирования программных репозиториев на GitHub. GFM используют миллионы разработчиков, потому что миллионы разработчиков используют GitHub.

Поскольку на GitHub так много облачных проектов, таких как Cloud Foundry, полезно знать GFM. Возможно, это самый простой для изучения из десяти языков, представленных в этой статье.

10. Предметно-ориентированный язык регулярных выражений

云计算编程语言

Синтаксис Regex заставляет новичков ломать голову, потому что он действительно символьный — только отдельные символы, а не ключевые слова. Код Regex выглядит так, будто кто-то заснул на клавиатуре. Если вы хотите навсегда отбить у себя желание использовать regex, взгляните на этот экстремальный пример: JSON-парсер (http://www.perlmonks.org/?node_id=995856).

Однако регулярные выражения — это краеугольный камень мира Linux. Один из основных принципов старой операционной системы UNIX и её производных Linux — широкое использование текста. Текст используется повсюду: в конфигурации, в командной строке и в протоколах. Регулярные выражения помогают разработчикам хорошо управляться с текстом.

Существуют также сотни других языков

Есть гораздо больше отличных языков на выбор. Уделите время чтению такой книги, как классическая книга 2010 года Seven Languages in Seven Weeks (https://pragprog.com/book/btlang/seven-languages-in-seven-weeks), которая даёт общее представление о нескольких языках, включая Prolog и Scala. Или вы можете выбрать собственное сочетание языков.

Источник: http://www.evget.com/article/2015/3/27/22249.html