О парадигмах программирования



Автор: Городняя Лидия Васильевна, кандидат физико-математических наук, доцент
Институт систем информатики им. А.П.Ершова СО РАН
Доклад посвящен образовательной проблеме исследования и определения парадигм программирования, обусловленной ростом числа компьютерных языков.
<p>
    <br />
        <br />
    <br />
        Парадигмами программирования представлено знание о потенциале ИТ, успех которых можно рассматривать как результат удачного выбора концептуальной схемы постановки проблем и методов их решения с «грамотным» описанием фактов, событий, явлений и процессов, выделения частных и общих понятий, используемых при создании сложных систем.</p>
<br />
<br />
<br />
<p>
    <br />
        <br />
    <br />
        Именно парадигмам программирования авторитетный ученый, заложивший основы теорий анализа и верификации программ, Роберт Флойд посвятил свою Тьюринговскую лекцию, в которой обратил внимание на значимость этого понятия в контексте проблемы обучения программистов. За тридцать лет, прошедших со времени лекции Р.  Флойда, число различных языков и систем программирования возросло с нескольких сотен до десятков тысяч, при этом число парадигм не столь велико.</p>
<br />
<br />
<br />
<p>
    <br />
        <br />
    <br />
        Многие языки программирования содержат черты различных парадигм, соответствующих разным уровням абстрагирования. Например, парадигма низкоуровневого программирования может быть характеризована возможностью реализации эффективных решений ценой использования общего доступа к слабо защищенным данным. Языкам высокого уровня свойственно использование иерархии данных, компоненты которой защищены от бесконтрольного. Средства сверхвысокого уровня (языки спецификаций, языки параллельного программирования, системы представления знаний и т.д.) нацелены на полноту пространства реализационных решений для долгоживущих программ.</p>
<br />
<br />
<br />
<p>
    <br />
        <br />
    <br />
        Известно, что развитие постановок задач по степени изученности не обладает монотонностью изменения трудоёмкости реализации. А именно, после небольших трудозатрат на разработку макетного образца, где главная цель показать достоинства идеи, потребуются принципиально большие трудозатраты на полноту исследования и разработки средств и методов решения задачи и определения границ практичности её реализации.</p>
<br />
<br />
<br />
<p>
    <br />
        <br />
    <br />
        Критерии качества программ – могут изменяться в процессе программирования, что возможно повлечёт существенный пересмотр многих ранее принятых решений. Степень изученности решаемых задач – ведущий фактор прогноза трудоёмкости достижения работоспособной программы, пригодной для неавторского применения. Сходимость отладки обеспечивается выбором соответствия степени изученности решаемой задачи и схемы разработки. Ранг работоспособности реализованных решений зависит от полноты и универсальности программных компонент, созданных при разработке программы.</p>
<br />
<br />
<br />
<p>
    <br />
        <br />
    <br />
        Парадигмы программирования различаются нишей в жизненном цикле программ, приоритетами при оценке качества программ, выбором инструментов и методов обработки данных. Значимость используемых при этом критериев по существу зависит от условий применения и методов реализации программируемых решений, что можно называть эксплуатационной и реализационной прагматикой. Упорядочение критериев нередко претерпевает изменения по мере развития сферы применения программы, роста квалификацией пользователей, модернизации оборудования, информационных технологий и программотехники, что и приводит к появлению новых парадигм.</p>
<br />
<br />
<br />
<p>
    <br />
        <br />
    <br />
        Исследование разных схем частичных, смешанных, «ленивых» вычислений и метакомпиляции приводит к выводу о целесообразности совмещения таких схем в рамках общей СП с целью использования их преимуществ на разных уровнях изученности решаемых задач.</p>
<br />
<br />
<br />
<p>
    <br />
        <br />
    <br />
        Наряду с расслоением парадигм программирования в зависимости от глубины и общности технических решений по организации процессов обработки данных происходит их интеграция в рамках новых языков программирования, всё более полно поддерживающих жизненный цикл программ.</p>
Тип выступления  Стендовый доклад
Уровень образования  Высшее профессиональное