Изначальная ссылка тут - http://feedproxy.google.com/~r/Delphi2010ru/~3/b0xK9-SfJZ8/
http://embt.co/DelphiWP или вот - https://sourceforge.net/p/rumtmarc/code-0/HEAD/tree/trunk/Doc/delphilanguagemobiledevelopmentwhitepaper170413.pdf
"Говорят "будет один строковый тип, с подсчётом ссылок и immutable". Ну в общем - знакомо. И в общем - правильно. Для сравнения - NSString и Il3CString. immutable! Ещё раз - это правильно. Атомарные объекты не должны менять своё состояние." Строки ДОЛЖНЫ быть как ЧИСЛА. Атомарными объектами. Хотите изменить строку - вызывайте функцию преобразования.
Писал я тут - http://18delphi.blogspot.ru/2013/04/delphi-language.html
И ещё вспомнил - ЕЩЁ Барбара Лисков писала об этом в книге "Применение абстракций и спецификаций в разработке ПО".
Язык CLU.
Я общем - ничто - не ново. По-моему товарищи - в правильную сторону движутся. В сторону immutable-строк. Так кстати их и кешировать проще. Я это делал в своих скриптах. Просто тупо кешировал ВСЕ строки длиной < 400 символов. Рассматривая их как константы.
Даже когда из файла читается значение. Фабрика строк может выдать УЖЕ существующий объект. С увеличенным счётчиком ссылок.
Даже несмотря на ПОИСК строк в кеше - производительность скриптов - УВЕЛИЧИЛАСЬ.
Хотя... Подумалось... s[i] := XXX - тоже можно как ФУНКЦИЮ преобразования рассматривать. Это же вопрос "синтаксического сахара"? Или я что-то упустил?
http://embt.co/DelphiWP или вот - https://sourceforge.net/p/rumtmarc/code-0/HEAD/tree/trunk/Doc/delphilanguagemobiledevelopmentwhitepaper170413.pdf
"Говорят "будет один строковый тип, с подсчётом ссылок и immutable". Ну в общем - знакомо. И в общем - правильно. Для сравнения - NSString и Il3CString. immutable! Ещё раз - это правильно. Атомарные объекты не должны менять своё состояние." Строки ДОЛЖНЫ быть как ЧИСЛА. Атомарными объектами. Хотите изменить строку - вызывайте функцию преобразования.
Писал я тут - http://18delphi.blogspot.ru/2013/04/delphi-language.html
И ещё вспомнил - ЕЩЁ Барбара Лисков писала об этом в книге "Применение абстракций и спецификаций в разработке ПО".
Язык CLU.
Я общем - ничто - не ново. По-моему товарищи - в правильную сторону движутся. В сторону immutable-строк. Так кстати их и кешировать проще. Я это делал в своих скриптах. Просто тупо кешировал ВСЕ строки длиной < 400 символов. Рассматривая их как константы.
Даже когда из файла читается значение. Фабрика строк может выдать УЖЕ существующий объект. С увеличенным счётчиком ссылок.
Даже несмотря на ПОИСК строк в кеше - производительность скриптов - УВЕЛИЧИЛАСЬ.
Хотя... Подумалось... s[i] := XXX - тоже можно как ФУНКЦИЮ преобразования рассматривать. Это же вопрос "синтаксического сахара"? Или я что-то упустил?
Комментариев нет:
Отправить комментарий