Меню

Главная
Случайная статья
Настройки
Леммель, Ральф
Материал из https://ru.wikipedia.org

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

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

Среди самых широко цитируемых работ Леммеля — статья с объяснением модели распределённых вычислений MapReduce[6]. Вместо используемого в Google языка Sawzall[англ.] он продемонстрировал возможности типизации, абстракции, распараллеливания и агрегации для более популярного языка 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].

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

Примечания
  1. 1 2 3 CV/Bio Ralf Lmmel: Short bio; Long bio Архивная копия от 22 марта 2016 на Wayback Machine.
  2. Most prolific dblp authors Архивная копия от 29 апреля 2017 на Wayback Machine.
  3. Ralf Lmmel на Google Scholar.
  4. Ralf Lmmel на Mathematics Genealogy Project.
  5. Ralf Lmmel, Functional meta-programs towards reusability in the declarative paradigm Архивная копия от 6 октября 2016 на Wayback Machine, Shaker Verlag, 1999, ISBN 3-8265-6042-6.
  6. Ralf Lmmel, Google’s MapReduce programming model — Revisited. Sci. Comput. Program. 70(1): 1-30 (2008).
  7. Ralf Lmmel, David Saile, MapReduce with Deltas Архивная копия от 7 октября 2016 на Wayback Machine, PDPTA 2011.
  8. Ralf Lmmel, Simon L. Peyton Jones, Scrap your boilerplate: a practical design pattern for generic programming. TLDI 2003: 26-37.
  9. Simon L. Peyton Jones, Ralf Lmmel, Scrap Your Boilerplate. APLAS 2003: 357.
  10. Ralf Lmmel, Simon L. Peyton Jones, Scrap more boilerplate: reflection, zips, and generalised casts. ICFP 2004: 244—255.
  11. Ralf Lmmel, Simon L. Peyton Jones, Scrap your boilerplate with class: extensible generic functions. ICFP 2005: 204—215.
  12. Ralf Lmmel, Scrap your boilerplate with XPath-like combinators. POPL 2007: 137—142.
  13. Ralf Lmmel, Scrap your boilerplate: prologically! PPDP 2009: 7-12.
  14. Paul Klint, Ralf Lmmel, Chris Verhoef, Toward an engineering discipline for grammarware. ACM Trans. Softw. Eng. Methodol. 14(3): 331—380 (2005).
  15. Dragan Gasevic, Ralf Lmmel, 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 Lmmel, Andreas Winter, Editorial — Software language engineering. IET Software 2(3): 161—164 (2008).
  17. Jean-Marie Favre, Dragan Gasevic, Ralf Lmmel, 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 Lmmel, Martin Leinberger, Thomas Schmorleiz, Andrei Varanovich, Linking Documentation and Source Code in a Software Chrestomathy. WCRE 2012: 335—344.
  19. Ralf Lmmel: Software chrestomathies. Sci. Comput. Program. 97: 98-104 (2015).
  20. Jean-Marie Favre, Ralf Lmmel, 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 Lmmel. Software Languages. — 2018. — doi:10.1007/978-3-319-90800-7.
  24. 1 2 Krzysztof Czarnecki, J. Nathan Foster, Zhenjiang Hu, Ralf Lmmel, Andy Schrr, James F. Terwilliger, Bidirectional Transformations: A Cross-Discipline Perspective. ICMT 2009: 260—283
Downgrade Counter