OberonCore
https://forum.oberoncore.ru/

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

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

ssyy писал(а):
Geniepro писал(а):
А чем Ваш транслятор отличается от, скажем, транслятора Chrome, который в консольной версии (без привязки к Visual Studio) тоже бесплатен, и тоже реализует Object Pascal?
Вопрос подобного рода может поставить в тупик. Но люди, например, используют Visual Studio, а не csc.exe - а ведь csc.exe бесплатен. Поинтересуйтесь у них, зачем они это делают.

Скачал вашу систему программирования, что понравилось -- моментальная компиляция в лучших традициях Турбо Паскаля. Такую бы скорость компилятора да к F#'у с Хаскеллем...
Кстати, Вы не задумывались о том, что бы сделать транслятор для какого-нибудь функционального языка, например, для Хаскелла? Хочется повторить слова Дона Стюарта "Kids, remember, any sufficiently advanced programming language is indistinguishable from mathematics."

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

ssyy писал(а):
Info21 писал(а):
1) Кто финансировал?
Никто. Система PascalABC.NET создавалась как курсовые и дипломные работы.

Лучше, конечно, говорить о мотивации вообще.
И вопрос мотивации руководителей курсовых и дипломных остался за кадром.

Тут прослеживается тривиальное комбинирование: Паскаль + .NET -- оба комбинанда сильно представлены на поверхности нашего коллективного сознания, идея их скомбинировать -- вполне очевидна для носителей мема ПаскальАБЦ, если они поверили в неотвратимость .NET.

ssyy писал(а):
Info21 писал(а):
2) Cui bono? (Кому выгода?)
Выгода всем, кто хочет освоить язык Object Pascal. Или, зная Pascal, освоить возможности современного программирования на .NET.

Это не вся правда 8)
(Тут мы тоже сваливаемся на мотивации.)

Скажем, моя мотивация с Блэкбоксом высказывалась явно и многократно: это единственный инструмент для эффективного в нескольких смыслах решения ряда уникальных задач.
А Информатика-21 отсюда выросла потому, что технические преимущества Оберонов проистекают ровно их тех самые качеств, кои делают их лучшей платформой для общих вводных курсов программирования.

Какова была мотивация научного руководителя курсовых и дипломных?
Какую задачу он решал?
Поупражняться в написании компилятора?
Придумать задачи студентам?

Где тут принуждение суровой Реальностью к выбору на основе имманентных технических качеств, а не на основе степени популярности в массах компьютерных гениев?

ssyy писал(а):
Никто из разработчиков PascalABC.NET не работает на MS.

Формально -- нет. Объективно -- вы в лагере MS. Есть же еще конкурентный лагерь Java. Не говоря о всем прочем.
Внедряя разработку для .NET в образовательное пространство, вы льете воду на мельницу MS, разве нет?

Само по себе -- это не хорошо и не плохо.
Но ведь тут и привходящие обстоятельства есть.
Например, монструозная сложность .NET.
Зачем пытаться привязать образование (а оно очень консервативно) к этому монстру?
С другой стороны, невозможно отрицать, что все ИТ-шники заинтересованы в таком источнике сверхприбыли, как "избыточная сложность" -- пока нет других угроз.

ssyy писал(а):
... если вы не знаете, Microsoft негативно относится к паскалю во всех его проявлениях, настоятельно рекомендуя обратить свои взоры в сторону созданной ими "альтернативы" для обучения - Visual Basic

Нетрудно вспомнить и другие слова насчет важности для MS платформы .NET.
И если плохо получается внедриться в школы с помощью VB, почему бы не попробовать и паскаль? .NET для MS важнее, чем VB, потому что это инфраструктура более низкого уровня, с более длинным временем жизни.

ssyy писал(а):
Info21 писал(а):
У людей очень мало фантазии.

2) Про мало фантазии - это я не понял. У кого ее мало?

Вообще у гомо "сапиенсов" ее мало. Практически нет. Всё больше так -- а ну-ка прилепим это на это и посмотрим, что выйдет.

На обероны и ББ я вот тоже вышел совсем не от избытка фантазии, а будучи принужден реальностью нерешаемых задач.
Тем более и моя job description -- "ищейка" (researcher), а не фантазёр :-)

А вы (повторяюсь, но это важный пункт) от какой суровой реальной необходимости делаете свой проект?
Какие имманентные Законы Реальности в нем отразились?

Илья Ермаков писал(а):
... программа типа Hello World на PascalABC.NET выглядит так:
Код:
begin
write('Hello World');
end.

Она так сложна... Наверно, по-вашему, гораздо проще такая программа (BlackBox): ...

Но уже для программы в 50 строк для Черепашки, сделанной 5-классниками, разница будет пренебрежима. Плюс посмотрим, как просто у Вас пройдет изготовление таблички для чисел из физпрака :-) В ББ мы будем тот же StdLog вызывать и печатать в то же самое окошко Log, и форматировать табличку парой кликов прямо там, -- а Вы что будете делать?

А кроме того, мы всё время жалуемся, что слово "простота" имеет два смысла. Первый и второй :-)
Вы употребляете слово в первом смысле.
Применительно к Оберонам употребляется смысл второй.

ssyy писал(а):
... "прошлый век".
.. зато есть динамическая загрузка модулей и составные документы
(про интерактивность я не понял - это что?).
Но насколько эти две (три?) "фичи" BlackBox востребованы для обучения?

Собственно, вы тут расписались.
Можно только повторить совет И.Ермакова: изучайте материалы Информатики-21. Не повторять же тут все в 1001-й раз.

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

Geniepro писал(а):
... Хочется повторить слова Дона Стюарта "Kids, remember, any sufficiently advanced programming language is indistinguishable from mathematics."

Странно, что при IQ, достигающем хотя бы иногда 165, хочется только "повторить" 8)
А вот понять, к примеру, ничего не хочется?

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

В комплекте PascalABC обнаружил полную свежую версию (от января 2007) Электронного задачника М.Э. Абрамяна. Понравилась высокая чистота исполнения и разнообразие "сюжетов", аккуратная разбивка на тематические разделы и очень плавное наращивание сложности, начиная с элементарных вещей. С согласия автора адаптировал тексты первых 600 задач под особенности Компонентного Паскаля (прежде всего, отсчет индексов в массивах с нуля, и ряд других), перевел файл в формат .odc и активно использую на занятиях по основам программирования со школьниками и студентами, чего и другим желаю :)

Что касается русификации ББ, есть уже несколько русских версий - "школьная", "университетская". Хорошо то, что ББ легко поддается модификациии и расширениям/усечениям, не покушаясь на идеологию и дизайн языка КП. Есть и ниши потенциального обустройства, которыми грамотные и аккуратные могли бы для общей пользы заняться :D

Присоединяюсь к коллегам: агитировать сегодня за Турбо Паскаль или VB в той или иной реализации не следует. Пора обновлять подходы и инструментарий.

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

Переместил ветку в "Современные технологии" (более адекватной ветки у нас пока нет), ибо к начальному обучению программированию обсуждение никакого отношения не имеет.

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

Info21 писал(а):
Geniepro писал(а):
Понять что, например? ...

Да хотя бы процитированное вами высказывание.
Что такое математика и с чем ее едят. На примере Дейкстры хотя бы.

Я думаю, что я правильно понимаю это высказывание, учитывая, что Дон Стюарт является одним из авторов Хаскелла -- самого приближённого к математической нотации языка программирования...

А как Вы, например, понимаете эту фразу? Вы считаете, что самый идеальный язык для компьютерной математики -- Оберон в лице Компонентного Паскаля?

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

Насколько я понял из комментов, PascalABC.NET - хорошая система программирования.
Поэтому, IMHO, с ее разработчиками лучше не спорить и не ссориться.
Спор - это как бы "принуждение к согласию".
Лучше по Б.Шоу: у нас есть идея и у ssyy есть идея; если мы ими обменяемся, у нас будет по 2 идеи. :)

ssyy писал(а):
Это не ответ. Я повторю вопрос: что такое - сложность .NET?
Хороший вопрос: что такое сложность (воообще, как таковая)?
Как сформулировать критерий простоты?
Можно начать с какого-нибудь примитивного критерия, а потом его усовершенствовать.
IMHO, Оберон прост, потому что :) я его выучил за один день (не считая отдельных библиотек, конечно).
Если .NET можно выучить за день, то и .NET прост.

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

ssyy, Николай Водолазов сейчас участвует в Вашем проекте?

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

Уважаемый ssyy!

Я давно уже знаком с вашей разработкой, она производит очень хорошее впечатление!
На мой взгляд проблема одна: вы взяли за основу синтаксис, который разработала коммерчиская фирма (exBorland).
И успех вашей системы во многом зависит от успехов этой фирмы. Как видно из последних событий фирма совсем ничего не стоит - 20 мил. баксов это просто смешно (в Киеве средненькая строительная фирма стоит дороже).

В двух словах хотелось сказать по поводу предыдущих постов:
Вы разработали "джип", а вам предлагают делать "мотоцикл". В "джипе" удобно сидеть, есть печка, есть кондиционер и т.д. А вам говорят, что у мотоцикла проходимость лучше и доехать можно быстрее, и учится ездить на нем проще, и устройство попроще, и в пробках не застряет. :lol: :lol: :lol:

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

ssyy писал(а):
Для установки необходима операционная система Windows XP SP2 (или выше) или Windows Vista.


Извиняюсь за, видимо уже, офтопик для этого треда, но я таки спрошу: не планируется ли:

a) Портирование ABCPascal.NET на mono (причем с отвязкой от винды)? В свете выхода mono 2.0 мне кажется что это таки реально (описание фичек mono 2.0).
b) Правильно ли понимаю что проект не коммерческий и возможно открытие исходников под одной из свободный лицензий? (например GPL)

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

Илья Ермаков писал(а):
ssyy писал(а):
Уход исходников нашей системы на OP возможен, но потребует много времени и сил. Мы не видим серьезных причин делать это. Возможность говорить фразы типа: "Мы крутые! Наш компилятор компилит сам себя!" - к числу серьезных причин не относится.
Почему было не делать это изначально?
Я вижу просто какие-то чудеса в вашей логике! Как можно компилировать компилятором, которого еще нет?
GUEST писал(а):
ssyy, Николай Водолазов сейчас участвует в Вашем проекте?
Нет, он закончил работу над проектом в июне 2007.
Ярослав Романченко писал(а):
Object Pascal не имеет будущего.
Ничем не подкрепленное ИМХО.
Ярослав Романченко писал(а):
Он в конце концов рано или поздно уйдёт на свалку истории, как и Ваш продукт.
Почти все продукты рано или поздно уходят на свалку. Не уходят на свалку только те, кто уже на свалке.
bohdant писал(а):
На мой взгляд проблема одна: вы взяли за основу синтаксис, который разработала коммерчиская фирма (exBorland).
И успех вашей системы во многом зависит от успехов этой фирмы. Как видно из последних событий фирма совсем ничего не стоит - 20 мил. баксов это просто смешно (в Киеве средненькая строительная фирма стоит дороже).
Я не вижу связи с успехами этой фирмы. Фирма приказывает долго жить, но язык-то остается.
Alexey Veselovsky писал(а):
a) Портирование ABCPascal.NET на mono (причем с отвязкой от винды)? В свете выхода mono 2.0 мне кажется что это таки реально (описание фичек mono 2.0).
Да, планируется в будущем.
Alexey Veselovsky писал(а):
b) Правильно ли понимаю что проект не коммерческий и возможно открытие исходников под одной из свободный лицензий? (например GPL)
Проект не коммерческий. Но открывать исходники мы не собираемся.
Борис Рюмшин писал(а):
Просьба ко всем - не идите на поводу и не разжигайте флейм.
Присоединяюсь.

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

ssyy писал(а):
Я вижу просто какие-то чудеса в вашей логике! Как можно компилировать компилятором, которого еще нет?

Теперь моя очередь удивляться. Вам не знакомо понятие bootstraping ("раскрутка")? А на Dragon Book ссылки в ваших презентациях-публикациях есть. В этой книге это понятие описывается. Что тут такого удивительного? Множество компиляторов и систем выполнения сделаны таким образом. Ну, допустим, даже небольшая стартовая трансляция "руками" нас не привлекает - но реализовать мини-подмножество на том же C# - и сразу уйти на раскрутку-самокопиляцию?

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

ssyy писал(а):
Проект не коммерческий. Но открывать исходники мы не собираемся.


А можно ли узнать мотивацию?

Из доводов "за" я могу отметить например ускорение разработки инструмента (в частоности тот самый порт под моно вполне могут сделать и сторонние люди. по кр. мере они пробегутся по граблям и об этом сообщат). Кроме того, пользователи значительно охотней пользуются открытым софтом нежели проприентарным (пусть даже и бесплатным). Ибо открытость есть гарантия того что проект не загнется как только авторам надоест его поддерживать.

Кроме того, открывая код под например GPL вы не теряете своих авторских прав. В частности вы можете следующую версию зарелизить под отличной от GPL лицензии (в т.ч. закрыть исходник новой версии).

Если бы ваш продукт был бы под одной из свободных лицензий, вы бы могли участвовать в программе Google Summer of Code (гугл спонсирует участие студентов в разработке свободного ПО. По результатам оного участия студент получает 4500$, проект получает 500$).

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

Илья Ермаков писал(а):
...реализовать мини-подмножество на том же C# - и сразу уйти на раскрутку-самокопиляцию?

А ещё можно попробовать разбить компилятор на несколько dll написанных на чём угодно, а потом постепенно каждую из них переписать на разрабатываемом языке как только в нём появятся соответствующие возможности.

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

Илья Ермаков писал(а):
но реализовать мини-подмножество на том же C# - и сразу уйти на раскрутку-самокопиляцию?


А нафига извращаться, если можно сразу все написать на C#? ssyy явно сказал:
Цитата:
"Мы крутые! Наш компилятор компилит сам себя!" - к числу серьезных причин не относится.


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

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

Vlad писал(а):
А нафига извращаться, если можно сразу все написать на C#?
А нафига писать, если можно на и C# всё писать?

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

Ярослав Романченко писал(а):
А нафига писать, если можно на и C# всё писать?


Вы чувствуете разницу между "подмножеством нового крутого языка" и "новым крутым языком"? А между "переписать несколько раз" и "переписать по необходимости"?

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

Alexey Veselovsky писал(а):
Если бы ваш продукт был бы под одной из свободных лицензий, вы бы могли участвовать в программе Google Summer of Code (гугл спонсирует участие студентов в разработке свободного ПО. По результатам оного участия студент получает 4500$, проект получает 500$).


Кстати, к господам блэк-боксёрам это тоже относится.

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

Vlad писал(а):
Илья Ермаков писал(а):
но реализовать мини-подмножество на том же C# - и сразу уйти на раскрутку-самокопиляцию?


А нафига извращаться, если можно сразу все написать на C#? ssyy явно сказал:
Цитата:
"Мы крутые! Наш компилятор компилит сам себя!" - к числу серьезных причин не относится.


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


А я ssyy явно ответил:
viewtopic.php?p=19308#p19308
Речь, как видите, не об бзике, а о другой организации процесса работы. Принципиально другой: либо Вы работаете на готовом инструменте А (пусть сколь угодно хорошем) и думаете как о проблемной области о целевом инструменте Б, либо Вы выращиваете Б на нём же самом. Доп. петли обратной связи обычно говорят о значительно новых качествах систем.

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

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

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

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