PascalABC.NET 4.0
PascalABC.NET 4.0 — новое поколение системы программирования PascalABC.NET.
Главные изменения версии 4.0 — multitarget-поддержка .NET Framework 4.7.2 и .NET 10, официальное расширение PascalABC.NET для Visual Studio Code с IntelliSense и новая библиотека ML PascalABC.NET для анализа данных и машинного обучения.
Версия 4.0 сохраняет преемственность с PascalABC.NET 3.x, но существенно расширяет платформенные и инструментальные возможности системы.
Multitarget: .NET Framework 4.7.2 + .NET 10
PascalABC.NET 4.0 впервые поддерживает две целевые платформы:
.NET Framework 4.7.2 — классическая платформа PascalABC.NET, на которой работает основная среда разработки и существующая экосистема библиотек.
.NET 10 — современная платформа .NET с актуальным runtime и стандартной библиотекой.
Пользователь может выбирать target в зависимости от задачи, сохраняя один язык и привычную модель программирования.
Современные возможности .NET
Поддержка .NET 10 потребовала существенной переработки backend компилятора.
В новом target реализована поддержка managed references и ref-like типов, необходимая для полноценной работы с современными API .NET:
- ref-return значения;
- ref-like типы;
Span<T>иReadOnlySpan<T>;- работа с диапазонами памяти без создания лишних копий.
Например, Span<T> позволяет представить часть массива или другого непрерывного блока памяти без выделения нового массива. Это важно для современных высокопроизводительных API .NET.
Таким образом, программы PascalABC.NET могут непосредственно использовать современные библиотеки и механизмы платформы .NET 10.
PascalABC.NET для Visual Studio Code
Для PascalABC.NET 4.0 создано официальное расширение для Visual Studio Code.
Расширение использует специальный Language Server, связанный с семантическим анализатором PascalABC.NET, и предоставляет:
- подсказки по коду;
- completion членов после точки;
- Hover-информацию о типах и элементах программы;
- Signature Help для процедур, функций и методов;
- отображение ошибок компиляции;
- компиляцию и запуск программ;
- поддержку .NET Framework 4.7.2 и .NET 10.
Таким образом, PascalABC.NET теперь можно полноценно использовать не только в собственной среде разработки, но и в Visual Studio Code.
PascalABC.NET для Visual Studio Code →
ML PascalABC.NET
ML PascalABC.NET — новая библиотека для анализа данных и классического машинного обучения на PascalABC.NET.
Она предоставляет единый набор инструментов для полного цикла работы с данными:
загрузка данных → подготовка → обучение модели → оценка → визуализация
Библиотека реализована для PascalABC.NET и не требует внешних ML-библиотек.
Работа с данными
DataFrameABC предоставляет типизированные таблицы данных и основные операции:
- загрузку CSV;
- выбор и фильтрацию данных;
- группировку;
- объединение таблиц;
- описательную статистику;
- преобразование данных для алгоритмов машинного обучения.
Подготовка данных
ML PascalABC.NET включает инструменты preprocessing:
- заполнение пропущенных значений;
- масштабирование числовых признаков;
- кодирование категориальных признаков;
- One-Hot Encoding;
- PCA;
- построение последовательностей преобразований с помощью pipeline.
Машинное обучение
Библиотека содержит основные алгоритмы классического ML для:
- регрессии;
- классификации;
- кластеризации.
В их числе линейные и логистические модели, kNN, деревья решений, Random Forest, Gradient Boosting, K-Means и DBSCAN.
Также имеются метрики качества, cross-validation и средства проверки моделей.
Линейная алгебра
В состав ML PascalABC.NET входит собственное численное ядро с векторами и матрицами, решением систем линейных уравнений и основными матричными разложениями.
Датасеты
Вместе с библиотекой поставляются готовые датасеты для учебных примеров и экспериментов:
iris.csv— классический набор Iris;mnist_small.csv— компактная версия набора рукописных цифр MNIST;moscow_housing.csv— данные о московском жилье;russian_cities.csv— данные о российских городах;titanic_ru.csv— русскоязычная версия данных Titanic;used_cars_price.csv— данные о ценах на подержанные автомобили.
Последние четыре особенно хорошо показывают образовательную направленность библиотеки: примеры можно строить не только на традиционных англоязычных наборах данных, но и на понятных российских предметных областях.
Почему 4.0
Номер версии 4.0 отражает не отдельное изменение синтаксиса языка, а переход всей системы PascalABC.NET на новое поколение.
В одном релизе появились три крупных направления:
Multitarget
.NET Framework 4.7.2 + .NET 10.
Visual Studio Code
Новая полноценная среда работы с PascalABC.NET с semantic IntelliSense.
Machine Learning
Собственная библиотека анализа данных и классического ML.
При этом PascalABC.NET 4.0 сохраняет совместимость и преемственность с существующим языком PascalABC.NET и его учебными материалами.
PascalABC.NET 4.0 объединяет простоту современного Паскаля, зрелую среду .NET Framework и возможности современной платформы .NET 10.