Иерузалимски, Роберту

Роберту Иерузалимски (порт. Roberto Ierusalimschy; ʁoˈbɛʁtu jeɾuzaˈlĩski) — один из основных создателей языка программирования Lua, автор руководств по этому языку[1]. Известен также как популяризатор грамматик, разбирающих выражение (англ. Parsing Expression Grammar, PEG) в качестве формализма, работающего поверх специальной структуры из регулярных выражений.

Профессор (Professor Titular) факультета информатики Католического университета Рио-де-Жанейро[2][3], где координирует лабораторию LabLua, занимающуюся развитием языка Lua[4].

Общие сведения
Роберту Иерузалимски
Roberto Ierusalimschy
Дата рождения 21 мая 1960(1960-05-21) (65 лет)
Место рождения
Страна Бразилия
Научная сфера Информатика
Место работы Католический университет Рио-де-Жанейро
Образование
Учёная степень доктор философии (PhD)
Учёное звание профессор
Научный руководитель Карлос Хосе Перейра де Лусена
Ученики Вальдемар Селес
Известен как создатель Lua
Награды и премии Премия «За научные заслуги» от SBC (2013)
Медаль Педро Эрнесто (2022)
Сайт inf.puc-rio.br/~roberto

Биография

Родился 21 мая 1960 года в Рио-де-Жанейро[5] в семье Хосе Давида и Иды Иерузалимски. Гражданин Бразилии.

Всё высшее образование получил на факультете информатики Католического университета Рио-де-Жанейро (PUC-Rio). В 1982 году получил степень бакалавра, в 1985 — магистра, а в 1990 году защитил диссертацию на звание доктора философии (PhD) по информатике. Научным руководителем его докторской диссертации был Карлос Хосе Перейра де Лусена. С октября 2023 года занимал должность профессора (Professor Titular) на том же факультете.

В 1992 году работал научным сотрудником в университете Ватерлоо.

В 1993 году в ходе выполнения заказа Petrobras на программное обеспечение совместно с коллегами разработал язык программирования Lua, который принёс ему известность. В течение всех лет деятельности активно работал над усовершенствованием Lua и его реализаций. В частности, работал по гранту от Microsoft Research на развитие Lua.Net и по гранту FINEP для развития библиотек для Lua.

В 1997 году Иерузалимски тренировал команду Католического университета для олимпиады по программированию ACM среди южноамериканских студентов, занявшую первое место[6].

Также работал в качестве приглашённого исследователя в Международном институте информатики в Беркли в 1994 году, в Институте компьютерной архитектуры и программного обеспечения имени Фраунгофера в Берлине в 1997 году и Иллинойсском университете в Урбана-Шампейне в 2002 году. Зимой 2012 года приглашён по стипендии Тинкеровского фонда (англ. The Tinker Foundation) в качестве профессора в Центре латиноамериканских исследований (Center For Latin American Studies) Стэнфордского университета[7].

В интервью австралийской редакции журнала Computerworld назвал в качестве основных языков программирования, с которыми он работает, Си и созданный им язык Lua, также указал на опыт программирования на Фортране, Mumps, Сноболе, Smalltalk, Scheme, Паскале, C++ и языках ассемблера для различных машин[8].

Научная деятельность

Вклад в язык Lua

Как главный архитектор языка Lua, Роберту Иерузалимски играл ключевую роль в его развитии, принимая архитектурные решения и сохраняя его концептуальную целостность[9]. Разработка велась в составе основной команды, куда также входили Вальдемар Селес и Луиш Энрике ди Фигейреду[10].

Под его руководством была выпущена версия Lua 5.3 (2015), в которой появились значительные нововведения: 64-битный целочисленный тип данных, стандартные побитовые операторы и базовая поддержка UTF-8 через новую библиотеку `utf8`[11]. Иерусалимски также полностью обновил своё руководство «Programming in Lua», выпустив четвёртое издание, соответствующее изменениям в версии 5.3[12].

Он продолжил свою работу в качестве одного из главных архитекторов при создании текущей стабильной версии Lua 5.4[13]. Иерусалимски также являлся центральной фигурой в разработке следующей версии, Lua 5.5 (на 2025 год находилась в стадии бета-тестирования), где под его руководством были спроектированы такие изменения, как новое ключевое слово `global` для явного объявления глобальных переменных, улучшенная работа с памятью для массивов, функция `table.create` для предварительного выделения памяти и постепенное выполнение циклов сборки мусора[14].

Проекты и гранты

Роберту Иерузалимски руководил исследовательской лабораторией LabLua при Католическом университете Рио-де-Жанейро, которая специализировалась на исследованиях в области языков программирования с основным фокусом на Lua. Под его руководством лаборатория неоднократно принимала участие в программе Google Summer of Code, в частности в 2015, 2016, 2017, 2018, 2019, 2020 и 2021 годах[15].

Его исследовательская деятельность поддерживается грантами. Он является обладателем гранта на продуктивность от Национального совета по научно-техническому развитию Бразилии (CNPq) уровня 2. Ранее его работа финансировалась по гранту от Microsoft Research для развития проекта Lua.Net, а также по гранту от бразильского Финансирующего агентства исследований и проектов (FINEP) для разработки библиотек для Lua.

Публикации и выступления

В 2024 году Роберту Иерузалимски в соавторстве с Ноэми Родригес опубликовал статью «Compact Representations for Arrays in Lua» («Компактные представления массивов в Lua») на 28-м Бразильском симпозиуме по языкам программирования (SBLP)[16]. В ноябре того же года он принял участие в подкасте «Fronteiras da Engenharia de Software» («Рубежи инженерии программного обеспечения»), где обсуждалось влияние языка Lua[17]. Также в 2024 году он входил в состав программных комитетов конференций SLE (Software Language Engineering) и SPLASH (Systems, Programming, Languages, and Applications: Software for Humanity)[18].

На 2025 год запланирован выход статьи «The evolution of Lua, continued» («Эволюция Lua, продолжение»), написанной совместно с Луисом Энрике де Фигейреду и Вальдемаром Селесом[19], и электронной книги «Lua Programming Language (2025)»[20]. В октябре 2025 года Иерузалимски заявлен как докладчик на 37-м Симпозиуме по реализации и применению функциональных языков (IFL 2025) с темой «Functions in Lua» («Функции в Lua»)[21]. Кроме того, он вошёл в программный комитет конференции MPLR (Managed Programming Languages and Runtimes) 2025 года[22].

Руководство и ученики

За свою академическую карьеру Роберту Иерузалимски руководил защитой 15 магистерских и 3 докторских (PhD) диссертаций. Одним из его учеников стал Вальдемар Селес, который под руководством Иерусалимски защитил докторскую диссертацию и впоследствии стал одним из соавторов языка Lua.

Среди других его учеников — Диего Нехаб (Diego Nehab), автор библиотек LuaSocket и LuaThreads; Андре Каррегал (André Carregal), автор нескольких публикаций, связанных с Lua; и Габриэль Коутиньо де Паула (Gabriel Coutinho de Paula), защитивший магистерскую диссертацию «A Foreign Function Interface For Pallene» в 2021 году[23]. Иерузалимски также входил в комиссию при защите докторской диссертации Андре Мурбака Майлда (André Murbach Maidl) «Typed Lua: An Optional Type System for Lua» в 2015 году.

Награды и признание

  • 2013 — Премия «За научные заслуги» (порт. Prêmio de Mérito Científico) от Бразильского компьютерного общества (SBC). Награда была присуждена в знак признания высокого качества его научной деятельности, в частности за разработку и поддержку языка программирования Lua.
  • 2022 — Медаль Педро Эрнесто (порт. Medalha Pedro Ernesto), присуждаемая лицам и организациям муниципалитета Рио-де-Жанейро за выдающиеся заслуги перед обществом.
  • Звание «Выдающийся спикер» (англ. Distinguished Speaker) от Ассоциации вычислительной техники (ACM) в знак признания его роли в компьютерном сообществе[24].

Примечания

Литература

  • Федерико Бьянкуцци, Шейн Уорден. Глава 7. Lua // Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования = Masterminds of Programming: Conversations with the Creators of Major Programming Languages. — Символ, 2011. — С. 211—230. — 608 с. — 1500 экз. — ISBN 9785932861707.
  • Интервью Иерузалимски для Computerworld о языке Lua