OberonCore
https://forum.oberoncore.ru/

Обсуждение проекта PureBuilder
https://forum.oberoncore.ru/viewtopic.php?f=93&t=3133
Страница 7 из 7

Автор:  Владислав Жаринов [ Среда, 19 Январь, 2011 19:15 ]
Заголовок сообщения:  Re: Параллельное программирование в системе формализации дея

Сергей Прохоренко писал(а):
Я против макросов (кроме случаев, когда они являются по сути частью компилятора, как в Си), перегрузки операторов и подобных им трюков. Код должен исполняться так, как он выглядит при создании, а не так, как он будет выглядеть после обработки. В противном случае программист может легко ошибиться. Да и с точки зрения идеологии PureBuilder - структурный, а не текстовый редактор. В нем зрительный образ, отражающий семантику программы, - самое главное, а внутреннее представление - вещь второстепенная.
Мода приходит и уходит. :wink:
Вот это где-то и мне близко... как раз хотелось бы давать "зрительный образ макросов компилятора".

Автор:  Владислав Жаринов [ Пятница, 28 Январь, 2011 10:36 ]
Заголовок сообщения:  Структура документа редактора

Про зрительный образ и внутреннее представление кое-что вырисовывается - см. здесь - конечно, также на качественном уровне. В принципе как результат определения ПК-языка и (предварительно) АТ-языка.

Автор:  Валерий Лаптев [ Среда, 02 Февраль, 2011 11:43 ]
Заголовок сообщения:  Re: Обсуждение проекта PureBuilder

Только сейчас обратил внимание. Среди перечисленных парадигм: структурное программирование и процедурное программирование. Чем отличаются с вашей точки зрения? ИМХО, структурное уже пора перестать выделять в отдельную парадигму, а просто по умолчанию поддерживать - чтоб по-другому и писАть нельзя было.

Автор:  Сергей Прохоренко [ Среда, 02 Февраль, 2011 13:02 ]
Заголовок сообщения:  Re: Обсуждение проекта PureBuilder

Валерий Лаптев писал(а):
Только сейчас обратил внимание. Среди перечисленных парадигм: структурное программирование и процедурное программирование. Чем отличаются с вашей точки зрения? ИМХО, структурное уже пора перестать выделять в отдельную парадигму, а просто по умолчанию поддерживать - чтоб по-другому и писАть нельзя было.


Процедурное программирование Можно написать программу без операторов присваивания, в которой будут только вызывы функций, в т.ч. рекурсия. Такая программа не будет соответствовать процедурному программированию, как и программа на Prolog'е.

Структурное программирование Мне представляется, что структурное программирование - это разновидность процедурного, в которой для передачи управления (когда инструкции не выполняются последовательно) используются вложенные блоки кода с одним входом и одним выходом в каждом блоке. Альтернативой является не только оператор goto и операторы досрочного выхода (что порицается и должно быть лишено поддержки в синтаксисе), но и функциональное (как подвариант - логическое) программирование с рекурсией, без побочных эффектов, без операторов присваивания и по-возможности без переменных (особенно глобальных и статических) (что при правильном применении одобряется). А лишний раз напомнить про стркутурное программирование, мне кажется, полезно.

Автор:  Madzi [ Четверг, 03 Февраль, 2011 13:24 ]
Заголовок сообщения:  Re: Обсуждение проекта PureBuilder

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

Структурное программирование - когда код структурируется по смыслу и содержанию. Существуют условные и безусловные управляющие структуры. Каждая структура характеризуется определённой осмысленной операцией. Структурное программирование может быть с использованием процедур, а может быть и без него.

Автор:  Сергей Прохоренко [ Четверг, 03 Февраль, 2011 15:29 ]
Заголовок сообщения:  Re: Обсуждение проекта PureBuilder

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


Это определение лучше того, которое сейчас в Википедии.

Автор:  Galkov [ Понедельник, 07 Февраль, 2011 11:07 ]
Заголовок сообщения:  Re: Обсуждение проекта PureBuilder

И что занимательно, никто толком не говорит, каковым по качеству действием является выделение "куска кода" в подпрограмму.

Это действие интерфейсное, предназначенное для лучшего понимания/читаемости ???
Или это есть действие по оптимизации, влияющее на качество выходного кода ???

В принципе, совершенно два разных "действия". :)

Автор:  Сергей Прохоренко [ Понедельник, 07 Февраль, 2011 22:13 ]
Заголовок сообщения:  Re: Обсуждение проекта PureBuilder

Galkov писал(а):
И что занимательно, никто толком не говорит, каковым по качеству действием является выделение "куска кода" в подпрограмму.

Это действие интерфейсное, предназначенное для лучшего понимания/читаемости ???
Или это есть действие по оптимизации, влияющее на качество выходного кода ???

В принципе, совершенно два разных "действия". :)


Первое. Всё для человека. :D

Автор:  Galkov [ Вторник, 08 Февраль, 2011 17:10 ]
Заголовок сообщения:  Re: Обсуждение проекта PureBuilder

Присоединяюсь. Такое решение мне представляется наиболее перспективным.

Следовательно, решение как сие устраивать в кодах: как процедуру, или как инлайн - святая обязанность компилятора. И никого больше.
И тут мы ненавязчиво вступаем в противоречие с концепцией "тонкого интеллектуального слоя".
Которая, конечно же, имеет право на жизнь, ИМХО
Как компромисс. Который длится уже не первое десятилетие :lol:

Автор:  Сергей Прохоренко [ Вторник, 08 Февраль, 2011 17:30 ]
Заголовок сообщения:  Re: Обсуждение проекта PureBuilder

Galkov писал(а):
Присоединяюсь. Такое решение мне представляется наиболее перспективным.

Следовательно, решение как сие устраивать в кодах: как процедуру, или как инлайн - святая обязанность компилятора. И никого больше.
И тут мы ненавязчиво вступаем в противоречие с концепцией "тонкого интеллектуального слоя".
Которая, конечно же, имеет право на жизнь, ИМХО
Как компромисс. Который длится уже не первое десятилетие :lol:

Ну, мы можем намекнуть компилятору, если захотим. Он ведь не знает, как часто будет вызываться процедура.
А что такое концепция "тонкого интеллектуального слоя"?

Страница 7 из 7 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/