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

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Ральф Леммель»)
Перейти к навигации Перейти к поиску
Ральф Леммель
Ralf Lämmel
Место рождения
Страна
Научная сфера информатика
Место работы
Альма-матер
Учёная степень доктор философии
Учёное звание профессор
Научный руководитель Гюнтер Ридевальд

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

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

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

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

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

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

  1. 1 2 3 CV/Bio Ralf Lämmel: Short bio; Long bio Архивная копия от 22 марта 2016 на Wayback Machine.
  2. Most prolific dblp authors Архивная копия от 29 апреля 2017 на Wayback Machine.
  3. Ralf Lämmel на Google Scholar.
  4. Ralf Lämmel на Mathematics Genealogy Project.
  5. Ralf Lämmel, Functional meta-programs towards reusability in the declarative paradigm Архивная копия от 6 октября 2016 на Wayback Machine, Shaker Verlag, 1999, ISBN 3-8265-6042-6.
  6. Ralf Lämmel, Google’s MapReduce programming model — Revisited. Sci. Comput. Program. 70(1): 1-30 (2008).
  7. Ralf Lämmel, David Saile, MapReduce with Deltas Архивная копия от 7 октября 2016 на Wayback Machine, PDPTA 2011.
  8. Ralf Lämmel, Simon L. Peyton Jones, Scrap your boilerplate: a practical design pattern for generic programming. TLDI 2003: 26-37.
  9. Simon L. Peyton Jones, Ralf Lämmel, Scrap Your Boilerplate. APLAS 2003: 357.
  10. Ralf Lämmel, Simon L. Peyton Jones, Scrap more boilerplate: reflection, zips, and generalised casts. ICFP 2004: 244—255.
  11. Ralf Lämmel, Simon L. Peyton Jones, Scrap your boilerplate with class: extensible generic functions. ICFP 2005: 204—215.
  12. Ralf Lämmel, Scrap your boilerplate with XPath-like combinators. POPL 2007: 137—142.
  13. Ralf Lämmel, Scrap your boilerplate: prologically! PPDP 2009: 7-12.
  14. Paul Klint, Ralf Lämmel, Chris Verhoef, Toward an engineering discipline for grammarware. ACM Trans. Softw. Eng. Methodol. 14(3): 331—380 (2005).
  15. 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.
  16. Jean-Marie Favre, Dragan Gasevic, Ralf Lämmel, Andreas Winter, Editorial — Software language engineering. IET Software 2(3): 161—164 (2008).
  17. 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).
  18. 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.
  19. Ralf Lämmel: Software chrestomathies. Sci. Comput. Program. 97: 98-104 (2015).
  20. 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.
  21. SLE2008 — 1st International Conference on Software Language Engineering — Committees Архивная копия от 9 февраля 2018 на Wayback Machine.
  22. The Software Languages Book. Дата обращения: 18 июля 2018. Архивировано 18 июля 2018 года.
  23. Ralf Lämmel. Software Languages. — 2018. — doi:10.1007/978-3-319-90800-7.
  24. 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