Новый подход к программированию - теперь можно скачать!

Nov 27, 2003 20:54

Для того чтобы все лучше понимали то о чем я писал ранее, я решил начать выкладывать программу на свой сайт ( Read more... )

language_oriented_programming

Leave a comment

Резюме kouzdra January 19 2004, 07:47:30 UTC
Краткое резюме:

1) Текстовое представление при прочих равных лучше "бинарного" (или XML-ного)

2) ОО сейчас - плохой источник идей

3) Любой универсальный тул такого рода (равно как и универсальные IL) на самом деле жестко ограничен кругозором автора и языками, которые он имел в виду.

Любой язык, не вкладываюийся в эти рамки создает трудноразрешимые проблемы

3.1) Разнообразие даже традиционных языков гораздо выше, чем кажется

4) Язык (или система программирования) должна в первую очередь структурировать мышление и предоставлять уже готовые средства программирования. Расширяемость будет использоваться весьма ограниченно

4.1) Расширение языка (или системы), сильно выходящее за рамки начальной концепции затруднено по двум причинам

- это задача соизмеримая с созданием компилятора
- гораздо более важно то, что она соизмерима и даже превосходит задачу конструирования языка "с нуля" (намного более сложная задача, нежели реализация уже описанного).

5) Наиболее правильным путем достижения расширяемости является не надстройка метауровня (что равносильно использованию очень неудобного макропроцессора), а упрощение языка и превращение возможно большего числа сущностей в объекты языка пользовательского уровня (first-class entities). Например управляющие конструкции и reflection вполне могут быть таким образом реализованы.

Антон Москаль

Reply

Re: Резюме kouzdra January 21 2004, 18:55:38 UTC
1. Если этот структурный редактор попользовать не вместо, а в дополнение к библиотеке/препроцессору, может получиться не слишком плохо.

2. Выбора, наворачивать ли язык программирования или редактор для него, может и не быть. Если чего-то делать не хочется-не можется, всегда можно найти-придумать для этого уважительную причину.

3. Масштаб результата не всегда совпадает с масштабом задумки, а по пути может найтись что-нибудь неожиданно полезное. Так что если выбирать между делать что-то и не делать ничего, лично я предпочитаю первое, тем более что делать не мне.

Reply

Re: Резюме kouzdra January 21 2004, 18:58:08 UTC
4. Класс языков, к которым такой структурный редактор может быть с пользой и без страшного геморроя применен, может быть достаточно широк.

Reply

Re: Резюме kouzdra January 21 2004, 20:25:19 UTC
Я никоим образом не хочу сказать, что Сергею следует бросить этим заниматься. Я просто хочу попробовать как-то сделать так, чтобы он не скакал по граблям. Скажем если ограничиться "умным" редактором - то оно точно весьма интересно. Я, например, попробовал приложить его идеи к O'Caml, который я люблю и хорошо знаю - получается довольно любопытно (особенно с учетом того, что там-то есть и бинарное внежнее представление синтаксического дерева и реальная расширяемость синтаксиса). Опять же - и какие-то новые по отношению к Java-образным языкам идеи и запросы появляются.

Я почти уверен, что если взять другие языки (List/SmallTalk/Cecil) и попробовать примерить эту идею на них - тоже получится довольно много и интересного и поучительного (вон тот же Cecil - мультиметоды ведь в Java вставляли). Причем полезного не только для этих языков.

Просто, вполне хорошо видно, что человек знает только Java - и Жаба у него и получается. Только в макияже. А это, как-то, грустно. Особенно если учесть, что прямо у него в фирме есть куча народа, которые вполне в теме.

Антон Москаль

Reply

Re: Резюме kouzdra January 22 2004, 02:43:33 UTC
Не думаю, что Жаба получается именно таким способом. В самом начале был некий фортообразный стековый интерпретатор. Через Жабу раскручиваться удобнее.

Reply


Leave a comment

Up