Чем балерина отличается от других языков?

Балерина - это универсальный, параллельный и строго типизированный язык программирования с текстовым и графическим синтаксисами для лучшей интеграции

  1. Балерина - это интерпретируемый язык?
  2. Как строить программы для балерины? Нужно ли устанавливать Ballerina Home или другие системные переменные?
  3. Как Балерина поддерживает управление зависимостями? Есть ли рекомендуемые инструменты для сборки?
  4. Какие задачи рекомендуется делать с балериной? Это подходит только для выполнения конкретной задачи, такой как интеграция различных систем?
  5. Где я могу найти спецификацию языка и какие типы поддерживаются в Ballerina?

4 ответа

Решение
  1. Балерина - это интерпретируемый язык?

Балерина - это скомпилированный язык программирования. Он компилируется в не зависящую от платформы двоичную форму, которая затем интерпретируется средой исполнения Ballerina.

  1. Как строить программы для балерины? Нужно ли устанавливать Ballerina Home или другие системные переменные?

Не существует понятия системной переменной, когда речь идет о балерине. Загрузите и установите специальный установщик для ОС по https://ballerina.io/downloads/.

Запуск балеринских программ

использование ballerina run Команда для компиляции и запуска программ Ballerina.

$ ballerina run hello.bal
Hello, World!

использование ballerina build команда для создания статически связанного исполняемого двоичного файла с расширением "balx". Тогда используйте balerina run запустить программу.

$ ballerina build hello.bal
$ ls 
hello.bal hello.balx
$ ballerina run hello.balx
Hello, World!
  1. Как Балерина поддерживает управление зависимостями? Есть ли рекомендуемые инструменты для сборки?

Программа "Балерина" обычно состоит из нескольких пакетов "Балерина". Пакет представляет собой набор исходных файлов. Он определяет пространство имен, и символы во всех исходных файлах в пакете принадлежат этому пространству имен. Если вы хотите сослаться на символ, определенный в другом пакете, вам необходимо сначала импортировать этот пакет, а затем вы можете обратиться к символу с именем пакета.

Когда вы хотите выполнить или собрать программу Ballerina, Ballerina разрешает все ваши пакеты импорта, используя каталог вашей программы, встроенный репозиторий (дистрибутив Ballerina содержит весь пакет базовой библиотеки, а также некоторые сторонние пакеты коннекторов) или репозиторий Ballerina. каталог. Репозиторий Ballerina - это локальный репозиторий, доступный на вашем компьютере.

Мы разработаем инструменты для управления хранилищем Ballerina в будущем.

Балерина интерпретируется?

Балерина составляется и затем интерпретируется.

Как строить программы для балерины? Нужно ли устанавливать Ballerina Home или другие системные переменные?

Вы можете использовать текстовый редактор, который вы предпочитаете, или некоторые IDE (в настоящее время baallerina поддерживает vim,IDEA, возвышенный Text3,VCS и Atom), чтобы написать программу для балерины. Когда у вас есть исходный файл bal. Вы можете либо упаковать его в архив (библиотека, служба или основной), либо просто запустить один файл bal. например ballerina run main <path to bal path> (or you can give the path to archive)или же ballerina run service <path to archibe (or you can give the path to archive .bsz)>

Вам не нужно ставить балерину домой. Это будет установлено самой балериной. Но вам нужно установить JAVA_HOME

Как Балерина поддерживает управление зависимостями? Есть ли рекомендуемые инструменты для сборки?

Это очень похоже на язык Go, обратитесь к документации для получения дополнительной информации.

Какие задачи рекомендуется делать с балериной? Это подходит только для выполнения конкретной задачи, такой как интеграция различных систем?

Если ваша программа содержит около 80% или более сценариев интеграции, то Балерина была бы отличным кандидатом для этого. Но если доля интеграции намного меньше (< 20%), то вы можете подумать о другом. Если доля варьируется, вы можете принять решение в зависимости от вашего варианта использования.

Где я могу найти спецификацию языка и какие типы поддерживаются в Ballerina?

Пожалуйста, обратитесь к местоположению Github и Ballerinalang для получения дополнительной информации.

Да, именно в этом и заключается цель - Балерина придет с хорошим пониманием того, что значит писать распределенные взаимодействия, которые, как ожидается, будут хорошо работать, действовать надежно и устойчиво и работать безопасно.

Мы не думали о потоках событий для соединителей для поддержки панели инструментов Hystrix, но сделаем это!

Первоклассное представление для службы и актеров прекрасно делает ее оптимальной для интеграции. Но с точки зрения разработчика - это всего лишь абстракции, которые вы можете легко реализовать многократно на любом современном языке. Поначалу это может показаться не таким уж большим делом. Но если присмотреться, балерина не только предоставляет эти абстракции OOTB, но и заботится о таких вещах, как производительность, чтобы разработчикам не приходилось беспокоиться об этих вещах. В частности, такие как пул HTTP-соединений, потоковая передача и многое другое. Например, Spring не обеспечивает пул соединений в своем OTB RestTemplate, и чаще всего разработчики не беспокоятся об этом, пока их приложение не работает очень плохо.

Балерина должна предоставить OOTB или применить все лучшие практики для интеграции, как это продается на рынке, и я надеюсь, что больше этих лучших практик будет добавлено в конкретном автоматическом выключателе. Было бы также неплохо, если бы мы могли получать потоки событий для соединителей, чтобы панель мониторинга netflix hystrix могла использоваться для мониторинга.

Другие вопросы по тегам