?

Log in

No account? Create an account
"ты, Завалишин, как e в степени x - хоть кол на голове теши" - dz — ЖЖ

> Свежие записи
> Архив
> Друзья
> Личная информация
> DZ Online

Апрель 14, 2009


Previous Entry Поделиться Next Entry
06:32 am - "ты, Завалишин, как e в степени x - хоть кол на голове теши"
Наконец, пришли математики с предъявой - чо я тут про ОО, а это частный случай, а они про общий, а я про это молчок.

Пацаны - а знаете анекдот? Как математик идёт мимо камерного театра, замечает вывеску, и заинтересованно заходит внутрь. Через минуту выходит разочарованный со словами "тривиальный случай - ка равно трём"...?

Я вот примерно в этом же ключе случай рассматриваю - частный, тривиальный, но ОЧЕНЬ практичный. А фп мне симпатично, но пока что это и всё. Вы за него сначала сами повоюйте, чтоб хотя бы я начал вас до конца понимать. А то, извините за самомнение, но пока даже я всего не понял, рассчитывать на широкие массы программеров - ну - как бы это сказать - преждевременно.

Ну и - предлагаю некоторое утверждение, которое и сам считаю спорным. Я его породил в процессе обдумывания предъяв фп-шников, вспомнив по дороге про Форт. Который жуть какой красивый, только это не вызывает никакого желания им пользоваться, а после первой попытки - даже очень успешной - когда ты тратишь полчаса на написание, а уже через час тебе надо два часа на прочтение - понимаешь, что на нём точно не надо ничего никогда писать. Если это хочешь иногда и читать тоже.

Мысль вот какая. Надо выбирать не самый широкий базис, не самую всеобъемлющую парадигму, а МИНИМАЛЬНО возможный базис. Идеален не тот ЯП, на котором можно написать ЛЮБУЮ программу, а тот, на котором можно написать ЛЮБУЮ НУЖНУЮ тебе программу. То есть - никому не нужны к-мерные театры. Для 3-мерных существ ВПОЛНЕ достаточно 3-мерных, и давать в этом месте гибкость - бессмысленно и ВРЕДНО.

Утверждение: Правильный, хороший ЯП, неполноценен и ИЗБЫТОЧЕН, а полноценный и неизбыточный (лисп, форт, ассемблер стековой машины) - вреден и чрезмерен.

Утверждение: программирование - это НЕ написание программы, а написание ТАКОЙ программы, процесс написания которой позволяет организовывать мышление программиста эффективным с точки зрения формализации предметной области способом. Запуск программы на исполнение - важный, но почти побочный эффект её написания. (это вообще кто-то древний сказал...)

PS: Я прощёлкал - а когда это в течении последних 75 лет присваивание признали функционально кошерным?

PPS: Мне тут ещё фразу подарили: "третий элемент кортежа похож на емейл". Пишу, чтобы не забыть. Очень хочу посмотреть на спеку для ФП-библиотеки функций, в которой говорится, что все функции принимают в качестве параметра кортежи с третьим элементом, похожим на емейл. Сплю и вижу. Сплю, вижу, и фигею, дорогая редакция. /* int [] myfunc( int [] ); third int in array supposed to be x coordinate in inches */

(92 комментария | Оставить комментарий)

Comments:


From:gottlob_frege
Date:Апрель 15, 2009 10:29 am

A Theory of objects (II)

(Link)
The properties that confer this broad range of applicability to the object-
oriented approach can be summarized as follows.

* The analogy between software models and physical models.
* The resilience of the software models.
* The reusability of the components of the software models.

The first point pertains to analysis. In the object-oriented analysis process,
the analogy with a physical model can be useful in the development of a software
model. Much efford has been invested in systematizing this analysis process.

The second point pertains to design. Resilience of design in the face of changes
is a consequence of building abstractions. Objects form natural data abstraction
boundaries and help focus a design on system structure instead of algorithms.
Algorithms are factored into methods that are attached to objects, making
the objects behaviorally autonomous. Because of object abstractions, a design
can evolve with fewer pervasive reorganizations.

The third point pertains to implementation. Objects are naturally organized into
taxonomies during analysis, design, and implementation. This hierarchical
organization encourages the reuse of methos and data that are located higher
in the hierarchy.

Object-oriented programming toes not have an exclusive claim to all these good
properties. Systems may be modeled by other paradigms, including ones based on
traditional notions of algorithms and data structures, which were not well
developed when Simula was invented. Resilience can be achieved just as well by
orgaizing programs around abstract data types, independenly of object orientation.
Reusability can be achieved by modularization and parametrization. Hence is
possible that, as the availability and awareness of other techniques grow,
the appeal of objects will fade away.

Still, the object oriented approach has proven uniquely successful. It manages
to integrate good analysis, design, and implementation techniques into a
relatively intuitive and uniform framework. Moreover, some of its fundamental
features are not easily explained as the union of other well-understood notions;
witness the relative scarcity of formal techniques for analyzing object-oriented
programs."

A Theory of objects, by Luca Cardelli.

> Go to Top
LiveJournal.com