Бессмысленность ООП

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

х = х +1

Поэтому говорить сколько байтов в int  не имеет смысла. Порождать иерархию short->int->long->double long-> и т.д не имеет смысла, если отличия в свойствах между ними нет, кроме размера. Просто надо хранить размер в первом байте, и, естественно второй байт самый младший.

img_1222530005

Бессмысленность стабилизации типов и наследования

Ещё пример. Тип «сумка» может быть пустым, может быть «дырявым», может быть наполнен чем попало. Каждое наполнение сумки может создать новый тип сумки, но зачем? Для исчисления содержимого сумок эти многочисленные типы только мешают.

В итоге, о чём бы мы не писали программу, во время исполнения это будет манипуляция байтами  и битами.

Фрактализация свойств

Ещё пример. Объект Машина имеет свойство цвет. Потом выясняется, что машина имеет двери одного цвета, крышу – другого и т.д. Надо перекомпилировать. Поэтому прототипы в виде JS подходят для программирования базы машин, а С++ не годится.

Распараллеливание

Если вашу задачу можно свести к конечному моноиду (объекты вашей задачи – множества из моноида), то она распараллеливается. Это же касается и лямбда вычислений.

лямбда

Запись опубликована в рубрике ISI. Добавьте в закладки постоянную ссылку.

Добавить комментарий