- Любовные романы
- Фантастика и фэнтези
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Описание языка PascalABC.NET - W Cat


- Жанр: Детская литература / Детская образовательная литература
- Название: Описание языка PascalABC.NET
- Автор: W Cat
- Возрастные ограничения: (18+) Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту для удаления материала.
Шрифт:
Интервал:
Закладка:
PascalABC.NET
Общие сведения
Система PascalABC.NET
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).
Коротко о главном
Данный текст содержит краткий обзор особенностей PascalABC.NET.
* PascalABC.NET – легковесная и мощная среда разработки программ с подробной справочной системой, средствами подсказки по коду, автоформатированием, встроенным отладчиком и встроенным дизайнером форм. Интегрированная среда разработки PascalABC.NET ориентирована на создание проектов малой и средней сложности, а также на обучение современному программированию.
* PascalABC.NET – мощный и современный язык программирования. По предоставляемым возможностям он превосходит язык Delphi и содержит практически все возможности языка C#.
* PascalABC.NET опирается на платформу Microsoft .NET - её языковые возможности и библиотеки, что делает его гибким, эффективным, постоянно развивающимся. Кроме того, можно легко сочетать библиотеки, разработанные на PascalABC.NET и других .NET-языках.
* Компилятор PascalABC.NET генерирует код, выполняющийся так же быстро, как и код на C#, и несколько медленнее, чем код на C++ и Delphi.
* PascalABC.NET является представителем линейки современных языков Паскаль вместе с Delphi XE и Oxygene.
* Мнение, что язык Паскаль устарел и утрачивает свои позиции, основано на представлении о старом Паскале и старых средах программирования (например, Free Pascal с его несовременной консольной оболочкой и языком Delphi образца 2002 года). К сожалению, масса отечественной учебной литературы с упорством, достойным лучшего применения, ориентируется на отживший Turbo Pascal с древней консольной оболочкой, бедной графической библиотекой и устаревшими средствами объектно-ориентированного программирования, развивая у обучающихся стойкое отвращение к языку Паскаль вообще.
* PascalABC.NET расширен современными языковыми возможностями для легкого, компактного и понятного програмирования.
* PascalABC.NET – достаточно зрелая среда. Ее прототип – учебная система Pascal ABC – появилась в 2002 году. PascalABC.NET – развивающаяся среда. Ведутся разработки новых языковых возможностей, новых библиотек.
* PascalABC.NET имеет уникальную Web-версию WDE ProgrammingABC.NET, представляющую собой среду разработки в окне браузера. Программы при этом сохраняются и компилируются на сервере, ввод-вывод (в т.ч. и интерактивный) передается по сети.
Далее приводится ряд программ с короткими комментариями, раскрывающих возможности и особенности языка PascalABC.NET.
Тексты программ располагаются в рабочей папке (по умолчанию C:PABCWork.NET) в подпапке Samples!MainFeatures.
Для запуска программ данное окно должно быть открыто через пункт меню Помощь/Коротко о главном так, чтобы оно не полностью закрывало окно оболочки PascalABC.NET.
Основное
* AssignExt.pas. Данный пример иллюстрирует использование расширенных операторов присваивания += -= *= /= для целых и вещественных. Оператор /= для целых, разумеется, запрещен.
* BlockVar.pas. Переменные могут описываться внутри блока begin-end и инициализироваться при описании. Это крайне удобно для промежуточных переменных, а в PascalABC.NET в силу особенностей реализации еще и ускоряет доступ к переменным процентов на 30.
* AutoVars.pas. Если переменная инициализируется при описании, то ее тип можно не указывать: он определяется по типу правой части (автоопределение типа). Переменную - параметр цикла for можно описывать прямо в заголовке цикла, сочетая это с автоопределением типа.
* SimpleNewFeatures.pas. Пример, объединяющий возможности из предыдущих трех примеров.
* WriteAll.pas. Процедура write выводит любой тип. В частности, она выводит все элементы множества. Если тип ей неизвестен, то она выводит имя типа.
* WriteFormat.pas. Стандартная процедура WriteFormat позволяет осуществлять форматированный вывод. Вид форматной строки заимствуется из .NET.
* StandardTypes.pas. В этой программе приведены все стандартные целые и вещественные типы. Программа выводит их размеры.
* RandomDiap.pas. К функциям генерации случайных чисел добавилась Random(a,b), возвращающая случайное целое в диапазоне [a,b]. Процедуру Randomize в начале программы вызывать не надо.
* RealExtNums.pas. Действия с вещественными значениями не могут в .NET привести к переполнению. При некорректных операциях (деление на 0, переполнение или взятие логарифма отрицательного числа) мы получим либо значение бесконечность, либо значение NaN (не число).
* Foreach.pas. Оператор foreach предназначен для цикла по контейнерам, таким как массивы, множества и контейнеры стандартной библиотеки (например, List<T>). Элементы контейнера доступны только на чтение.
* Amp.pas. Ключевые слова могут использоваться в качестве имен, в этом случае перед ними следует ставить значок & снятия атрибута ключевого слова. Кроме того, ключевые слова могут использоваться в качестве полей. Например, &Type или System.Type.
Типы