Профиль: Аноним (вход | регистрация)
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 обязательно


Обсуждение (57) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 01:09, 15/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    И что-там си-подобного, фигурные скобки?
     
     
  • 2.9, Rikitav (ok), 05:28, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Блоки кода в фигурных скобках, точки с запятой на конце выражений, C-подобные циклы for\while, вызов функций через 'print(10);'
     
     
  • 3.51, limafresh (ok), 18:19, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Блоки кода в фигурных скобках, точки с запятой на конце выражений

    Так это и в JavaScript есть, и в Rust, это не уникально для Си.

     
     
  • 4.61, Rikitav (ok), 20:49, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > это не уникально для Си.

    Не уникально, но ноги растут оттуда, поэтому такой синтаксис и называют Си подобным

     
     
  • 5.63, limafresh (ok), 22:06, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не знал, буду знать, спасибо.
     
  • 4.62, Аноним (62), 20:50, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Угу, и все перечисленные вами языки называются Си-подобными
     
  • 2.57, Аноним (57), 20:10, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > amount: int = 10;

    Дак это Паскаль!

     

  • 1.2, Аноним (2), 02:14, 15/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    > Для типа IEnumerable<T> реализованы...

    Это интерфейс. К тому же его имя начинается с *I* не просто так

     
  • 1.4, БоссАнонимов (?), 03:36, 15/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Добавить .gitattributes, .gitignore и README.md
    > Добавьте файлы проекта

    Бро, объясни свои коммиты

     
     
  • 2.5, Rikitav (ok), 04:14, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Я пушил через VisualStudio, это автоматически сгенерированные коммиты
     

  • 1.6, Джон Титор (ok), 04:49, 15/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Зачем перегрузка операторов?
     
     
  • 2.10, Rikitav (ok), 05:41, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Зачем перегрузка операторов?

    Для того чтобы расширить синтаксические возможности ЯП и упростить тривиальные операции на структурах. А почему вы спрашиваете? У перегрузки операторов есть какаято проблема?

     
     
  • 3.12, Брат Анон (ok), 09:04, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В том-то и проблема, что есть. Ломает семантику.
     
     
  • 4.37, trolleybus (ok), 13:44, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Удачи в дебаг-сессии из-за поставленной не там скобки. Перегрузку операторов не просто так придумали.
     
  • 3.28, Джон Титор (ok), 11:45, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В другом ответе вы пишете: "Потомучто нацелен на скриптинг внутри хост-приложений, но ничего не мешает использовать его как standalone интерпретатор.". А зачем это внутри хост-приложений? Более того что именно вы расширяете в C#? Или вы хотите сказать что расширяете возможности своего языка программирования как в C#?
     

  • 1.7, Джон Титор (ok), 04:59, 15/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем встраиваемый язык? Почему оно чуть ли не полностью копирует C#? Зашел в исходный код - ну хоть это что-то поясняет - .net, c#. Т.е. неполный C# написан на C#. Интересно.
    А релизы то где? https://github.com/shardscript-lang/ShardScript.NET/releases
    Тут пусто.
     
     
  • 2.8, Rikitav (ok), 05:24, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Зачем встраиваемый язык?

    Потомучто нацелен на скриптинг внутри хост-приложений, но ничего не мешает использовать его как standalone интерпретатор.

    > Почему оно чуть ли не полностью копирует C#?

    Потомучто вдохновлен C#

    > Зашел в исходный код - ну хоть это что-то поясняет - .net, c#. Т.е. неполный C# написан на C#. Интересно.
    > А релизы то где? https://github.com/shardscript-lang/ShardScript.NET/releases Тут пусто.

    То что вы смотрите - это незаконченый SDK для C#. Основной репозиторий, с кор библиотекой и интерпретатором, находиться [[https://github.com/Rikitav/ShardScript здесь]]


     
     
  • 3.30, Джон Титор (ok), 11:52, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > То что вы смотрите - это незаконченый SDK для C#. Основной репозиторий, с кор библиотекой и интерпретатором, находиться ...

    Хорошо, а почему главная ссылка новости (https://shardscript-lang.github.io/shardscript-info/) получается в репозитории https://github.com/shardscript-lang? При чем тут репозиторий https://github.com/Rikitav? Более того я вижу ещё и https://github.com/Rikitav/ShardScript который на С++.

    > Потомучто вдохновлен C#

    А что именно вашего добавлено в этот язык программирования?

    > Потомучто нацелен на скриптинг внутри хост-приложений, но ничего не мешает использовать его как standalone интерпретатор.

    А для поддержки приложений его можно использовать как Cake? Более того, чем вашь скриптовый язык лучше Roslyn технологии Microsoft? В курсе ли вы существования Microsoft.CodeAnalysis.CSharp.Scripting и используется ли он где-то в проекте?


     
     
  • 4.41, Rikitav (ok), 14:38, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Хорошо, а почему главная ссылка новости (https://shardscript-lang.github.io/shardscript-info/)
    > получается в репозитории https://github.com/shardscript-lang? При чем тут репозиторий
    > https://github.com/Rikitav? Более того я вижу ещё и https://github.com/Rikitav/ShardScript
    > который на С++.

    Главная ссылка ведет на сайт с документацией, располагающийся в организации shardscript-lang, которую я специально создал и собираюсь создавать новые репозитории именно в ней. Однака основной репо я пока что не могу мигрировать с личного аккаунта в организацию по личным причинам

    > А что именно вашего добавлено в этот язык программирования?

    Возможно вы меня не поняли, ShardScript вдохновлён C#, а не наследует/расширяет его синтаксис

    > А для поддержки приложений его можно использовать как Cake?

    Не совсем понимаю о чем вы говорите. Какую роль Cake играет в поддержке приложений?

    > Более того, чем вашь скриптовый язык лучше Roslyn технологии Microsoft?

    Считаю некорректным сравнивать C# и SS

    > В курсе ли вы существования Microsoft.CodeAnalysis.CSharp.Scripting и используется ли он где-то в проекте?

    Да, конечно в курсе, но в ShardScript он не используется, у языка самостоятельный рантайм написанный на C++

     

  • 1.13, ыых (?), 09:09, 15/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Главный вопрос: зачем?
    Если он не решает проблем других языков, он не нужен.
    Если он пишется для резюме - то кхм, ценность этой новости стремится к нулю
     
     
  • 2.58, Аноним (58), 20:28, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Бери больше, он должен решать проблемы каждого ыых во вселенной.
     

  • 1.14, aname (ok), 09:26, 15/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Если это тренировочный язык для углубления своих знаний в работах с интерпретатором- автор молодец, красава, и всё такое.

    В остальном, есть Lua, и гора других, уже готовых.

     
     
  • 2.23, Rikitav (ok), 11:07, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Спасибо! Язык действительно до какого-то времени был учебным проектом, но относительно недавно он перерос из личного проекта в инструмент, поэтому я решил привлечь немного внимания и собрать критики :)
     
     
  • 3.33, Джон Титор (ok), 12:17, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Документацию обновите для начала и наведите порядок в множестве подобных репозиториев. В целом смысл понятно что это и для чего, только с lua сравнивать... почему бы не с quickjs тогда уж? Он тоже может для скриптов использоваться. А если это всё-таки C#, то с Roslyn.
     
  • 3.48, Джон Титор (ok), 18:03, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Спасибо! Язык действительно до какого-то времени был учебным проектом, но относительно
    > недавно он перерос из личного проекта в инструмент, поэтому я решил
    > привлечь немного внимания и собрать критики :)

    А критика вам зачем?

     
     
  • 4.59, Rikitav (ok), 20:44, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > А критика вам зачем?

    Чтобы вы спросили <3

     
     
  • 5.65, Джон Титор (ok), 23:12, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >> А критика вам зачем?
    > Чтобы вы спросили <3

    Ну вот в этом вся и проблема - критика нужна мне, а похвала - вам, вот это и видно прекрасно.

     
  • 2.27, Смузихеб забывший пароль (?), 11:44, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    луа был хорош лет 10-15 назад
    нынче ему уже место там известно где

    тем более что есть куча аналогов, особенно с развитием производных того же ллвм

     

  • 1.15, aname (ok), 09:28, 15/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Скриптовый язык написанный на C#

    Может проще PoSH взять?

     
     
  • 2.18, Dzen Python (ok), 10:01, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    OneScript тогда уже.
    Помершелл уже сейчас eq -нечитаемая -МногоСловнаяХиробундия | Получить-СловоДляОпеннет -ПисатьНаКоторой -Может | Установить-СловоОпНет -Только 0 -Мазохист
     
  • 2.26, Rikitav (ok), 11:35, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Скриптовый язык написанный на C#

    На C++

    > Может проще PoSH взять?

    У моего языка другая сфера применения, куда обычно PS не берут

     
     
  • 3.39, aname (ok), 14:21, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > У моего языка другая сфера применения, куда обычно PS не берут

    Это где?

     
     
  • 4.42, Rikitav (ok), 14:48, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Это где?

    PowerShell обычно позиционируется как узконаправленный инструмент для администрирования, мой же ЯП имеет более общее назначение

     

  • 1.16, user1985 (?), 09:37, 15/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уже есть Tcl, Guile и Lua. В чём преимущество ShardScript перед вышеперечисленными языками?
     
     
  • 2.19, Dzen Python (ok), 10:03, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    +1 язык (теперь 15 конкурирующих стандартов встроенных скриптовых языков)
     
  • 2.21, Аноним (21), 10:22, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если написать проект на таком языкн никто не сможет его поддерживать кроме автора. Даже ИИ.
     
     
  • 3.31, Джон Титор (ok), 12:08, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Иди изучи ИИ, прежде чем рассказывать.
     
     
  • 4.35, Аноним (21), 13:08, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Иди изучи ИИ, прежде чем рассказывать.

    Ой, расскажи-ка, дорогой мой излучатель ИИ, где ты возьмёшь столько кода чтобы нормально обучить этому языку, причем особенностям каждой версии и каждому UB. Я так понимаю в голову ты только ешь.  

     
     
  • 5.50, Джон Титор (ok), 18:06, 15/08/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.24, Rikitav (ok), 11:13, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Впервые слышу про первые два, но точно могу сказать почему я убежал от Lua, статическая типизация и богатый синтаксис
     
     
  • 3.34, user1985 (?), 12:46, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Впервые слышу про первые два

    Попробуйте! Очень интересные языки.

     
     
  • 4.44, Rikitav (ok), 14:59, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Попробуйте! Очень интересные языки.

    Я конечно поизучаю тему, раз вы рекомендуете, но разве мне это чтото даст?

     
     
  • 5.47, user1985 (?), 17:48, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Кто же его знает даст оно вам или не даст?
     
  • 2.29, Смузихеб забывший пароль (?), 11:46, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    и что из этого активно применяется в проде в новых проектах ?
     
     
  • 3.46, user1985 (?), 17:47, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Tcl, Guile, Lua.
     

  • 1.17, Ok (?), 09:41, 15/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Молодцы. Можете глянуть nullc, PointerScript, kinx/kilite еще, тоже интересные проекты. Кстати аж зубы болят, как представляю процесс отладки лексера/парсера на цпп) В свое время заморочился сначала JIT, потом транспилером, чтобы парсер/лексер/аст-анализер на скипте сразу писать, если будете размышлять надо или нет - обязательно, процесс работы в разы ускоряется, да и бутылочные горлышки языка сразу начинают проявляться. Успехов короч)
     
     
  • 2.25, Rikitav (ok), 11:31, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо!
    Да, вы правы, с лексером и парсером я настрадался достаточно X)
     

  • 1.32, Джон Титор (ok), 12:14, 15/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ещё вопрос - какая у него производительность? Замеряли?
    И ещё, а кто это у вас на фото Rikitav Tim4ik с чемоданом? Немец времен второй мировой?
     
     
  • 2.36, Аноним (21), 13:18, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Ещё вопрос - какая у него производительность? Замеряли?
    > И ещё, а кто это у вас на фото Rikitav Tim4ik с
    > чемоданом? Немец времен второй мировой?

    Тебя в поиске по картинкам забанили за тупость?

     
  • 2.43, Rikitav (ok), 14:56, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Ещё вопрос - какая у него производительность? Замеряли?

    Язык все еще находиться в разработке и достаточно далеко от релиза, я не вижу смысла преждевременно переживать о скорости и применять оптимизации

    > И ещё, а кто это у вас на фото Rikitav Tim4ik с
    > чемоданом? Немец времен второй мировой?

    Медик из игры Team Fortress 2, по национальности немец. Почему вас интересует моя аватарка?

     
     
  • 3.49, Джон Титор (ok), 18:04, 15/08/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.45, LaunchWiskey (ok), 17:24, 15/08/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.53, Аноним (53), 18:33, 15/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А что у них так сай жутко тормозит? Вроде, не перегружен графикой.
     
     
  • 2.54, Аноним (54), 19:16, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лендинг навайбкодили, но дизайн больше напоминает оформление для кофейни, что совсем не подходит для серьёзного проекта.
     
     
  • 3.56, Аноним (56), 19:51, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Zавидуй молча.
     
  • 3.60, Rikitav (ok), 20:46, 15/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Лендинг навайбкодили

    Да, так и есть, я во фронте не силен, поэтому набросал сайт и пишу документацию через ИИ агента

     

  • 1.55, Аноним (56), 19:50, 15/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не пойму, оно что только для встраивания? А исполняемые бинарники не собирает???
     

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



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

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