В данном случае “цена” - это усилия, которые будут затрачены на освоение и преодоление возможных багов. Интересует, насколько это будет уравновешено преимуществами от использования библиотеки.
Тут сложно не согласиться: отличный стимул. Вот только это еще и стимул для неанглоязычной аудитории держаться от такой затеи подальше. Не думали на этот счет? Обычно все же отечественные разработчики заботятся и о русском языке. Я представляю, насколько сократилось бы число пользователей того же PascalАВС.NЕТ, если исключить из Справки и сообщений русский язык…
Я постарался структурировать библиотеку так, чтобы не было нужды запоминать все методы и классы в ней. То есть, чтобы требовалось запомнить лишь принципы ее построения и дальше её использование не представляло бы труда. На счёт багов - они есть в любом среднем или большом проекте (может, даже в маленьком, но вероятность ниже). Я стараюсь тестировать библиотеку, особенно перед выпуском нового релиза. Но, следить за каждой мелочью в таком большом объеме кода сложно. Исправлять ошибки - однозначно буду. На счёт уравновешено - смотря какие у Вас цели. Если Вам нужны возможности, подобные PABCSystem - полагаю, что перевешивать будут преимущества библиотеки, нежели количество ошибок в ней.
Вы правы. Со временем постараюсь сделать и русскоязычные версии презентаций и остального материала для этой библиотеки. Как раз к выпуску релиза.
По этой ссылке доступны две презентации, которые на самом деле одна и та же, причем кадр №9 показывает два наложенных друг на друга фрейма и непонятно, о чем он.
Согласен с тем, что при предварительном просмотре презентации это трудно понять. Вот как он выглядит при просмотре презентации (запускал из PowerPoint):
Был выбор между: выделить отдельный слайд под большой по сравнению с нижним код или сделать кнопку, по нажатию на которую появлялся бы полный код. Разумеется, можно сделать упрощённые презентации, чтобы не было проблем при отображении в таких сервисах как Google.
Расширения для базовых типов (NETSquirrel / PABCSystem):
1.IsBetween(0, 3) = 1.InRange(0, 3)
0.To(10) = 0.To(10)
10.DownTo(0) = 10.DownTo(0)
9.ToThis() = 10.Times()Отличие: ToThis генерирует последовательность от первого до последнего числа включительно, в отличиии от Times, в котором последнее число не включается в последовательность.
0.Stepped(2) = 0.Step(2)
0.Print() = 0.Print()
0.PrintLine() = 0.Println()
int64(0).Print() = int64(0).Print()
int64(0).PrintLine() = int64(0).Println()
0.2.Print() = 0.2.Print()
0.2.PrintLine() = 0.2.Println()
'a'.Print() = 'a'.Print()
'a'.PrintLine() = 'a'.Println()
true.Print() = true.Print()
true.PrintLine() = true.Println()
Сравнивался исключительно пересекающийся функционал. Цель: облегчить переход с PABCSystem на NETSquirrel и обратно.
Расширения для IList<T> (NETSquirrel / PABCSystem):
x.Slice((0, 9, 2)) = x.Slice(0, 2, 5)Отличие: в NETSquirrel срез задаётся через диапазон и шаг прохода по нему; в PABCSystem - через первый индекс диапазона, шаг и количество элементов среза.
Сравнивался исключительно пересекающийся функционал. Цель: облегчить переход с PABCSystem на NETSquirrel и обратно.
x.PrintAsMatrix() = x.Println(6)Отличие: PrintAsMatrix автоматически выравнивает элементы матрицы по столбцам, в то время как, Println использует указанную ширину столбца.
Сравнивался исключительно пересекающийся функционал. Цель: облегчить переход с PABCSystem на NETSquirrel и обратно.
Полагаю, существенно интереснее увидеть отличия от PascalABC.NЕТ, потому что именно они позволят судить о смысле использования этой библиотеки. Потому что схожесть - а зачем она? Если это библиотека, зачем в ней дублировать то, что уже есть, только с другими именами? Чтобы объем языка вдвое расширить?
Невозможно с этим не согласиться. Можно будет сделать отдельные посты, посвящённые этому. Только, следует провести сравнение в обе стороны: чтобы показать плюсы и минусы как и библиотеки, так и PABCSystem. Так, по крайней мере, будет справедливо.