Хочу всё знать. Язык Red
В 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 рискует навсегда затеряться на просторах интернета.
Как оно будет — посмотрим.