Хочу всё знать. Язык Red

Пока невоспетый герой.
14 июня 2017326451Илья Бубнов2897314

В 1997 году свет увидел REBOL — высокоуровневый язык для работы с мета-данными. С одной стороны, он достаточно прост для того, чтобы изучать его в школах и ВУЗах, так как синтаксис предельно понятный. Чтобы вы примерно представили удобство — из знаков препинания здесь используются только пробелы, а командные слова предельно близки к английскому языку. Взгляните на команду создания окна с кнопкой, которая по клику печатает выражение в консоль:

view layout [button “Push” [print “This Is GeekBrains”]]

Здорово, не правда ли?

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

Однако у него есть две существенные проблемы: он почти не развивается последние 10лет, а исходный код закрыт с 2010 года. Плюс, он не слишком дружен с низшими уровнями. Подхватить знамя REBOL, попутно поборов все недостатки, решил Ненад Ракоцевич, выпустив на его основе свой язык с красивым названием Red.

Отличия и преимущества

Основное отличие Red от REBOL - он компилируется в нативный код. Это обеспечивает существенный выигрыш в скорости без утяжеления синтаксиса. Синтаксис стал проще, но несущественно — кто работал с REBOL, без проблем переключится на Red.

Самое большое отличие — возможность работы с низкоуровневым кодом. Именно поэтому Red дополнительно охватывает работу с робототехникой и драйверами.

Еще одно отличие — работа с нативными виджетами и нативная поддержка GUI. Созданное c Red приложение будет органичнее смотреться в вашей ОС, нежели созданное с помощью REBOL.

В остальном же плюсы подхода аналогичны тем, что были у предшественника: простота, легковесность, универсальность, широкий спектр возможностей, работа с fullstack, кроссплатформенность и многое-многое другое.

Область применения

Разработчики заявляют, что возможности применения языка Red ограничены лишь временем. По факту же не всё столь радужно — пока реализована возможность кодирования в следующих областях:

  • интернет вещей;
  • скрипты;
  • графические интерфейсы;
  • обработка данных;
  • драйвера;
  • системное администрирование.

В перспективах значатся полноценная мобильная и веб-разработка. Последние работы направлены на улучшение работы с MS Office и VB, во всяком случае, этому взаимодействию уделено особое внимание в последней официальной записи блога.

Стадия выпуска

Несмотря на то, что Ненад Ракоцевич анонсировал выход первой полноценной версии языка ещё в прошлом году, на данный момент свет увидела лишь ревизия 0.6.2. Выпустить её мешает всё тот же анонс Ненада, согласно которому язык к официальному старту должен научиться работать с вебом, серверами, иметь модуль для создания 2D-игр. Не очень гладко пока обстоит дело с совместимостью с Linux и OS X, так как многие возможности урезаны. Однако работа ведется активная, последить за её ходом можно в режиме реального времени.

Перспективы

Если разработчики за короткое время создадут fullstack-язык, на котором можно реализовать все уровни взаимодействия, то при должной медиа- и финансовой поддержке он может стать одной из самых заметных сил программирования в 2020-х. Если не хватит энтузиазма или конкуренты за это время реализуют похожую концепцию — Red рискует навсегда затеряться на просторах интернета.

Как оно будет — посмотрим.