3 | | -Все программы - это данные. Одни данные интерпретируются, как значения, а другие - как типы этих значений, третьи - как инструкции по обработке первых двух. Любые парадигмы и техники программирования - это лишь способ формировать метаданные, дающие правила и последовательность потока обработки других данных. Мультипарадигменное программирование берет лучшее из всех парадигм и строит из них синтаксические конструкции, позволяющие более понятно и удобно описать предметную область. Мы связываем высокоуровневые DSL (доменные языки) с низкоуровневыми машинными инструкциями через множество слоев абстракций. Тут важно не фанатично следовать одной парадигме, а наиболее эффективно отображать задачу для исполнения на машинном уровне. Наиболее эффективно - это с меньшим количеством слоев и зависимостей, наиболее удобно для понимания человеком, для поддержки и модификации, обеспечения надежности и тестируемости кода, расширяемости, переиспользования, ясности и гибкости конструкций метаданных на каждом уровне. Мы полагаем, что такой подход позволит получать как быстрые первые результаты в разработке каждой задачи, так и не терять темпов при большом потоке изменений на этапах, когда проект уже достиг высокой зрелости и сложности. Мы постараемся рассмотреть приемы и принципы программирования из разных парадигм через призму метапрограммирования и не столько изменить этим программную инженерию, как расширить ее осмысление новыми поколениями инженеров. |
| 3 | +Все программы - это данные. Одни данные интерпретируются как значения, другие - как типы этих значений, третьи - как инструкции по обработке первых двух. Любые парадигмы и техники программирования - это лишь способ формировать метаданные, дающие правила и последовательность потока обработки других данных. Мультипарадигменное программирование берет лучшее из всех парадигм и строит из них синтаксические конструкции, позволяющие более понятно и удобно описать предметную область. Мы связываем высокоуровневые DSL (доменные языки) с низкоуровневыми машинными инструкциями через несколько слоев абстракций. Тут важно не фанатично следовать одной парадигме, а наиболее эффективно отображать задачу для исполнения на машинном уровне. Наиболее эффективно - это с меньшим количеством слоев и зависимостей, наиболее удобно для понимания, поддержки и модификации, обеспечения надежности и тестируемости кода, расширяемости, переиспользования, ясности и гибкости конструкций метаданных на каждом уровне. Мы полагаем, что такой подход позволит получать как быстрые первые результаты в разработке каждой задачи, так и не терять темпов при большом потоке изменений на этапах, когда проект уже достиг высокой зрелости и сложности. Мы постараемся рассмотреть приемы и принципы программирования из разных парадигм через призму метапрограммирования и не столько изменим этим программную инженерию, сколько расширим ее осмысление новыми поколениями инженеров. |
0 commit comments