Леммель, Ральф

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Ральф Леммель
Ralf Lämmel
Ral fLaemmel.jpg
Дата рождения 1968[1]
Место рождения
Страна Германия
Научная сфера информатика
Место работы Ростокский университет
Центр математики и информатики
Свободный университет Амстердама
Microsoft
Университет Кобленца-Ландау[de]
Facebook
Альма-матер Ростокский университет
Учёная степень доктор философии
Учёное звание профессор
Научный руководитель Гюнтер Ридевальд

Ральф Леммель — немецкий учёный, профессор Университета в Кобленце и Ландау[de], декан факультета информатики[2]. Входит в список самых плодовитых авторов научных статей по версии DBLP как имеющий более 160 опубликованных работ[3]. Индекс Хирша — 39[4].

Ральф Леммель защитил диссертацию на соискание степени доктора-инженера по теме «Функциональные метапрограммы в помощью повторному использованию в рамках декларативной парадигмы»[5][6] в 1999, и позже в том же году переехал в Нидерланды, где проработал несколько лет в различных научно-исследовательских организациях. В 2005 Леммель перешёл работать в Microsoft, где занимался НИОКР в области XML-технологий[2]. После 2007 года вернулся в Европу, где занял позицию профессора в небольшом немецком университете, на которой и работает (на 2016 год).

Среди самых широко цитируемых работ Леммеля — статья с объяснением модели распределённых вычислений MapReduce[7]. Вместо используемого в Google языка Sawzall[en] он продемонстрировал возможности типизации, абстракции, распараллеливания и агрегации для более популярного языка Haskell, а позже добавил и реализацию для Hadoop[8]. Ещё более известен предложенный Леммелем стиль функционального обобщённого программирования под названием «scrap your boilerplate» (SYB, приблизительно переводится как «вычищение шаблонов»), которому посвящён целый ряд статей[9][10][11][12][13][14], написанных большей частью в соавторстве с Саймоном Пейтон-Джонсом, ведущим разработчиком языка Haskell. Задача, решаемая методикой SYB, заключается в том, что обход иерархических структур данных (например, деревьев), что часто встречаются в программировании, совершается однообразным кодом, который перебирает все возможные варианты на каждом уровне иерархии и продолжает обход в желаемом направлении. Если такого кода существенно больше, чем кода, относящегося к собственно центральному алгоритму, это отвлекает программиста и рассеивает его внимание. SYB предлагает набор полиморфных комбинаторов, скрывающих рутинный код обхода и позволяющий программисту сфокусировать внимание на более важных аспектах.

Леммель является соавтором некоторых терминов, получивших широкое признание и распространение в научном сообществе. Среди них: «грамматическое обеспечение» (grammarware, по аналогии с программным обеспечением)[15] как дисциплина создания грамматик, схем баз данных, систем типов и прочих компонент компилятора; «языковая инженерия» (software language engineering, по аналогии с программной инженерией)[16][17][18] как область научных исследований, изучающая языки программирования, моделирования, проектирования, спецификаций, разметки, описания аппаратуры или интерфейсов, предметно-ориентированные языки, языки запросов и т. п.; «хрестоматия программного обеспечения» (software chrestomathy)[19][20][21] как репозиторий, в котором в связанном друг с другом виде хранятся исходный код, документация, модели, архитектура, сценарии сборки, структуры данных и прочие компоненты. В 2009 году он стал одним из основателей конференции по языковой инженерии SLE (International Conference of Software Language Engineering)[2][22]. В 2018 году в издательстве Springer вышла его книга «Программные языки: синтаксис, семантика и метапрограммирование»[23][24].

Ральф Леммель был одним из учёных, заложивших основы общей теории двунаправленных преобразований[en] (англ. bidirectional transformation, bx)[25] и представлял там теорию языков программирования. Двунаправленные преобразования — это не всегда биективные отображения, двунаправленной может считаться любая пара преобразований, связанная определёнными законами. Например, представление получается из базы данных фильтрацией содержимого, но в некоторых системах изменения представления могут быть возвращены в исходную базу и применены к полному набору имеющихся там данных. Вклад Леммеля заключался в двунаправленных преобразованиях грамматик[25].

Примечания[править | править код]

  1. Немецкая национальная библиотека — 1912.
  2. 1 2 3 CV/Bio Ralf Lämmel: Short bio; Long bio.
  3. Most prolific dblp authors.
  4. Ralf Lämmel на Google Scholar.
  5. Ralf Lämmel на Mathematics Genealogy Project.
  6. Ralf Lämmel, Functional meta-programs towards reusability in the declarative paradigm, Shaker Verlag, 1999, ISBN 3-8265-6042-6.
  7. Ralf Lämmel, Google’s MapReduce programming model — Revisited. Sci. Comput. Program. 70(1): 1-30 (2008).
  8. Ralf Lämmel, David Saile, MapReduce with Deltas, PDPTA 2011.
  9. Ralf Lämmel, Simon L. Peyton Jones, Scrap your boilerplate: a practical design pattern for generic programming. TLDI 2003: 26-37.
  10. Simon L. Peyton Jones, Ralf Lämmel, Scrap Your Boilerplate. APLAS 2003: 357.
  11. Ralf Lämmel, Simon L. Peyton Jones, Scrap more boilerplate: reflection, zips, and generalised casts. ICFP 2004: 244—255.
  12. Ralf Lämmel, Simon L. Peyton Jones, Scrap your boilerplate with class: extensible generic functions. ICFP 2005: 204—215.
  13. Ralf Lämmel, Scrap your boilerplate with XPath-like combinators. POPL 2007: 137—142.
  14. Ralf Lämmel, Scrap your boilerplate: prologically! PPDP 2009: 7-12.
  15. Paul Klint, Ralf Lämmel, Chris Verhoef, Toward an engineering discipline for grammarware. ACM Trans. Softw. Eng. Methodol. 14(3): 331—380 (2005).
  16. Dragan Gasevic, Ralf Lämmel, Eric Van Wyk, Software Language Engineering, First International Conference, SLE 2008, Toulouse, France, September 29-30, 2008. Revised Selected Papers. Lecture Notes in Computer Science 5452, Springer 2009, ISBN 978-3-642-00433-9.
  17. Jean-Marie Favre, Dragan Gasevic, Ralf Lämmel, Andreas Winter, Editorial — Software language engineering. IET Software 2(3): 161—164 (2008).
  18. Jean-Marie Favre, Dragan Gasevic, Ralf Lämmel, Andreas Winter, Guest Editors' Introduction to the Special Section on Software Language Engineering. IEEE Trans. Software Eng. 35(6): 737—741 (2009).
  19. Jean-Marie Favre, Ralf Lämmel, Martin Leinberger, Thomas Schmorleiz, Andrei Varanovich, Linking Documentation and Source Code in a Software Chrestomathy. WCRE 2012: 335—344.
  20. Ralf Lämmel: Software chrestomathies. Sci. Comput. Program. 97: 98-104 (2015).
  21. Jean-Marie Favre, Ralf Lämmel, Thomas Schmorleiz, Andrei Varanovich, 101companies: A Community Project on Software Technologies and Software Languages. TOOLS (50) 2012: 58-74.
  22. SLE2008 — 1st International Conference on Software Language Engineering — Committees.
  23. The Software Languages Book
  24. Ralf Lämmel Software Languages. — 2018. — DOI:10.1007/978-3-319-90800-7.
  25. 1 2 Krzysztof Czarnecki, J. Nathan Foster, Zhenjiang Hu, Ralf Lämmel, Andy Schürr, James F. Terwilliger, Bidirectional Transformations: A Cross-Discipline Perspective. ICMT 2009: 260—283