Ну, начинающим, думаю, возиться с установкой .NET 4.7 - не особо захочется. Поэтому я предложил свой вариант кортежей. Преимущество же Паскаля в том, что ничего устанавливать дополнительного не надо - открыл и пользуйся. Если этот модуль был бы стандартным, то это ёще раз поддержало этот принцип. И более того помогло бы лучше оптимизировать программы.
На счёт сахарных конструкций - как я сказал - не обязательно делать их сейчас (и вообще), я сделал короткие функции для создания кортежей (максимально похожие на Rec).
Начинающим (в некотором понимании этого слова) вообще неважна производительность в 20%
Те, кому важна, - не начинающие. И они конечно же поддерживают самые новые версии платформы.
Дополнительный модуль будет выглядеть странно особенно для тех, у кого уже стоит .NET 4.7 - а таких нашими стараниями всё больше - стандартная установка не под XP включает в себя NET 4.7. Так вот, под NET 4.7 будет целых три разновидности кортежей. Это, я думаю, для большинства будет выглядеть странно.
Ну, не всегда же это возможно технически. Насколько помню, на XP - .NET 4.7 - не идёт. И насколько помню пользователей на XP немало. Чтобы было проще - можно считать, что TuplesABC - для всех тех, у кого .NET 4.7 просто не может быть установлен. А те - у кого .NET 4.7 - могут просто моим модулем не пользоваться. Я думаю, что не стоит оставлять за бортом тех, у кого XP. Все мы в одной команде - все мы пишем на PascalABC.NET.
Это - школы со старым парком компьютеров. Они точно не будут этим пользоваться.
Всё-таки я, несмотря на ваши ссылки, не увидел улучшенной производительности ValueTuple. Моя ссылка говорит о том, что они хуже, тест SunSerega - что они в 50% случаев на 20% быстрее, а воставшихся 50 - на 20% медленнее.
Любой “экспериментальный модуль” замусоривает дистрибутив и, как следствие, попадает в готовый продукт. А установка пока что не предполагает возможности ставить такие экспериментальные модули только по желанию пользователя.
Именно так. Но это возможность не первостепенной важности, поэтому пока что в каждом конкретном случае разработчик самостоятельно принимает решение о возможности включения чего-либо еще в дистрибутив.
Как я себе это представляю. Примерно так же как и менеджер пакетов NuGet в Visual Studio - открыл, установил, продолжил работать. Главное - ничего лишнего, несколько кликов мыши.
Да что вы всё - замусоривает да замусоривает… Кому он там и чем может помешать? Весить много он не может, и имя он не занимает, потому что одноимённый модуль из папки с программой всегда имеет больший приоритет.