Иерузалимски, Роберту
Роберту Иерузалимски (порт. 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 (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, Роберту Иерузалимски играл ключевую роль в его развитии, принимая архитектурные решения и сохраняя его концептуальную целостность[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