OberonCore
https://forum.oberoncore.ru/

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

Автор:  ssyy [ Суббота, 04 Октябрь, 2008 23:19 ]
Заголовок сообщения:  Система программирования PascalABC.NET

Приветствую участников форума! Я представляю команду разработчиков системы программирования PascalABC.NET и предлагаю ознакомиться с этой системой.
PascalABC.NET - это реализация языка Object Pascal для .NET Framework, включающая такие важные особенности современных языков программирования как интерфейсы, обобщенные классы (generics), делегаты, сборка мусора, исключения.
PascalABC.NET - бесплатная среда программирования, созданная группой разработчиков Южного Федерального Университета (Ростов-на-Дону). PascalABC.NET снабжен собственной оболочкой со встроенным отладчиком, контекстными подсказками (Intellisence) и множеством других полезных функций. Справка на русском языке также прилагается.
Для установки необходима операционная система Windows XP SP2 (или выше) или Windows Vista.
Сайт проекта: http://pascalabc.net
Форум проекта: http://it.mmcs.rsu.ru/forum

От модератора: для тех, кто читает тему впервые, учтите, что она была профильтрована, поэтому местами возможна "потеря смысла". Подробности в сообщении: viewtopic.php?p=19560#p19560

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

А чем Ваш транслятор отличается от, скажем, транслятора Chrome, который в консольной версии (без привязки к Visual Studio) тоже бесплатен, и тоже реализует Object Pascal?

Автор:  Борис Рюмшин [ Воскресенье, 05 Октябрь, 2008 12:01 ]
Заголовок сообщения:  Re: Система программирования PascalABC.NET

ssyy писал(а):
PascalABC.NET - ...
PascalABC.NET -...
PascalABC.NET ...

Реклама?

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

http://pascalabc.net/pabcnethelp/PABC_Help_Web.html
Цитата:
Наиболее близкой по идеологии к PascalABC.NET является система Chrome. Однако реализованный в ней язык Object Pascal сильно изменен в сторону .NET: нет глобальных описаний, все описания помещаются в класс, содержащий классовый метод Main, отсутствует ряд стандартных подпрограмм языка Паскаль. Кроме того, система Chrome - платная (за исключением консольного компилятора) и не содержит собственной оболочки (встраивается в Visual Studio).

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

http://pascalabc.net/index.php?option=c ... &Itemid=85
- осознаны преимущества автопамяти для лёгкого-раннего преподавания связных списков.

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

Вообще, работа производит впечатление качественной (так и делали не ИТ-шники, а мехмат вроде :-) ), но всё равно рюшечки все эти и свисточки синтаксические, как от Object Pascal-я, так и .NET-а.. Хотя авторы и отмечают, что саму среду хотели сделать максимально простой, ибо Studi-и для образования совершенно не подходят. Но в самом языке излишеств нехороших полно. Да и сколько можно накачивать стероидами Паскаль 70-го года...

P.S. Однако, как следует из диплома одного из разработчиков, система поддерживает разбор с неск. языков - у них есть парсер Оберон-2. А синт. дерево они делали с учётом возможности трансляции со всего семейства Паскаль-Модула-Оберон.

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

собственно такая ветка на форуме уже была: PascalABC - Паскаль для обучения

с форума it.mmcs.rsu.ru/forum:
Цитата:
Три года прошло с тех пор как нашим научным руководителем была поставлена задача с нуля разработать компилятор под платформу .NET
За это время написано:
- 300 тысяч строк кода на С#
- 23 тысячи строк системных библиотек на PascalABC.NET

%)

1) бросилось в глаза наличие робота и чертежника
не иначе, как за этим форумом наблюдают, или исполнители и впрямь стали возрождаться активно?

2) про списки:
Связные списки - новый стиль
Цитата:
В данной статье сравниваются два способа изложения темы "Динамические структуры данных": традиционный - с помощью указателей - и новый - с помощью ссылок на объекты.

второй сопсоб получается компактнее, но:
а) он подразумевает знание ООП
б) как я понял, первый вариант приводился для среды без сборщика мусора
...

3) наличие foreach за который некоторые так ратовали


с т.з. разработчиков проект безусловно полезный (опыт и тд)
а сам по себе....
вроде зоннон планировался с обратной совместимостью заданий от паскаля
как с этим дела обстоят тут?

ssyy
можно брать старые наработанные примеры с турбопаскаля и спокойно их использовать?

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

ssyy писал(а):
... для .NET Framework


1) Кто финансировал?

2) Cui bono? (Кому выгода?)

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

Цитата:
Три года прошло с тех пор как нашим научным руководителем была поставлена задача с нуля разработать компилятор под платформу .NET

А у научного руководителя как эта задача "поставилась"?

Цитата:
1) бросилось в глаза наличие робота и чертежника
не иначе, как за этим форумом наблюдают


Еще как. По линии MS наблюдение за Информатикой-21 идет с момента ее появления в сети и доклада в Австрии в 2003, где было и про списки среди прочего. У людей очень мало фантазии.

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

позицирование среды:
Цитата:
Она разрабатывается в большей степени с целью обучения программированию (от школьника до студента-старшекурсника) и содержит в своем составе ряд дополнительных модулей, предназначенных для обучения:

* электронный задачник по программированию Programming Taskbook (сайт http://ptaskbook.com)
* растровая графическая библиотека GraphABC
* библиотека векторных графических объектов ABCObjects
* модули Робот и Чертежник, используемые в школьной информатике для быстрого обучения программированию школьников средних классов

кхм...

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

Интересный пример:
Код:
while (p<>nil) and (p.data<>x) do
  p := p.next;
var found := p<>nil;

То есть переменные можно объявлять в теле процедур. Ух оберонщики возмутятся таким святотатством!!! :-)

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

А чего возмущаться - люди, не соблюдающие принцип Калашникова, сами себя наказывают: "200 тыс. строк исходного текста на С#". Сложный входной язык + дополнительные фишки + фишки целевой платформы. Хотя, как можно судить, познакомившись с публикациями, работа выполнена очень добротно. Однако нет смысла использования в образовании ввиду "невоздержанности" языка. Для каких-то проектов как замену Дельфи с наследованием старых кодов и выходом на .NET - это сколько угодно...

Что касается среды - то сделана она действительно простой и удобной, без наворотов. Но всё это прошлый век - никакой динамической загрузки модулей, никаких составных документов, никакой интерактивности... С Блэкбоксом сравнивать бесполезно даже.

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

Geniepro писал(а):
То есть переменные можно объявлять в теле процедур. Ух оберонщики возмутятся таким святотатством!!! :-)

Это не святотатство, а поведение из разряда "нам, компьютерным гениям, закон не писан".

Здесь нарушается "римский принцип" (разделяй и управляй).
А убедительного обоснования не дадено.

Значит, -- фтопку однозначно.

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

___ писал(а):
не иначе, как за этим форумом наблюдают

O imitatores, servum pecus! (О подражатели, рабское стадо!)
-----------------
Говорю же, латинский надо учить -- там на все случаи жизни давно прописано.

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

Geniepro писал(а):
А чем Ваш транслятор отличается от, скажем, транслятора Chrome, который в консольной версии (без привязки к Visual Studio) тоже бесплатен, и тоже реализует Object Pascal?
Вопрос подобного рода может поставить в тупик. Но люди, например, используют Visual Studio, а не csc.exe - а ведь csc.exe бесплатен. Поинтересуйтесь у них, зачем они это делают.
Борис Рюмшин писал(а):
Реклама?
Безусловно! :wink:
Цитата:
бросилось в глаза наличие робота и чертежника
не иначе, как за этим форумом наблюдают, или исполнители и впрямь стали возрождаться активно?
Исполнители в их виде на PascalABC.NET появились еще 12 лет назад - сначала в TurboPascal, а затем в Delphi. В 2003 исполнители появились в прообразе PascalABC.NET - системе Pascal ABC. Исполнители появились на основе аналогичных исполнителей школьного алгоритмического языка (система КуМир), а не на основании этого форума.
Цитата:
можно брать старые наработанные примеры с турбопаскаля и спокойно их использовать?
Спокойно использовать примеры из Turbo Pascal не получится, по-видимому, нигде, кроме самого Turbo Pascal. В PascalABC.NET, например, другая графика - не времен DOS. Но некоторые примеры, написанные на Turbo Pascal, можно выполнить в PascalABC.NET.
Info21 писал(а):
1) Кто финансировал?
Никто. Система PascalABC.NET создавалась как курсовые и дипломные работы. Ныне ведущие разработчики закончили университет, но работу над PascalABC.NET не оставили.
Info21 писал(а):
2) Cui bono? (Кому выгода?)
Выгода всем, кто хочет освоить язык Object Pascal. Или, зная Pascal, освоить возможности современного программирования на .NET.
Info21 писал(а):
А у научного руководителя как эта задача "поставилась"?
Прообразом PascalABC.NET была система Pascal ABC, на протяжении многих лет успешно использовавшаяся для обучения программированию. Это front-end компилятор. Что обуславливает его основные недостатки:
1) Невозможность генерации exe.
2) Пониженная скорость исполнения программ.
Поэтому и появилась идея PascalABC.NET.
Info21 писал(а):
Еще как. По линии MS наблюдение за Информатикой-21 идет с момента ее появления в сети и доклада в Австрии в 2003, где было и про списки среди прочего. У людей очень мало фантазии.

1) Никто из разработчиков PascalABC.NET не работает на MS. Кроме того, если вы не знаете, Microsoft негативно относится к паскалю во всех его проявлениях, настоятельно рекомендуя обратить свои взоры в сторону созданной ими "альтернативы" для обучения - Visual Basic
2) Про мало фантазии - это я не понял. У кого ее мало?
Илья Ермаков писал(а):
Сложный входной язык + дополнительные фишки + фишки целевой платформы.
Ух-ты! Не знал, что наш язык так сложен. Например, программа типа Hello World на PascalABC.NET выглядит так:
Код:
begin
write('Hello World');
end.

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

   IMPORT StdLog;

   PROCEDURE Do*;
   BEGIN
      StdLog.String("Hello World"); StdLog.Ln
   END Do;

END ObxHello0.

Теперь о среде. Я скачал BlackBox и запустил.
1) Меня неприятно поразило меню на английском языке. Современное обучение программированию школьников в России должно происходить в полностью локализованных средах. Иначе это - "прошлый век".
2) Текстовое меню должно быть дополнено кнопками для вызова наиболее часто применяемых возможностей (напр., выполнение кода). Без этого среда разработки - "прошлый век".
3) Отсутствие контекстных подсказок (по параметрам функции, полям класса и т.п.) - это "прошлый век".
Ни одной из этих возможностей в BlackBox нет. Но зато есть динамическая загрузка модулей и составные документы (про интерактивность я не понял - это что?). Но насколько эти две (три?) "фичи" BlackBox востребованы для обучения?
Info21 писал(а):
Значит, -- фтопку однозначно.

Боюсь, моих редких походов по андерграундным ресурсам недостаточно, чтобы дать квалифицированный ответ на используемом вами жаргоне.

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

ssyy писал(а):
Илья Ермаков писал(а):
Сложный входной язык + дополнительные фишки + фишки целевой платформы.
Ух-ты! Не знал, что наш язык так сложен. Например, программа типа Hello World на PascalABC.NET выглядит так:
Простота иллюстрируется тем что в языке уже отсутствует, а не тем что в нем есть.

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

Давайте не переходить на пикирование.

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

Цитата:
Теперь о среде. Я скачал BlackBox и запустил.
1) Меня неприятно поразило меню на английском языке. Современное обучение программированию школьников в России должно происходить в полностью локализованных средах. Иначе это - "прошлый век".
2) Текстовое меню должно быть дополнено кнопками для вызова наиболее часто применяемых возможностей (напр., выполнение кода). Без этого среда разработки - "прошлый век".
3) Отсутствие контекстных подсказок (по параметрам функции, полям класса и т.п.) - это "прошлый век".
Ни одной из этих возможностей в BlackBox нет. Но зато есть динамическая загрузка модулей и составные документы (про интерактивность я не понял - это что?). Но насколько эти две (три?) "фичи" BlackBox востребованы для обучения?


Реакция "скачал-ничего-не-понял-фигня" не удивляет. Посему читаем краткую информацию: http://wiki.oberoncore.ru/index.php/Bla ... nt_Builder
Под интерактивностью понимается отсутствие границ между средой разработки, системой выполнения и самим приложением. Принципиально меняет стиль работы и программистского мышления вообще. И в школе в том числе. Известно с 70-х годов, например, по системам языка Smalltalk, LISP и др.
Тулбары в ББ не нужны.

Касательно ББ в школе смотрим Информатику-21 - там и русская среда (меню можно менять в ББ вообще без перезапуска среды, как и всё остальное), и образовательная стратегия, и всё сопутствующее. Я думаю, если вашему коллективу интересно именно продвижение в образование и именно Паскаль-систем, то ознакомиться с тезисами Информатики-21 просто необходимо.

Теперь касательно Вашего продукта. Я уже выше несколько раз подчеркнул, что проделанная вашим коллективом работа, безусловно, впечатляет (я просмотрел все публикации и презентации сайта) - очень качественная разработка в области компиляторов и инструментария. Критика направлена не на вас и ваш труд, а на аспекты того языка, реализацию которого вы выполняли, и особенно - на смысл его применения в образовании. Object Pascal с позиций современных разработок швейцарской школы Вирта является ущербным. Это продукт бессистемной накачки компанией Borland Паскаля 70-х годов средствами, заимствованными откуда ни попадя (у С++ и др.). Положив некогда под сукно свой Borland Modula-2, компания просто обрекла себя на копирование и вечное догоняние - и результат мы видим. Да, Object Pascal для образования, безусловно, лучше, чем С с плюсами и диезами. Но - это всё равно Object Pascal... С позиций человека, работающего на Оберонах, уйма перечисленных в документации к АБЦ-Паскалю фич этого языка оказывается просто мусором, сгенерированным американским мейнстримом от своей безграмотности... И незачем этот мусор тащить, например, в школы. Бесполезно ставить рядом перекормленное стероидами детище потонувшей в болоте корпорации Борланд и отточенные десятилетиями продукты Вирта и его учеников (в частности, Блэкбокс), у которых объективно безупречный, эталонный инженерный дизайн. Не воспринимайте это как эмоции по отношению к Вам, это просто некий призыв к размышлению.

Касательно Вашего продукта - я с удовольствием его буду рекомендовать знакомым, которые ведут проекты на Delphi/FreePascal. Думаю, что перспективы именно в промышленном применении (и в вузовском на ИТ-специальностях) у АБЦ-Паскаля, безусловно, есть. Но продвигая его в школы и пытаясь позиционировать как "среду для обучения в школах и младших курсах вузов", вы будете не лучшими кандидатами. Объективно не лучшими. Хотя.... Если в конкретном случае будет конкуренция между АБЦ против Visual Studio и прочей мейнстрим-дряни - то безусловно, лучше АБЦ.

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

Цитата:
P.S. Однако, как следует из диплома одного из разработчиков, система поддерживает разбор с неск. языков - у них есть парсер Оберон-2. А синт. дерево они делали с учётом возможности трансляции со всего семейства Паскаль-Модула-Оберон.

было бы интересно узнать причины, почему выбор пал на ОП, а не на Оберон
тем более раз разрабатывали с нуля АБЦ.нет и парсер для О2 есть

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

ssyy писал(а):
Прообразом PascalABC.NET была система Pascal ABC, на протяжении многих лет успешно использовавшаяся для обучения программированию. Это front-end компилятор. Что обуславливает его основные недостатки:
1) Невозможность генерации exe.
2) Пониженная скорость исполнения программ.
Поэтому и появилась идея PascalABC.NET.

___ писал(а):
было бы интересно узнать причины, почему выбор пал на ОП, а не на Оберон.

Вероятно, изначально указанными недостатками Оберон не обладает поэтому и оставили его в покое. Не навсегда, может быть.

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

Кстати, а на DelphiKingdom.ru не пробовали информировать народ о новом инструменте?

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