В PascalABC.NET срезы по-другому реализованы, а интервальный тип просто не сработает в качестве среза здесь (хотя, не особо то и нужно). Точнее, я бы сказал здесь так - хотите классический Паскаль и чтобы работало как во многих книжках - берите Free Pascal
вместе с Lazarus
или подобный; хотите Паскаль на платформе NET
, чтобы впоследствии перейти на C#
или иной NET
-язык - Oxygen
/PascalABC.NET
. Впрочем, последний как наиболее доступная и простая для обучения (!) альтернатива лучше. Зависит от того, что хочет автор вопроса - выбор то имеется, Паскаль не один, их много (диалектов). Впрочем, иметь представление об обоих было бы не лишним. Во всяком случае, мне интересно узнавать какой был истинный Паскаль, без множеств модификаций при “переносе” его на платформу NET
.
Если говорить откровенно, то ситуация с PascalABC.NET несколько странная - возможности есть, но немного людей ими пользуются; а всё потому, что учебники описывают классический Паскаль. Но, если и так, даже если забыть про новшества PascalABC.NET, то платформа NET
даёт о себе знать - некоторые вещи не могут здесь быть просто реализованы, чтобы сохранить совместимость с тем, что преподают школьникам и студентам. В итоге, что получается: язык хороший, но его применяют не так как следовало бы. Совместимости бы с другими диалектами побольше…
Как по мне, ошибка главная кроется в том, что сам язык реализован не на той платформе, на которой тот же Free Pascal
. Чему мы сами здесь учим? Паскалю? NET
? Мы учим маленькой части Паскаля, а дальше всё - NET
. Это позволит прыгнуть на C#
,VB.NET
/F#
, но также это отрывает нас от существующей программы обучения, которая не будет меняться по нашей прихоти. Кроме того, если мы учим NET
, почему бы не использовать родные языки сразу для этой платформы, а не посредников, которые тянутся в обе стороны - Паскаля и NET
. Я сторонник мнения, что если и делать что-то и учить, то лучше на родных для платформ инструментах и в IDE
, которые располагают достаточным функционалом, не только для обучения. SharpDevelop
- подходит для нескольких языков, даже для C++
. Зачем ограничивать себя?
Посмотрите на C++ CLI
- это смесь C#
и C++
, но не лучше ли просто два языка в проекте использовать, чем эту смесь? Я более чем уверен, что у C#
и у C++
по отдельности функционала больше, чем у C++ CLI
, который ещё может иметь несовместимости с этими языками в некоторых местах (в каких именно?). Ладно, на это ещё глаза закрыть можно, но активное (!) сообщество и хорошая документация - где оно? Точнее, возникла проблема - а кто поможет её решить и насколько быстро? Также и тут - меньше 10 активных участников… Учителей я тоже не наблюдаю, которые бы активно бы здесь помогали ученикам и решали вопросы при разработке. Порой возникает ощущение, что язык делается для самих себя, а не для “народа” (которого, кстати, здесь особо тоже не наблюдается).
Риторический вопрос: Сможем ли мы сохранить популярность PascalABC.NET, как языка для обучения Паскалю (!), если упор делается на NET
?.. Красивая и современная оболочка не заменит внутренности и не скроет их недостатки, также как и красивая графика в фильме не скроет минусы и проколы сюжета в фильме (хотя, почему-то современные фильмы делают часто акцент на графику, а не на прописанность сюжета).