LINUX.ORG.RU

PascalABC.NET стал свободным ПО

 , ,


2

2

PascalABC.NET — диалект языка Pascal для платформ .NET и Mono, а также компилятор и среда разработки для него. Разрабатывается в Южном Федеральном Университете и используется для обучения программированию. Среда разработки работает только под Windows, но компилятор работает и в GNU/Linux под Mono.

Долгое время проект имел проприетарную лицензию (распространялся при этом бесплатно), но 28 августа 2015 года (одновременно с выпуском версии 3.0) переведён на GNU LGPL.

Особенности (с официального сайта):

  • Ряд расширений языка Pascal, в числе которых оператор foreach, внутриблочные описания переменных, автоопределение типа при описании, встроенные множества произвольных типов, упрощенный синтаксис модулей, методы в записях, операция new для создания объектов, определение тел методов внутри классов, безымянные классы, автоклассы, целые произвольной длины.
  • Самые современные средства языков программирования: обобщенные классы и подпрограммы, интерфейсы, перегрузка операций, λ-выражения, исключения, сборка мусора, n-мерные динамические массивы.
  • Генерация эффективного кода для платформы .NET.
  • Высокая совместимость с Delphi.
  • Высокая скорость выполнения программ.
  • Возможность доступа к огромному количеству .NET-библиотек от контейнерных классов до средств работы с сетью.
  • Среда разработки с встроенным отладчиком, обеспечивающая подсказки по коду, переход к определению и реализации подпрограммы, шаблоны кода, автоформатирование кода.
  • Встроенный в среду разработки дизайнер форм для быстрого создания оконных приложений.
  • Простая и эффективная растровая графическая библиотека.
  • Средства параллельного программирования в виде директив OpenMP.
  • Встроенный электронный задачник Programming Taskbook.
  • Модули исполнителей Робот и Чертежник, используемых в школьной информатике.
  • Механизм проверяемых заданий, обеспечивающий автоматическую постановку и проверку заданий.
  • Наличие Web-среды разработки WDE, позволяющей запустить программу прямо из окна браузера.
  • Возможность опубликовать в интернете ссылку на файл, сохраненный в Web-среде разработки.
  • Возможность запуска консольного компилятора под Mono в современных версиях Linux.
  • Использование многолетнего опыта обучения программированию при создании языка и среды.

Репозиторий на GitHub

>>> Подробности

★★★★

Проверено: fallout4all ()
Последнее исправление: fallout4all (всего исправлений: 10)
Ответ на: комментарий от peregrine

Себя. Больше никого, да. Но мне было очень интересно.

Quickern ★★
()

не нужно !!!!!!1111

- орали уже ? (тред ни читал)

anonymous
()
Ответ на: комментарий от Vudod

Если продолжать проводить аналогии - то поцкаль - это «мамамыла раму». И порядок слов менять нельзя. А то, что ты описал - это любой естественный язык и рано или поздно его придётся освоить.

anonymous
()
Ответ на: комментарий от frost_ii

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

Quickern ★★
()
Ответ на: комментарий от robus

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

Сам пишу на плюсах, есличо.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

А вообще, я, конечно, приветствую открытие сабжа, но больше за фрипаскаль, поскольку тот умеет нативную компиляцию.

hobbit ★★★★★
()

В пингвиньей среде Си на пьедестале, как я погляжу. Мало кто что-то реально пишет, но дёргают на этот Си яростно.

rechnick ★★★
()
Ответ на: комментарий от rechnick

В пингвиньей среде Си на пьедестале, как я погляжу. Мало кто что-то реально пишет, но дёргают на этот Си яростно.

а еще множество людей пишут не ОО код на C++, казалось бы достаточно C... Спрашивается - нахуя?

anonymous
()
Ответ на: комментарий от anonymous

видимо ради STL (string, find, sort, transform, ... вот это всё)

anonymous
()
Ответ на: комментарий от anonymous

«там» вообще всё очень любопытно.

например некоторое число столпов современного cs первое высшее в «классической филологии» https://ru.wikipedia.org/wiki/Классическая_филология

а тут и гермашка (ну и прочие 200 лет вместе и подарок из Польши в РИ)

https://en.wikipedia.org/w/index.php?title=Classics&redirect=no#Philology

qulinxao ★★☆
()
Ответ на: комментарий от mbivanyuk

1. История чтения в западном мире от античности до наших дней.

------------далее исхожу что оппонент в курсе (1)-----------------

2. дело не в паскале вовсе (который дитя своего времени ) - дело в той системе кондиционирования где требуется чуть ли не решение очередного Солнцеликого(см реформу образования 1934, 1960-ыч-70ых, введение информатики(конвергениция с европой а не cs(c америцей) в 80ых) для снятия инерции прошлых циклов.

примечательно что ООП-евангелизм на территории СНГ в высших учебных заведениях всех уровней(от заборостроительных до...) был более распространён в 90ых чем в Европке-Америке.

qulinxao ★★☆
()
Ответ на: комментарий от mbivanyuk

зависит от уровня учебного заведения и уровня изучающего.

если это фзу -то необходимо и достаточно научать использовать то оборудование которое на этом З в наличии - т.е. целевое натаскивание.

если это ....

если это ....

но мир прекрасен несовершенством.

qulinxao ★★☆
()
Ответ на: комментарий от robus

Паскаль уже может может в полноценные template?

Макро подстановки названия типа в шаблон кода? Умеет для классов(generics).

Ни один язык не использует шаблоны кода(templates) в таком же виде как в C++, потому что невозможно реализовать нормальную систему сообщения об ошибках в коде с шаблонами.

tp_for_my_bunghole
()
Ответ на: комментарий от anonymous

Надо обучать бухать и бить морду. Понадобится с вероятностью близкой к 100%

У нас, в Горном, это было на факультативных занятиях, все десять семестров.

anonymous
()
Ответ на: комментарий от reprimand

история коммитов радует. За такое надо по рукам давать

Тогда за такое (забытый конфликт в TreeConverter/TreeConversion/CompilationErrors.cs) сразу убивать?

         {
             if (values != null)
                 return string.Format(StringResources.Get(ErrResourceString), values);
-<<<<<<< HEAD
-            else return string.Format(StringResources.Get(ErrResourceString),"");
-=======
             else
                 return string.Format(StringResources.Get(ErrResourceString), "");
->>>>>>> 723c42a9a7eb640d4070e6baabe6e553909acbd4
         }
     }

bormant ★★★★★
()
Ответ на: комментарий от anonymous

Учащиеся должны достигать успеха с разумной затратой сил. Независимо от того, станут они профессиональными программистами или нет.

Если они не станут профессиональными программистами и не будут программировать вообще, то им не нужно учить программирование.

anonymous
()
Ответ на: комментарий от anonymous

Надо обучать бухать и бить морду. Понадобится с вероятностью близкой к 100%

Не надо судить по себе. Это раз. Два - для дальнейшей работы не понадобится. Если же вам за «бухать и бить морду» будут платить - да вам будет нужно этому учиться.

anonymous
()
Ответ на: комментарий от mbivanyuk

Зависит от того что делать будет, мне по работе часто приходится прибегать и к delphi, c, c++ и даже bash и питону...

svsd_val ★★
()
Ответ на: комментарий от tp_for_my_bunghole

Из перечисленного только Германия представляет собой страну первого мира. А там он в российских масштабах применяется в обучении?

spqr ★★★
()
Ответ на: комментарий от mbivanyuk

А где написано что «С++ Залог Успеха Ребёнка»?? или кроме С++ нет ничего ?

svsd_val ★★
()
Ответ на: комментарий от anonymous

Если они не станут профессиональными программистами и не будут программировать вообще, то им не нужно учить программирование.

Если не будут биологами, то не надо учить биологии, если не будут историками, то не надо учить истории, если не будут переводчиками то нафиг учить иностранные языки. Программирование - один из хороших способов правильно сформировать мозги ребёнка. Это ещё если забыть о том, что в классе 8 или когда там начинается информатика, ещё совершенно неясно кем же ребёнок станет в своей будущей жизни.

Igor_FF
()
Ответ на: комментарий от anonymous

Так хорошо учил, что не можешь правильно название написать.

Граммарнацци атакуют.

А про забудешь - вранье.

Враньё что враньё. Если ничего лишнего не забывать, то в дурку попадёшь. Ты попал?

Napilnik ★★★★★
()
Ответ на: комментарий от spqr

Из перечисленного только Германия представляет собой страну первого мира. А там он в российских масштабах применяется в обучении?

Бразилия, Южная Корея, Швейцария, Румыния, Хорватия, Дания, Мексика, Венгрия, Индонезия.

Я не знаю как в РФ, я не россиянин, в колледже учил C. Но понял его потом когда разобрался с ассемблером и принципами работы ОС(что связано с процессорами, защищённые режимы, тогда это удивляло).

В Германии преподают разное, но Pascal сохраняет позиции. И именно германские студенты так же жалуются на pascal как российские. Но у немецких студентов жалобы скорее вопросительные, они хотят что бы им объяснили. Любой студент не понимает ничего в этом, и восприимчив к hype. Object Pascal не хиповый.

Если бы Object Pascal был в ОС, то дистрибутивы вида Gentoo были бы сильной альтернативой.

В большинстве случаев, программы на object pascal могут обойтись без встраивания скриптовых интерпретаторов, просто за счёт быстрой компиляции. А студентам даже объяснять что такое Autotools и альтернативы, лучше не надо.

tp_for_my_bunghole
()
Ответ на: комментарий от Igor_FF

Если не будут биологами, то не надо учить биологии, если не будут историками, то не надо учить истории

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

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

P.S. Когда станете старше, поймете, насколько ценно время (особенно в детстве и молодости) чтобы разбазаривать его на то, что ненужно.

P.P.S. Если бы от меня зависело, я бы (из вашего списка) историю не учил. И это при том, что у меня по ней были сплошные пятерки.

anonymous
()
Ответ на: комментарий от anonymous

Это ещё если забыть о том, что в классе 8 или когда там начинается информатика, ещё совершенно неясно кем же ребёнок станет в своей будущей жизни.

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

И потом, как школьная программа соотносится с интересами и желаниями ребенка? Не знаю как сейчас, а раньше никак.

anonymous
()
Ответ на: комментарий от Napilnik

А вот и типичные отмазы неосилятора с раздутым ЧСВ, оправдывающий своё неосиляторство всеми возможными способами.

Да-да, родной. У тебя и с трудом не получается то, что с лёгкостью получается у других? Нет, конечно же это не ты дурак. Это они ненормальные.

Главное, повторяй это почаще.

anonymous
()
Ответ на: комментарий от Kaschenko

Потому что на паскале можно обучать программированию, а не свистопляскам с указателями.

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

Wizard_ ★★★★★
()
Ответ на: комментарий от mbivanyuk

Почему не бейсик, фортран, PHP или даже си?

PHP не подходит для мучения школьников, потому что для сортировки там есть отдельная встроенная функция.

Wizard_ ★★★★★
()
Ответ на: комментарий от peregrine

Я в шесть лет начал учить Бейсик, первые программы были примитивные текстовые RPG из нескольких шагов... если у тебя нет мозгов, это не значит, что ни у кого нет.

anonymous
()
Ответ на: комментарий от Tarian

А Питон не имеет статической типизации как уже было упомянуто (а это на этапе обучения имхо важно).

Типизацию лучше изучать отдельно, с использованием более подходящего инструмента. Например, Си. Там как раз и арифметика указателей будет в тему.

Wizard_ ★★★★★
()
Ответ на: комментарий от Kaschenko

Чем Паскаль лучше Питона для обучения?

Wizard_ ★★★★★
()

Читаю презентацию: полно комментариев «Код на старом Паскале – ужасен», мда... автор — полный неадекват. Сравнивает функцию сортировки из стандартной библиотеки с ручной реализацией сортировки пузырьком.

Процедура Sort содержит максимально эффективный алгоритм.

Интересно, какой же это? Максимально эффективный по всем критериям сразу? Миру следует поучиться у PascalABC.NET!

При реализации этих процедур вручную ученик нередко допускает ошибки.

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

anonymous
()
Ответ на: комментарий от mbivanyuk

Обучать надо вообще на Лого. А ничтожества, которые хотят получить сразу «востребованные навыки» должны идти в ПТУ. Этой грязи в высшем образовании (да и в школе тоже) вообще не место.

anonymous
()
Ответ на: комментарий от mbivanyuk

Чувашский не надо. Латынь и древнегреческий - надо.

anonymous
()
Ответ на: комментарий от anonymous

.NET на голову выше твоего ублюдочного JVM, утырок ты необразованный. А моно на порядок круче оригинального .NET.

anonymous
()
Ответ на: комментарий от I-Love-Microsoft

Сколько UB в Си, и сколько в Паскале?

anonymous
()
Ответ на: комментарий от rupert

а что-то вроде питона с паскале-подобным синтаксисом.

Зачем этот многобуквенный синтаксис тащить в питон? Не нравятся отступы — пусть классические скобки сделают, а не бегины с эндами.

te111011010
()
Ответ на: комментарий от anonymous

Ну давай, расскажи несмышлёным лоровцам, на что тратить бесценное время детства и молодости.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.