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)
Ответ на: комментарий от robus

У него может сильно отличаться лишь одна функция. В паскале я так полагаю нет специализаций?

Когда отличается функция, используется параметрический полиморфизм методов.

В паскале специализация всегда явная:

TPointerList = specialize TList<Pointer>;
TOtherPtList = specialize TList<Pointer>;

Два разных типа.

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

Можно специализировать по ранее специализированному типу:

TPointerList = specialize TList<Pointer>;
TOtherPtList = specialize TList<TPointerList>;
TThirdPtList = specialize TList<TOtherPtList>;

Множественного наследования нет. Есть интерфейсы.

TCustomClass = Class(TSomeInterfacedObject,IJustOtherInterface)  
  function Func : integer;  
  function OtherFunc : integer;  
end;
tp_for_my_bunghole
()
Ответ на: комментарий от rechnick

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

Если бы ядро было написано на Паскале, они бы дергали на Паскаль. Очевидно же.

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

Странно. Мне почему-то ни VB первым языком, ни паскаль в универе никак не мешают теперь писать на си модули для ядра. А скромные познания в haskell и erlang расширили кругозор.

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

Мне почему-то ни VB первым языком

А я вот тут прочитал такую фразу, цитирую:

BASIC - Васик. Не язык. Человек, начавший изучать программирование с этого с позволения сказать языка, навеки останется нравственным и интеллектуальным уродом.

:-)

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

латыни/эсперанто любой европейский учится легко

Пфф, тоже мне удивил. После английского ты влегкую понимаешь процентов 50 французского текста и 40 голландского и 30 немецкого. И это с нуля. Прикинь, что будет, если чуток прокачать. И заметь, английский сам по себе мегаполезен для жизни, в отличие от мертвяка типа латыни и эсперанто.

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

Ну там товарищ вообще много всякой херни пишет.

Дело не в языке как таковом, а в его применимости. Паскаль вполне неплох для обьяснения концепций структурного императивного программирования «для всех». В отличие от сишечки, потроха ОС не торчат наружу в виде #include <stdio.h>. А с пониманием концепций императивного и функционального программирования и ООП, конкретный язык становится вообще не важен.

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

А я вот тут прочитал такую фразу, цитирую:

Зачем ходишь по свалкам рунета? Васик и вижуалвасик - два совершенно разных языка. Оригинальный васик пинали за отсутствие алгоритмических структур. Сейчас ты его встретишь только в музее.

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

Переделанная фраза Дейкстры. Причём переделывал тупень.

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

Зачем ходишь по свалкам рунета?

Вспомнился материал из прошлого, когда увидел слово «бейсик» :-)

Васик и вижуалвасик - два совершенно разных языка.

Как говорится: «хрен редьки не слаще» :-) Всё это семейство ущербных недоязычов для особо одарённых :-)

Оригинальный васик пинали за отсутствие алгоритмических структур. Сейчас ты его встретишь только в музее.

Впрочем, как и любую разновидность Паскаля. Беспонтовый язык, годный, разве что, для чтения книжек за авторством Никлауса Вирта :-)

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

человек, не знающий английского хотя бы на уровне c1 (toefl ~93) будет восприниматься в USA и Канаде (первейшие страны для иммиграции) как человек второго сорта. Программистом еще можно, а вот начальником отдела - проблемы, ты же «мама мыла раму» без ошибок написать не можешь, куда там заниматься тонкой огранизационной психологией?

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

вот и получается, что человек к 8 класса (или когда сейчас изучают программирование в школе?) уже должен шпарить инглиш как родной. Глядишь после 11 класса может быть сможет как белый человек поехать как exchange student уже куда-нибудь. Заметь что в некоторых вузах требуют сразу c2+ (toefl 100+ ?)

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

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

Это Германия небольшая?

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

Дурачок, в США гринкарту получить весьма проблематично, а в Германии демографическая яма и беспроблемное оформление рабочих виз для специалистов.

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

USA и Канаде (первейшие страны для иммиграции)

Бугага :-)

можно конечно выучить немецкий, но в шансах иммиграции в Германию

Туда нынче слишком много желающих :-)

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

А вот это самое главное. Код на Ocaml, будет ли он сопоставим по скорости с кодом на плюсах (аналогичной кривизны), откомпилированном

Ну ты и темный... Знаешь на чем написана библиотека FFTW? Расшифровывается Fastest Fourier Transforms on the West не просто так.

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

(первейшие страны для иммиграции)

Я не собираюсь эмигрировать. Вообще, нормальные люди из своей страны не эмигрируют.

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

Я с момента приватных бет им пользуюсь, брат жив.

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

можно конечно выучить немецкий, но в шансах иммиграции в Германию, загадывая на будущее в 5 лет (или когда ты там начал обучать ребенка зарубежному языку), вероятность явно не на твоей стороне, правда?

Скорее не на твоей, но всё равно привет тебе из Германии. Немецкий учил до того, как переехал полгода, это третий иностранный язык (после английского и французского)... по сравнению с США и Канадой, всё было на порядок проще.

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

Чего-то я не понял, в чем это я исключение? В том, что в итоге работаю программистом, хотя начинал писать первые программы в 6 лет? Мне почему-то кажется, что наоборот, больше вероятность в будущем стать программистом, если ты писал программы когда был ребенком, чем если нет.

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

Вообще, нормальные люди из своей страны не эмигрируют.

Если страна нормальная, то да. А если в ней творится перманентный звиздец вроде религиозных войн (про ближний восток, если что)?

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

А ничтожества, которые хотят получить сразу «востребованные навыки» должны идти в ПТУ.

Мне сдаётся, ты хочешь обидеть ПТУ, там тоже профессии 3 года учат :) А для моментальной востребованности - это максимум лопату с веником в руки дать. Да и то...

Выносил я как-то мусорный бак. Замерз. Опрокинул его метра за три до помойки. Минут через пятнадцать к нам явился дворник. Устроил скандал. Выяснилось, что он по мусору легко устанавливает жильца и номер квартиры. В любой работе есть место творчеству.

(С. Довлатов)

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

У тебя от С травма? Или от чего поновее, типа Go?

anonymous
()
Ответ на: BlackBox от be_nt_all

Вот здесь (https://github.com/romiras/BlackBox-Component-Framework.git) нормальные люди сконвертировали это убожество, бинарный формат исходного кода .odc в нормальный текстовый .cp. Оберонщики всё не могут понять, что бесполезно иметь исходный код в бинарном виде, который может редактировать только один единственные редактор (собственно этот самый Blackbox). Это как писать код в Word-е.

rupert ★★★★★
()
Ответ на: BlackBox от be_nt_all

Ого, и в графон умеет! Годнота!

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

Это где требуют английский уровня C2? В основном нужен эквивалент IELTS 7.0/TOEFL 95.

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

в точности тоже самое

Только хотел написать, но вы опередили. И все таки почему не Python? Намного перспективней чем Pascal.

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

Вообще, нормальные люди из своей страны не эмигрируют

Даже из Германии в 1933 или из России в 2015 1917? Мне вот всегда казалось наоборот, что не эмигрируют только ненормальные.

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

а что такого в 1933 явно отличало страны из которых( по результату следующих 20 лет) из которых необходимо бежать от тех в которых полезней остаться?

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

C++ самый мертворожденный.

К большому сожалению, эта дрянь настолько широко используется, что называть её мертворожденной можно разве что для толстенного троллинга, ничего, кроме смеха не вызывающего :-)

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

C++ самый мертворожденный.

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

Это зомби в лаборатории где проводят опыты.

Precompiled headers.

И любой опыт работает только частично, с тяжёлыми побочными эффектами.

tp_for_my_bunghole
()
Последнее исправление: tp_for_my_bunghole (всего исправлений: 1)
Ответ на: комментарий от anonymous

Там немного окамла, и куча сишного кода на интринсиках.

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

Ницше, Шницше

По себе скажу, что когда учишь язык только как факт, для галочки, без применения на практике - тогда - да, набираешься слов, но реализации их нет. И тогда получается что учишь язык для каких-то не ясных целей. Что меня озадачило у Ницше, так это то, что он считает человека ограниченным. Я, по моему скромному мнению не ограничиваю себя и свои возможности: вероятно именно по этому у меня легко идут иностранные языки в принципе: европейские языки изучаю особенно не замечая сложностей - английский, немецкий, французский...

Maxroy
()

не понимаю

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

Vlad2015
()

Если Паскаль только для обучения школоты. То каждый уважающий Си программист должен написать несколько реально работающих операционных систем. Иначе зачем он нужен? Окошки с кнопочками можно заставить работать и на visual basic. Не верите?

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

Ф.Л. Бауэр Г.Гооз Информатика двухтомничек в той редакции где Algol60 заменён на p-ASCA-l гдe pl programming language

Ну, собственно, Паскаль — это и есть Алгол 60 «с человеческом лицом» (Вирт его сделал после того как его Algol-W не взяли как основу для Алгола-68). Так что замена более чем естественна.

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

Вообще-то, немецкий активно используется, минимум в трех развитых странах - Германии, Швейцарии и Австрии. И знание немецкого - это огромный, огромнейший плюс для карьеры в этих странах. Несмотря на то, что английский практически во всех крупных немецких компаниях используется повсеместно, забраться повыше может только тот, кто spricht Deutsch.

kaafree
()

Почему до сих пор нет свободной реализации 1С:Предприятия? Самый актуальный ЯП и среда для России.

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

Почему до сих пор нет свободной реализации 1С:Предприятия? Самый актуальный ЯП и среда для России.

Ну, тут проблема не в языке. GPL-ная 2С была успешно написана (windows only, правда, с использованием MFC), правда её авторы по той или иной причине потеряли интерес к своему продукту. Сделать что-то подобное ещё раз вполне под силу нескольким программистам в разумные сроки, хоть на основе Qt (a lá Ananas), хоть поверх ядра Eclipse (как в украинском Debet Plus), хоть ещё как. Эти два примера используют JavaScript, но и реализация собственного DSL, максимально близкого к 1-сику, при том что есть много современных продвинутых средств DSL-строения — проблема решаемая. А вот дальше основная сложность — организационные проблемы. Нужно будет конкурировать со сложившейся структурой франчайзи 1С, нужно как-то организовать источник постоянного дохода для мэйнтейнеров/разработчиков ядра, вероятно нужно будет содержать некую централизованную структуру, которая будет отслеживать изменения в [около]законадатеельстве и взаимодействовать с налоговой и т.п. чтобы, опять же, соответствовать. На первое время можно будет кое-что подсмотреть у 1С, но прямое заимствование кода конфигурации у могучего конкурента так просто с рук не сойдёт. В общем, такие дела…

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