OberonCore
https://forum.oberoncore.ru/

Система программирования PascalABC.NET
https://forum.oberoncore.ru/viewtopic.php?f=88&t=1175
Страница 3 из 5

Автор:  Vlad [ Среда, 08 Октябрь, 2008 17:19 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

Илья Ермаков писал(а):
Речь, как видите, не об бзике, а о другой организации процесса работы. Принципиально другой: либо Вы работаете на готовом инструменте А (пусть сколь угодно хорошем) и думаете как о проблемной области о целевом инструменте Б, либо Вы выращиваете Б на нём же самом. Доп. петли обратной связи обычно говорят о значительно новых качествах систем.


Какую обратную связь можно получить от "недо" инструмента? Это у Дарвина в эволюции все гладко - путь от простого к сложному за счет последовательно закрепляемых улучшений. А критики ставят ее под сомнение именно потому, что она не дает объяснения качественным "скачкам", а наоборот всячески препятствует этим скачкам за счет наличия этой самой обратной связи.

Посмотрите на эволюцию C++. Вы правда думаете, что его можно последовательными улучшениями довести до чего-то хорошего? :) Нет нельзя, обратная связь слишком глубокая. А вот компилятор нового языка написать на нем - легко.

Автор:  Vlad [ Среда, 08 Октябрь, 2008 17:23 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

Ярослав Романченко писал(а):
Vlad писал(а):
Вы чувствуете разницу между "подмножеством нового крутого языка" и "новым крутым языком"? А между "переписать несколько раз" и "переписать по необходимости"?
Кто и что будет переписывать? Какой язык в данном случае крут? Ничего не понял...


Компилятор будет переписываться. На новом подмножестве для поддержки еще более нового подмножества. Я ж говорю - процесс ради процесса. "Крутой язык" в данном случае - это не C#.

Автор:  Илья Ермаков [ Среда, 08 Октябрь, 2008 17:51 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

Vlad писал(а):
Какую обратную связь можно получить от "недо" инструмента? Это у Дарвина в эволюции все гладко - путь от простого к сложному за счет последовательно закрепляемых улучшений. А критики ставят ее под сомнение именно потому, что она не дает объяснения качественным "скачкам", а наоборот всячески препятствует этим скачкам за счет наличия этой самой обратной связи.

Да теорию Дарвина не трогаем... Речь просто с точки зрения развития систем - с т.з. диалектики вообще, наверное. Когда мы смотрим на создаваемый язык исключительно как на объект, над которым стоим с рубанком - это одно. Когда мы с первых шагов используем его же в качестве "рубанка" - совсем другой процесс. В чём он именно лучше - можно обсуждать, но что он качественно другой (а не просто "бзик") - очевидно.

Автор:  Сергей Оборотов [ Среда, 08 Октябрь, 2008 18:05 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

Vlad писал(а):
Илья Ермаков писал(а):
Речь, как видите, не об бзике, а о другой организации процесса работы. Принципиально другой: либо Вы работаете на готовом инструменте А (пусть сколь угодно хорошем) и думаете как о проблемной области о целевом инструменте Б, либо Вы выращиваете Б на нём же самом. Доп. петли обратной связи обычно говорят о значительно новых качествах систем.

Посмотрите на эволюцию C++. Вы правда думаете, что его можно последовательными улучшениями довести до чего-то хорошего? :) Нет нельзя, обратная связь слишком глубокая. А вот компилятор нового языка написать на нем - легко.
Насколько я понимаю речь идет о дополнительных обратных связях.
info21 писал(а):
Не удивлюсь, если есть ген, который тут играет...

Он скорее исключение всё-таки. У музыкантов тем более.

Автор:  Vlad [ Среда, 08 Октябрь, 2008 18:11 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

Илья Ермаков писал(а):
Когда мы смотрим на создаваемый язык исключительно как на объект, над которым стоим с рубанком - это одно. Когда мы с первых шагов используем его же в качестве "рубанка" - совсем другой процесс. В чём он именно лучше - можно обсуждать, но что он качественно другой (а не просто "бзик") - очевидно.


Я согласен, что процессы разные. Но в данном случае (имплементация Object Pascal под .NET) делать раскрутку - это бзик. Потому что заранее известно что надо получить и какими свойствами оно будет обладать. Создавать совершенно новый язык всегда методом раскрутки - может оказаться полезным, я не спорю. А может и нет. Например если все принципиальные особенности нового языка не дают выигрыша по отдельности - придется реализовать их все на другом языке.

Автор:  Info21 [ Среда, 08 Октябрь, 2008 18:15 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

ssyy писал(а):
... Как можно компилировать компилятором, которого еще нет?

Просто напоминание: самый первый Паскаль был скомпилирован руками по тексту программы-компилятора (детали и ссылок не помню, а история любопытная, там фигурирует герой, выполнивший эту компиляцию руками, надо бы помнить имена таких героев).

Автор:  Info21 [ Среда, 08 Октябрь, 2008 18:17 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

Илья Ермаков писал(а):
...а я нигде не коснулся применимости Оберона в больших командах.

Вы сделали оценку высказыванию Веселовского. Оценка -- это нечто большее, чем просто цитирование. Учитесь у наших софистов :-)

Автор:  Ярослав Романченко [ Четверг, 09 Октябрь, 2008 10:04 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

ssyy писал(а):
Ничем не подкрепленное ИМХО.
Ничем не подкреплено и обратное.
И вообще, зачем копировать то что есть? Я имею в виду продукты Borland => Code Gear => Embracadero => "что дальше". А дальше ничего. То во что они превратили "современный" ObjectPascal никому не будет нужно.

Автор:  bohdant [ Четверг, 09 Октябрь, 2008 12:14 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

Иван Кузьмицкий писал(а):
Компилятор Active Oberon for .Net

Главное не спутать с Zonnon, монстриком от ETZH 8)

Автор:  Ярослав Романченко [ Четверг, 09 Октябрь, 2008 12:22 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

Ярослав Романченко писал(а):
Компилятор Active Oberon for .Net написан сам на себе и может себя компилировать :twisted:
Я немного поэкспериментировал с ним... Консольные приложения компилились на ура, какие-то проблемы были с GUI приложениями (кажется на стадии линковки)... Видимо, что-то изменилось в формате IL ассемблера. Компилятор писался под NET Framework v1.0.3705.
Но, исходник-то есть :D

Автор:  Alexey Veselovsky [ Четверг, 09 Октябрь, 2008 14:16 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

___ писал(а):
ада (хоть она раздутая, зато так же на надежность агитирующая), но в ней сборки мусора нету...


Эмм.. Под аду можно сборщик мусора. И именно под линух.

Кроме того, сборщик мусора не всегда есть хорошо.

Автор:  ___ [ Четверг, 09 Октябрь, 2008 14:20 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

Alexey Veselovsky писал(а):
Эмм.. Под аду можно сборщик мусора. И именно под линух.

можно поподробнее?
Цитата:
Кроме того, сборщик мусора не всегда есть хорошо.

само собой)

Автор:  ssyy [ Четверг, 09 Октябрь, 2008 15:09 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

Иван Кузьмицкий писал(а):
В общем, синтаксическая раскраска - это вчерашний день. Архитектурная раскраска - вот современный подход!
Даже в рамках обсуждения в этой ветке высказано несколько подходов к семантической раскраске. А теперь представьте: вам необходимо читать код другого человека (с которым вы вообще не знакомы). А он красил текст совсем не так, как вам хотелось. И вам легко будет такое читать? Очевидно, нет. Стало быть, напрашивается один из двух выводов:
1) Ручная раскраска далеко не так полезна, как её преподносят.
2) Среда, где применяется ручная раскраска, не предназначена для программирования командами.
Ярослав Романченко писал(а):
К сведению уважаемого ssyy:
Компилятор Active Oberon for .Net написан сам на себе и может себя компилировать
Думаю, большинство компиляторов компилируют себя. ИМХО, это сделано просто по рыночным соображениям (т.е. в рекламных целях - так компилятор лучше продается). Но есть и другие компиляторы (D - он на C++, Dev C++ - он на Delphi). Мы не гонимся за продаваемостью. Для нас главное - качество продукта. Станет ли он качественнее, если переписать его на паскаль? Был бы он качественнее, если бы изначально раскручивался на паскаль? Ответ одинаков для обоих вопросов: Нет. Просто увеличилось бы время разработки.
Ярослав Романченко писал(а):
Почему, например, никто не хочет довести до ума компилятор Active Oberon for .Net?
К сведению уважаемого ssyy:
Компилятор Active Oberon for .Net написан сам на себе и может себя компилировать
Наверно, потому что он никому (или почти никому) не нужен. Но зачем вам его доводить до ума? Он же написан на себе! А это для вас главное. Пользуйтесь.
Илья Ермаков писал(а):
Что уж говорить про какие-нибудь библиотеки С# на эту тему - мне и представить страшно
Стесняюсь спросить: а вы знаете .NET и его библиотеки, или критикуете из общих соображений, опираясь на размер дистрибутива?
Ярослав Романченко писал(а):
Тут говорили, что не хотели писать компилятор Object Pascal на Object Pascal, но на C# написали-же... видимо квалификация есть. А тут уже почти готовый компилятор Active Oberon на Active Oberon. Неужели квалификации больше надо в данном случае?
Мотивации нужно больше.

Автор:  Ярослав Романченко [ Четверг, 09 Октябрь, 2008 15:18 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

ssyy писал(а):
Думаю
Если-бы думали... Для Вас, похоже, самый лёгкий способ ответа, уход от вопроса...

Автор:  Илья Ермаков [ Четверг, 09 Октябрь, 2008 18:58 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

ssyy писал(а):
Илья Ермаков писал(а):
Что уж говорить про какие-нибудь библиотеки С# на эту тему - мне и представить страшно
Стесняюсь спросить: а вы знаете .NET и его библиотеки, или критикуете из общих соображений, опираясь на размер дистрибутива?

Скажу честно, я сужу из опыта работы на С++ (и соотв. yacc-bison). Сильно сомневаюсь, что в C# что-то изменилось. Может быть, технически (в рутине) стало проще. Принципиально - сомневаюсь. Количество "возможностей" наверняка нарастили ("головокружение от успехов"). LR-LALR вообще, в общем случае, избыточная технология (предназначенная для разбора "ненормальных случаев" типа синтаксиса С++, т.е. нотаций, спроектированных безграмотно). Толкать её как универсальный инструмент - значит провоцировать дальнейшее появление таких же дурных нотаций, вместо того, чтобы дисциплинировать.

Автор:  Vlad [ Четверг, 09 Октябрь, 2008 19:06 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

Илья Ермаков писал(а):
LR-LALR вообще, в общем случае, избыточная технология (предназначенная для разбора "ненормальных случаев" типа синтаксиса С++, т.е. нотаций, спроектированных безграмотно). Толкать её как универсальный инструмент - значит провоцировать дальнейшее появление таких же дурных нотаций, вместо того, чтобы дисциплинировать.


Можно подробнее про "безграмотность"? Парсер сложно написать? Ну так и называйте вещи своими именами.

Автор:  Info21 [ Четверг, 09 Октябрь, 2008 19:17 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

ssyy писал(а):
... представьте: вам необходимо читать код другого человека (с которым вы вообще не знакомы). А он красил текст совсем не так, как вам хотелось. И вам легко будет такое читать? Очевидно, нет. Стало быть, напрашивается один из двух выводов:
1) Ручная раскраска далеко не так полезна, как её преподносят.
2) Среда, где применяется ручная раскраска, не предназначена для программирования командами.

Есть еще и третий вывод (который лично я сделал давно, в т.ч. по отношению к своему старому коду):
первым делом применить стандартную операцию ручной раскраски "установить цвет по умолчанию".

Это если дикая сложная раскраска. Если просто некоторые куски, скажем, выделены красным с пометкой "свежый код", то это то, что надо.

Автор:  Илья Ермаков [ Четверг, 09 Октябрь, 2008 20:30 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

Vlad писал(а):
Можно подробнее про "безграмотность"? Парсер сложно написать? Ну так и называйте вещи своими именами.

Имею в виду непонимание общепринятых в технике законов: используемая нотация должна быть понятной, наиболее очевидной, максимально строгой (попробовал бы кто в инженерной графике применить линию не той толщины и заявить "я так хочу, язык должен меня слушаться"). Очевидно же, что сложная для разбора нотация также сложна для использования. Нужно следовать неким критериям качества нотации, а не выдумывать от балды. Как бы общепризнанных критериев нет, но некий консенсус таки есть (т.е. по одну сторону народ примерно согласен в ряде моментов, как надо, а по другую сторону народ говорит "а как хотим, так и замутим, свобода самовыражения"). Кроме того, отдельные отборы-то были. Например, требования Пентагона к единому языку - в том конкурсе, в котором победила Ада с паскалевским синтаксисом.

Автор:  Vlad [ Четверг, 09 Октябрь, 2008 21:21 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

Илья Ермаков писал(а):
Очевидно же, что сложная для разбора нотация также сложна для использования.


Совсем неочевидно. Кучу контр-примеров неоднократно приводили. В том числе и в это ветке - BF.

Автор:  AVC [ Четверг, 09 Октябрь, 2008 22:03 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

Vlad писал(а):
Илья Ермаков писал(а):
Очевидно же, что сложная для разбора нотация также сложна для использования.


Совсем неочевидно. Кучу контр-примеров неоднократно приводили. В том числе и в это ветке - BF.

Это не контр-пример, уж извините за логический педантизм. :twisted:
Контрпримером была бы сложная для разбора нотация, которая была бы простой для использования.
Вот если бы написание и понимание, скажем, шаблонов boost было бы тривиальной задачей, то это было бы контрпримером.
Типичная ситуация на работе: один программист на Си++ подходит к другому - проблема с шаблонами. Тот сразу в ужасе: это не ко мне. Для многих пишущих на Си++ шаг влево, шаг вправо - кранты.

Страница 3 из 5 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/