Языки программирования - концепции и принципы

Тем не менее эти языки


Тем не менее эти языки интересны с технической точки зрения и вполне подходят для ре­шения задач, для которых они были разработаны. Студентам рекомендуется приложить усилие и изучить один или несколько таких языков, потому что это расширит их представление о том, как может быть структурирован язык программирования.

 

1.4. Объектно-ориентированные языки

   Объектно-ориентированное программирование (ООП) — это метод структу­рирования программ путем идентификации объектов реального мира или других объектов и написания модулей, каждый из которых содержит все дан­ные и исполняемые команды, необходимые для представления одного класса объектов. Внутри такого модуля существует отчетливое различие между абст­рактными свойствами класса, которые экспортируются для использования другими объектами, и реализацией, которая скрыта таким образом, что может быть изменена без влияния на остальную часть системы.

    Первый объектно-ориентированный язык программирования Simula был создан в 1960-х годах К. Нигаардом и О.-Дж. Далом для моделирования сис­тем: каждая подсистема, принимающая участие в моделировании, програм­мировалась как объект. Так как возможно существование нескольких экзем­пляров одной подсистемы, то можно запрограммировать класс для описания каждой подсистемы и выделить память для объектов этого класса.

    Исследовательский центр Xerox Palo Alto Research Center популяризировал ООП с помощью языка Smalltalk. Такие же исследования вели к системам окон, так популярным сегодня, но важное преимущество Smalltalk заключает­ся в том, что это не только язык, но и полная среда программирования. В тех­ническом плане Smalltalk был достижением как язык, в котором классы и объ­екты являются единственными конструкциями структурирования, так что нет необходимости встраивать эти понятия в «обычный» язык.

    Технический аспект этих первых объектно-ориентированных языков по­мешал более широкому распространению ООП: отведение памяти, диспетче­ризация операций и контроль соответствия типов осуществлялись динамиче­ски (во время выполнения), а не статически (во время компиляции).

Содержание  Назад  Вперед