Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз языка программирования ShardScript 0.5

14.08.2026 22:56 (MSK)

Состоялся релиз ShardScript 0.5, встраиваемого строго типизированного скриптового языка программирования с C-подобным синтаксисом. Язык ориентирован на выразительность высокоуровневых конструкций и простоту интеграции. В состав релиза входят интерпретатор, обновлённая стандартная библиотека (STL), официально поддерживаемые сторонние модули и прототип LSP-сервера для Windows.Реализация ShardScript написана на языке С++ и распространяется под лицензией Apache 2.0. Бинарные сборки доступны для платформ Windows и Linux.

Среди возможностей языка: cтатическая типизация с выводом типов; C-подобный синтаксис; поддержка обобщённых типов (Generics), перечислений и функциональных цепочек обработки данных; стандартная библиотека (STL) с функциями для работы с файловой системой, вводом/выводом, структурами данных, датами и сериализации.

Среди изменений в новой версии:

  • Добавлена поддержка конструкции "switch". Поддерживается перегрузка оператора "== "для пользовательских типов внутри блоков "case".
    
       amount: int = 10;
       switch (amount)
       {
           case 1:  { println("Один"); }
           case 2:  { println("Два"); }
           default: { println("Больше"); }
       }
    
  • Добавлено выражение "switch" с поддержкой сопоставления типа через оператор "is". На данный момент не стоит ожидать значительного прироста производительности от использования "switch", так как реализация не оптимизирована и пока просто последовательно проверяет эквивалентность значений:
    
       animal: IAnimal = GetAnimal();
       println(switch animal
       {
           is Dog d => "Это собака: " + d.Woof,
           is Cat => "Это кот",
           _ => "Неизвестное животное"
       });
    
  • Добавлен синтаксис инициализации массивов с динамически задаваемым размером - "new T[size]".
  • В перечисления (Enums) добавлена поддержка метода ToString() и операции сравнения на равенство.
  • Для типа IEnumerable<T> реализованы LINQ-подобные методы: Select, Where и OrderBy для обработки данных в функциональном стиле.
  • В модуль работы со временем (shard.time) добавлены типы DateTime и TimeSpan, реализована поддержка UTC/Local, обеспечена конвертация эпохального времени, добавлены вычисления с датами и форматирование строк.
  • В потоки ввода/вывода добавлены классы StreamReader, StreamWriter, BinaryReader и BinaryWriter.
  • Реализована безопасная генерация временных файлов (Path.CreateTempFile, Path.GetTempPath) и объединение путей через оператор деления (/).
  • В stdio метод input() теперь принимает строку-запрос ('input("Введите имя: ")').
  • Добавлен метод stdio.Dump<T>(obj) для форматированного вывода структуры объектов с подсветкой синтаксиса и защитой от циклических ссылок.
  • Для JSON реализована типизация через JsonNodeKind, свойства-геттеры (IsNull, IsObject, IsArray), явное приведение типов через оператор "as" и прямой доступ к полям.
  • Улучшено формирование трассировки стека (Stack Trace) при обработке исключений.


  1. Главная ссылка к новости (https://shardscript-lang.githu...)
Автор новости: Rikitav
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/66080-shardscript
Ключевые слова: shardscript
При перепечатке указание ссылки на opennet.ru обязательно


 Добавить комментарий
Имя:
E-Mail:
Текст:



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру