Мы только что сделали первый выпуск журнала "onBoard" и там размещена моя статья о "языково-ориентированном программировании" (LOP). В этой статье излагаются основные принципы LOP и также кратко описывается система MPS, реализующая этот подход.
Today, ninety-nine percent of programmers think programming means writing out a set of instructions for the computer to follow.
Lisp macros or C++ templates are instructions for the compiler to follow.
As features are added to the language, it becomes increasingly difficult to add new extensions without making the language ambiguous. We would need to invent more types of brackets, operators, keywords, rules of ordering, nesting, etc.
Definitely not the case with Lisp or Scheme.
A good example of this today is an Excel spreadsheet. Ninety-nine percent of people don’t need to deal with the stored format at all, and there are always import and export features when the issue comes up. The only real reason we use text today is because we don’t have any better editors than text editors.
1) Collaborative work. Try storing an Excel file in CVS and running diffs (received by email) against it.
2) Platform neutrality and interoperability of tools.
3) People are very good at languages. I would be stumped to draw a graph of
( ... )
Мне кажется, что статейка сильно попорчена маркетингом :) Хорошо, конечно, объявить всему миру, что найдено наконец лекарство от всех бед, но на самом-то деле речь идет о вполне скромном построении удобного открытого и расширяемого внутреннего представления для Идеи. В глобальность и универсальность лично мне как-то не верится. За примерами далеко ходить не нужно.
The world already has a language ideally suited to "language oriented programming". It's called Common Lisp. And there are perfectly rational reasons why it isn't so widely used.
Вообще такое ощущение, что товарищи, комментирующие эту статью подразумевают то что им хочется. Товарищ _qwerty подразумевает внутреннее представление, а товарищ cousin_it замену макросам лиспу. Помоему LOP ни тем не другим не является :-)
Да, она является лишь слабым, убогим и с рождения ограниченным подобием и того и другого. Благо то и другое есть всего лишь две стороны одного и того же. На сегодняшний момент никакой разумной альтернативы тексту не существует. И нечего бояться парсеров.
First ACM/USENIX International Conference on Virtual Execution Environments (VEE'05)
joining ACM SIGPLAN IVME and USENIX VM, Sponsored by ACM SIGPLAN and USENIX in cooperation with ACM SIGOPS June 11-12, 2005, Chicago, Ill www.veeconference.org
Туда-сюда, то да сё,
Papers are solicited in areas including, but not limited to, the following: ... * Environment support for new languages features, domain specific languages ...
Program Committee: Steering Committee: Разные классики, среди которых я лично знаю и очень рекомендую: Ole Agesen, VMWare Hans Boehm, HP Labs Michal Cierniak, Microsoft Dave Detlefs, Sun Mario Wolczko, SUN Richard Jones, U. Kent Doug Lea, SUNY, Oswego Xavier Leroy, INRIA Mendel Rosenblum, Stanford Michael Smith, Harvard
Comments 20
Reply
Today, ninety-nine percent of programmers think programming means writing out a set of instructions for the computer to follow.
Lisp macros or C++ templates are instructions for the compiler to follow.
As features are added to the language, it becomes increasingly difficult to add new extensions without making the language ambiguous. We would need to invent more types of brackets, operators, keywords, rules of ordering, nesting, etc.
Definitely not the case with Lisp or Scheme.
A good example of this today is an Excel spreadsheet. Ninety-nine percent of people don’t need to deal with the stored format at all, and there are always import and export features when the issue comes up. The only real reason we use text today is because we don’t have any better editors than text editors.
1) Collaborative work. Try storing an Excel file in CVS and running diffs (received by email) against it.
2) Platform neutrality and interoperability of tools.
3) People are very good at languages. I would be stumped to draw a graph of ( ... )
Reply
Reply
The world already has a language ideally suited to "language oriented programming". It's called Common Lisp. And there are perfectly rational reasons why it isn't so widely used.
Reply
В Lisp подобных языках макросы подставляют вместо одного другое. Такой способ не всегда самый естественный. И далеко не единственный.
Reply
Reply
Reply
First ACM/USENIX International Conference on
Virtual Execution Environments (VEE'05)
joining ACM SIGPLAN IVME and USENIX VM,
Sponsored by ACM SIGPLAN and USENIX
in cooperation with ACM SIGOPS
June 11-12, 2005, Chicago, Ill
www.veeconference.org
Туда-сюда, то да сё,
Papers are solicited in areas including, but not limited to, the
following:
...
* Environment support for new languages features,
domain specific languages
...
Program Committee: Steering Committee:
Разные классики, среди которых я лично знаю и очень рекомендую:
Ole Agesen, VMWare
Hans Boehm, HP Labs
Michal Cierniak, Microsoft
Dave Detlefs, Sun
Mario Wolczko, SUN
Richard Jones, U. Kent
Doug Lea, SUNY, Oswego
Xavier Leroy, INRIA
Mendel Rosenblum, Stanford
Michael Smith, Harvard
Reply
Leave a comment