Паскаль Abc Net

Можно долго программировать в PascalABC.NET в обычном стиле и не замечать, что все типы стали классами. Но в один прекрасный момент кто-то после имени переменной нажмет точку и ... получит список методов для этой переменной как объекта класса. Например, достаточно описать целую переменную
var i: integer;
и потом набрать в коде
begin i.
После точки всплывет окно с так называемыми экземплярными методами, применимыми к переменной i класса integer. Их всего 6, и на первых порах только один метод из них полезен. Это метод ToString, преобразующий значение i к строке:
var s: string; s := i.ToString;
Точечная запись в самом начале обучения воспринимается в основном в штыки: слишком непосилен груз нового в обучении. Вам будут говорить: 1) это не Паскаль! 2) это только в этом дурацком .NET так! 3) объекты школьникам - это зло, а для студентов надо давать C++ 4) .
Но факт остается фактом - так писать можно, а значит, все равно так будут писать, и вряд ли это можно будет удержать. Ведь вспомнить имя стандартной функции
s := IntToStr(i); будет куда как не проще. К тому же, в Delphi для ее использования модуль SysUtils подключать надо. А, да, забыл - есть еще процедура Str с двумя параметрами, один из которых - ссылочный - она еще в теме "Строки" проходится - где-то через полгодика. А здесь мы получили интуитивно понятную запись и сразу начали ее использовать:
Эту запись можно трактовать двояко. Можно считать, что мы даем команду ToString объекту i, и он по этой команде возвращает свое строковое представление. Можно считать, что объект i имеет в своем составе команду ToString и сам ее вызывает. Последняя идея мне нравится больше: все объекты - активные, каждый имеет свою систему команд и готов их вызывать в любой момент.
Здесь мы сталкиваемся с еще одним психологическим барьером: если даже тип integer - класс, то наверняка программа будет работать очень медленно, ведь в ма-аленькой переменной integer - столько методов! они наверняка все и замедляют! Увы - это неверно. На скорость работы программы наличие большого числа методов у объекта класса никак не сказывается.