Первый взгляд
Представьте, что Вы новичок. Даже если это не так. Вообразите, что Вы первый раз пришли в мир программирования и первое что Вам дают изучить — язык Pascal. И говорят, конечно же, писать именно в среде PascalABC.Net. Хорошо, Вы садитесь и начинаете потихоньку изучать сам язык. Ваш скил поднимается и Вам все больше хочется узнать чего-то нового. И вот Вы уже не тот новичок каким были в начале, а человек со средним уровнем знаний программирования. И начиная именно с этого момента — Вы начинаете ощущать некоторый дискомфорт при работе в PascalABC.Net. И чем дальше продвигается изучение языка, и платформы .Net, тем сильнее Вы чувствуйте, что писать то становится не очень удобно. Вы начинаете замечать некоторую нестабильность самой IDE. К слову, Вы уже, наверняка, столкнулись с проблемой при нажатии Ctrl+Z — вылетании ошибки в самой PascalABC.Net при попытке отмены какого-нибудь действия, после чего о редактировании кода и не могло быть и речи. Это только одна проблема из немногих, с которыми Вам предстоит познакомиться.
А что же дальше?
А дальше начинается самое интересное. Вы использовали когда-нибудь при работе обобщения? Если нет, то это стоит сделать, так как именно здесь Вы встретите много подводных камней, и, наверняка, это перевернет Ваше положительное мнение о PascalABC.Net на противоположное. Для примера:
Есть у нас тип функции ft, есть массив (из одного элемента — нуля). Здесь мы вызываем Select для преобразования каждого элемента массива в функцию. Однако, при наведении на a анализатор кода вместо того, чтобы показывать sequence of ft, показывает sequence of integer. А при наведении на Select вместо того, чтобы показывать ft показывает нам загадочное TResult (которое ни о чём не говорит). И это в самой последней версии этой IDE. Почему? Дальше поймете по чему.
Не используйте обобщения
Да, именно так звучит этот заголовок. Не думайте, что я шучу. Я на полном серьезе. Если хотите использовать их — идите и пишите на C#, поскольку в PascalABC.Net они реализованы лишь для галочки (слишком некачественно). К примеру, есть у нас обобщенный тип (автокласс) TA, имеющий один шаблонный параметр T. От него наследуется другой класс — TB, добавляя еще один шаблонный параметр-тип T2.
И всего то. Но компиляцию это не проходит. Компилятор вылетает с ужасающей ошибкой:
Нормально? Не думаю. А вот и ссылка на этот Issue. Сразу можно сделать два вывода: не надо использовать автоклассы в этом компиляторе с обобщениями.
Не используйте форматирование
Звучит забавно, но как можно не пользоваться форматированием кода при написании программ? И почему нет? Да, пожалуй звучит так, но помните, что мы пишем именно в PascalABC.Net. И сразу пример почему нет:
А теперь нажмите Ctrl+Shift+F (форматировать код) и на выходе будет красоваться это:
А теперь представьте, что этот проект — что то важное для Вас и Вы пользовались этими расширенными свойствами не один раз. А потом взяли все и отформатировали. Учтите, что не стоит забывать об ошибке с Ctrl+Z, поэтому может получиться так, что отменить Вы это уже не сможете.
Не самое лучшее отношение разработчиков к пользователям и их просьбам
Я не цитировал. Но общий смысл таков, что делать им это лень. Извините меня, но вы же сами захотели эту среду сделать (хотя это не ваша основная работа), так будьте добры делать ее качественно. Такое отношение не только убивает желание помогать разработчикам исправлять баги в среде, но и писать вообще в ней.
PascalABC.NET для Windows

PascalABC.NET — это язык Object Pascal для платформы Microsoft.NET, содержащий все основные элементы современных языков программирования: модули, классы, перегрузку операций, интерфейсы, исключения, обобщенные классы, сборку мусора. Система PascalABC.NET включает в себя также простую визуальную среду, ориентированную на эффективное обучение программированию.
Язык PascalABC.NET близок к языку программирования Delphi. В него добавлен ряд новых возможностей, среди которых — внутриблочные переменные, автоопределение типа при описании, методы в записях, подпрограммы с переменным числом параметров, операторы +=, -=, *=, /=, оператор foreach, описание переменных в заголовке цикла.
Система основана на платформе Microsoft .NET, которая обеспечивает язык PascalABC.NET огромным количеством стандартных библиотек и позволяет легко сочетать его с другими .NET-языками: C#, Visual Basic.NET, управляемый C++, Delphi.NET, Delphi Prism и др.
Интегрированная среда обеспечивает подсветку синтаксиса, подсказку по коду (подсказку по точке, подсказку по параметрам подпрограммы, всплывающую подсказку по коду), переход к определению и реализации подпрограммы, элементы рефакторинга, обработку документирующих комментариев.
Система включает большинство модулей системы программирования Pascal ABC, ориентированных на обучение:
Общие сведения
PascalABC.NET – это система программирования и язык Pascal нового поколения для платформы Microsoft .NET. Язык PascalABC.NET содержит все основные элементы современных языков программирования: модули, классы, перегрузку операций, интерфейсы, исключения, обобщенные классы, сборку мусора, лямбда-выражения, а также некоторые средства параллельности, в том числе директивы OpenMP. Система PascalABC.NET включает в себя также простую интегрированную среду, ориентированную на эффективное обучение современному программированию.
* Описание языка PascalABC.NET. Преимущества PascalABC.NET для разработки программ и для обучения. Отличия PascalABC.NET от Delphi (Object Pascal). Примеры, иллюстрирующие основные особенности PascalABC.NET, находятся в меню «Помощь/Коротко о главном».
Язык Паскаль был разработан швейцарским ученым Никлаусом Виртом в 1970 г. как язык со строгой типизацией и интуитивно понятным синтаксисом. В 80-е годы наиболее известной реализацией стал компилятор Turbo Pascal фирмы Borland, в 90-е ему на смену пришла среда программирования Delphi, которая стала одной из лучших сред для быстрого создания приложений под Windows. Delphi ввела в язык Паскаль ряд удачных объектно-ориентированных расширений, обновленный язык получил название Object Pascal. С версии Delphi 7 язык Delphi Object Pascal стал называться просто Delphi. Из альтернативных реализаций Object Pascal следует отметить многоплатформенный open source компилятор Free Pascal.
Создание PascalABC.NET диктовалось двумя основными причинами: устаревание стандартного языка Pascal и систем, построенных на его основе (Free Pascal), а также необходимость в современной простой, бесплатной и мощной интегрированной среде программирования.
PascalABC.NET опирается на передовую платформу программирования Microsoft.NET, которая обеспечивает язык PascalABC.NET огромным количеством стандартных библиотек и позволяет легко сочетать его с другими .NET-языками: C#, Visual Basic.NET, управляемый C++, Oxygene и др. Платформа .NET предоставляет также такие языковые средства как единый механизм обработки исключений, единый механизм управления памятью в виде сборки мусора, а также возможность свободного использования классов, наследования, полиморфизма и интерфейсов между модулями, написанными на разных .NET-языках. О том, что такое платформа Microsoft.NET, о ее преимуществах для программирования и для обучения можно прочитать здесь.
Язык PascalABC.NET близок к реализации Delphi (Object Pascal). В нем отсутствует ряд специфических языковых конструкций Delphi, некоторые конструкции изменены. Кроме этого, добавлен ряд возможностей: имеется автоопределение типа при описании, можно описывать переменные внутри блока, имеются операции +=, -=, *=, /=, методы можно описывать непосредственно в теле класса или записи, можно пользоваться встроенными в стандартные типы методами и свойствами, память под объекты управляется сборщиком мусора и не требует явного освобождения, множества set могут быть созданы на основе произвольных типов, введен операторы foreach, переменные циклов for и foreach можно описывать непосредственно в заголовке цикла, имеются обобщенные классы и подпрограммы (generics), лямбда-выражения и др.
Близким по идеологии к PascalABC.NET является язык RemObjects Oxygene (Object Pascal 21 века). Однако он сильно изменен в сторону .NET: нет глобальных описаний, все описания помещаются в класс, содержащий статический метод Main, отсутствует ряд стандартных подпрограмм языка Паскаль. Кроме того, система RemObjects Oxygene — платная и не содержит собственной оболочки (встраивается в Visual Studio и другие IDE), что практически делает невозможным ее в сфере образования.
Интегрированная среда PascalABC.NET обеспечивает подсветку синтаксиса, подсказку по коду (подсказка по точке, подсказка параметров подпрограмм, всплывающая подсказка по коду), форматирование текста программы по запросу, переход к определению и реализации имени, элементы рефакторинга.
Все права на систему программирования PascalABC.NET принадлежат PascalABCCompiler Team (web-сайт http://pascalabc.net).
Читайте также
5.3 Общие сведения о «ГИМП»
5.3 Общие сведения о «ГИМП» GNU Image Manipulation Program (Программа ГНУ для манипуляции изображениями), или сокращенно GIMP – потомок курсового проекта двух студентов, Питера Маттаса и Спенсера Кимболла (1985-86 гг.).За восемь лет и при участии десятков программистов «ГИМП» вырос в один из
Общие сведения
Общие сведения Для чего же оно вообще нужно, это дистанционное обучение? Кому оно может понадобиться? Оказывается, многим.– Наибольшее количество удаленно обучающихся составляют пользователи в возрасте от 25 до 30 лет. Для них обучение в классическом виде невозможно из-за
Глава 1 Общие сведения
Глава 1 Общие сведения 1.1. Гонки на выживание: Windows XP, Windows Vista и Windows 71.2. Новое в Windows 71.3. Версии операционной системы1.4. Системные требования1.5. Проверка на совместимостьПоявления новой операционной системы Windows 7, автором которой является корпорация Microsoft, ждали многие,
1.1. Общие сведения об оформлении
1.1. Общие сведения об оформлении Объем работы обычно либо оговорен руководителем, либо задан соответствующими методическими указаниями. Чаще всего реферат не должен превышать 15–20 страниц, курсовая работа – 25–30, а дипломная – 90-100.Документ оформляют в текстовом
5.3 Общие сведения о «ГИМП»
5.3 Общие сведения о «ГИМП» GNU Image Manipulation Program (Программа ГНУ для манипуляции изображениями), или сокращенно GIMP — потомок курсового проекта двух студентов, Питера Маттаса и Спенсера Кимболла (1985-86 гг.).За восемь лет и при участии десятков программистов «ГИМП» вырос в один из
Общие сведения
Общие сведения Одним из достоинств модуля buZZ.Pro является возможность использования нескольких фильтров одновременно и гибкое управление их настройками. При выборе строки плагина из меню Filters (Фильтры) появляется так называемый стек – окно Custom (Настройка), в котором
2.1.2. Общие сведения о сокетах
2.1.2. Общие сведения о сокетах Сокетом (от англ. socket — гнездо, розетка) называется специальный объект, создаваемый для отправки и получения данных через сеть. Отметим, что под термином "объект" в данном случае подразумевается не объект в терминах объектно-ориентированного
1. Общие сведения о Windows
1. Общие сведения о Windows Прежде чем приступать к установке Windows XP, вспомним, что подразумевается под словосочетанием «операционная система», что такое файл и папка. Не стоит пугаться умных слов, которые будут встречаться ниже. Если вы до конца не сможете понять разницу
7.1. Общие сведения о динамике в 3ds Max
7.1. Общие сведения о динамике в 3ds Max Когда мы говорим о динамике, то в первую очередь представляем себе движущиеся объекты. Наверное, многие из вас помнят из школьной программы, что динамика является одним из разделов механики и изучает движение различных объектов под
Общие сведения
Общие сведения Главная страница, посвященная .NET Compact Framework, находится по адресу http://msdn.microsoft.com/netframework/programming/netcf/default.aspx. Там можно найти все последние новости о рассматриваемой технологии, обновления программ, ссылки на другие полезные сайты, примеры.Технология .NET Compact
Общие сведения о слоях
Общие сведения о слоях Слои – один из мощных механизмов визуального представления объектов, обеспечивающий при умелом использовании максимально удобную работу с проектной документацией.На чертеже плана этажа должны располагаться изображения конструктивных
Общие сведения
Общие сведения Во-первых, рассмотрим ключевые понятия. Архивация (запаковка) – это сжатие файлов. Для окончательного усваивания этого понятия представьте себе поролоновую губку – она с виду большая, но ее можно сжать и запихнуть в емкость гораздо меньшего объема. Архив
Общие сведения
Общие сведения Система PascalABC.NET PascalABC.NET – это система программирования и язык Pascal нового поколения для платформы Microsoft .NET. Язык PascalABC.NET содержит все основные элементы современных языков программирования: модули, классы, перегрузку операций, интерфейсы, исключения,
5.1. Интернет: общие сведения
5.1. Интернет: общие сведения В части I я рассказывал вам о компьютере и о программах, которые работают в среде Windows, — архиваторах, антивирусах, видео- и аудиопроигрывателях. Теперь же настало время поговорить о компьютерных сетях. Согласитесь, намного удобнее объединить
Общие сведения
Общие сведения Электронная почта (E-mail) – один из первых сервисов Интернета, который до сих пор является самым популярным.Пользователи электронной почты могут обмениваться между собой письмами. Каждое письмо пользователь создает на своем компьютере, после чего
Общие сведения
Общие сведения Макрос – это программа, написанная на некотором языке, которая используется обычно для автоматизации определенных процессов внутри приложений. В данном случае разговор пойдет о языках Visual Basic for Applications (VBA) и WordBasic (WB), которые Microsoft использует в своих