Конструктивная информатика в ETH Zurich
Аннотация
Статья посвящена становлению и развитию конструктивной информатики в ETH Zürich как особого направления, в котором компьютерная наука рассматривается прежде всего через создание работающих языков программирования, компиляторов, аппаратно-программных систем и пользовательских сред. В центре внимания находится историческая линия от ранних вычислительных проектов Института прикладной математики, включая использование Zuse Z4 и создание ERMETH, к языку ALGOL 60 и последующим работам Никлауса Вирта. Особое внимание уделяется переходу от Pascal и P-code к Modula-2, M-code и рабочей станции Lilith, где программное обеспечение, операционная система и прикладные компоненты были организованы как однородная сеть модулей. Далее рассматривается модернизация этой линии в паре Ceres-Oberon, введение расширения типов, развитие графической среды Gadgets и применение языка описания аппаратуры Lola в учебных и исследовательских проектах. Аннотация подчёркивает, что ключевой вклад ETH Zürich состоял не только в отдельных языках или машинах, но и в целостной инженерной культуре простоты, строгой типизации, переносимости, модульности и тесной связи между языком, компилятором, архитектурой и системой. Работа показывает, что конструктивная традиция ETH оказала существенное влияние на академическую информатику, образование программистов и практику системного проектирования.
Литература
2. Wirth N. The programming language pascal. Acta Informatica. 1971;1(1):35-63. https://doi.org/10.1007/bf00264291
3. Wirth N. Modula: A language for modular multiprogramming. Software: Practice and Experience. 1977;7(1):1-35. https://doi.org/10.1002/spe.4380070102
4. Wirth N. The programming language oberon. Software: Practice and Experience. 1988;18(7):671-690. https://doi.org/10.1002/spe.4380180707
5. Wirth N. From modula to oberon. Software: Practice and Experience. 1988;18(7):661-670. https://doi.org/10.1002/spe.4380180706
6. Wirth N., Gutknecht J. The oberon system. Software: Practice and Experience. 1989;19(9):857-893. https://doi.org/10.1002/spe.4380190905
7. Wirth N. From programming language design to computer construction. Communications of the ACM. 1985;28(2):160-164. https://doi.org/10.1145/2786.2789
8. Wirth N. A plea for lean software. Computer. 1995;28(2):64-68. https://doi.org/10.1109/2.348001
9. Wirth N. Program development by stepwise refinement. Communications of the ACM. 1971;14(4):221-227. https://doi.org/10.1145/362575.362577
10. Hoare C.A.R. An axiomatic basis for computer programming. Communications of the ACM. 1969;12(10):576-580. https://doi.org/10.1145/363235.363259
11. Dijkstra E.W. Letters to the editor: go to statement considered harmful. Communications of the ACM. 1968;11(3):147-148. https://doi.org/10.1145/362929.362947
12. Hoare C.A.R. The emperor's old clothes. Communications of the ACM. 1981;24(2):75-83. https://doi.org/10.1145/358549.358561
13. Wirth N. 50 years of Pascal. Communications of the ACM. 2021;64(3):39-41. https://doi.org/10.1145/3447525
14. Dotzel G., Skulski W., Dubois P.F. Oberon-2, A High-Performance Alternative To C++. Computers in Physics. 1997;11(1):81. https://doi.org/10.1063/1.4822520
15. Tkachov F.V. Less is more. Why Oberon beats mainstream in complex applications. Journal of Physics: Conference Series. 2014;523:012011. https://doi.org/10.1088/1742-6596/523/1/012011
16. Severance C. The Art of Teaching Computer Science: Niklaus Wirth. Computer. 2012;45(7):8-10. https://doi.org/10.1109/mc.2012.245
17. Kay A., Goldberg A. Personal Dynamic Media. Computer. 1977;10(3):31-41. https://doi.org/10.1109/c-m.1977.217672
18. Parnas D.L. On the criteria to be used in decomposing systems into modules. Communications of the ACM. 1972;15(12):1053-1058. https://doi.org/10.1145/361598.361623
19. Wirth N. Oberon: A system for workstations. Microprocessing and Microprogramming. 1988;24(1-5):3-8. https://doi.org/10.1016/0165-6074(88)90017-8
20. Gutknecht J. Oberon, gadgets, and some archetypal aspects of persistent objects. Information Sciences. 1996;93(1-2):65-86. https://doi.org/10.1016/0020-0255(96)00061-8
21. Swinehart D.C., Zellweger P.T., Beach R.J., Hagmann R.B. A structural view of the Cedar programming environment. ACM Transactions on Programming Languages and Systems. 1986;8(4):419-490. https://doi.org/10.1145/6465.6466
22. Hoare C.A.R., Wirth N. An axiomatic definition of the programming language PASCAL. Acta Informatica. 1973;2(4):335-355. https://doi.org/10.1007/bf00289504
23. Reimer M. Implementation of the database programming language modula/R on the personal computer lilith. Software: Practice and Experience. 1984;14(10):945-956. https://doi.org/10.1002/spe.4380141005
24. Garfinkel S., Spafford E.H. In Memoriam: Niklaus Wirth. Communications of the ACM. 2024;67(3):20-20. https://doi.org/10.1145/3641309
25. Geissmann L. Der Lilith-Debugger. Ein modernes Werkzeug zur Fehlersuche in Modula-2 Programmen/ The Lilith Debugger. Α modern tool for debbugging Modula-2 Programs. it – Information Technology. 1985;27(1-6):95-106. https://doi.org/10.1524/itit.1985.27.16.95

Это произведение доступно по лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная.
Редакционная политика журнала основывается на традиционных этических принципах российской научной периодики и строится с учетом этических норм работы редакторов и издателей, закрепленных в Кодексе поведения и руководящих принципах наилучшей практики для редактора журнала (Code of Conduct and Best Practice Guidelines for Journal Editors) и Кодексе поведения для издателя журнала (Code of Conduct for Journal Publishers), разработанных Комитетом по публикационной этике - Committee on Publication Ethics (COPE). В процессе издательской деятельности редколлегия журнала руководствуется международными правилами охраны авторского права, нормами действующего законодательства РФ, международными издательскими стандартами и обязательной ссылке на первоисточник.
Журнал позволяет авторам сохранять авторское право без ограничений. Журнал позволяет авторам сохранить права на публикацию без ограничений.
Издательская политика в области авторского права и архивирования определяются «зеленым цветом» в базе данных SHERPA/RoMEO.
Все статьи распространяются на условиях лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная, которая позволяет другим использовать, распространять, дополнять эту работу с обязательной ссылкой на оригинальную работу и публикацию в этом журналe.
