О парадигмах программирования
Институт систем информатики им. А.П.Ершова СО РАН
Доклад посвящен образовательной проблеме исследования и определения парадигм программирования, обусловленной ростом числа компьютерных языков.
<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>
<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>
Тип выступления | Стендовый доклад |
Уровень образования | Высшее профессиональное |