OberonCore https://forum.oberoncore.ru/ |
|
Приспособим PureBuilder для разработки игр https://forum.oberoncore.ru/viewtopic.php?f=93&t=3264 |
Страница 1 из 3 |
Автор: | Сергей Прохоренко [ Вторник, 15 Февраль, 2011 23:40 ] |
Заголовок сообщения: | Приспособим PureBuilder для разработки игр |
Уже полгода на моем рабочем столе лежит презентация The Next Mainstream Programming Language:A Game Developer’s Perspective - крик души разработчика игр. Лежит как напоминание о том, что хороший структурный редактор должен соответствовать этим ясно выраженным потребностям. Должен признать, что предложенные автором решения мне понравились. А компьютерные игры - это передовой край Computer Science, эталон пригодности инструментального программного обеспечения к решению сложных задач. Если вкратце, то проблемы (и их решение) следующие:
|
Автор: | Валерий Лаптев [ Вторник, 15 Февраль, 2011 23:49 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Я думаю, что структурно-семантические редакторы должны быть СПЕЦИАЛИЗИРОВАННЫМИ по предметным областям. Как автомобили: легковые, грузовые, фургоны, автобусы и т.п. |
Автор: | Сергей Прохоренко [ Среда, 16 Февраль, 2011 00:12 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Почему? Разве то, что описано в первом посте, - это что-то экстраординарное и узкоспецифическое, привязанное к одной предметной области? Нет ведь! Я же не говорю, что оно должно появиться в первой версии структурного редактора. Я понимаю, что компилятор должен быть очень интеллектуальным, и сразу его не реализуешь. Но в будущем это должно быть. То есть, сейчас просто не надо закладывать решения, которые станут потом препятствием для этих "фич". |
Автор: | Валерий Лаптев [ Среда, 16 Февраль, 2011 00:17 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Практически все, что там перечислено - уже есть в Компонентном паскале... |
Автор: | Сергей Прохоренко [ Среда, 16 Февраль, 2011 00:43 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Валерий Лаптев писал(а): Практически все, что там перечислено - уже есть в Компонентном паскале... А можно поточнее - чего нет? |
Автор: | Владислав Жаринов [ Среда, 16 Февраль, 2011 06:41 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Сергей Прохоренко писал(а): Валерий Лаптев писал(а): Практически все, что там перечислено - уже есть в Компонентном паскале... А можно поточнее - чего нет? |
Автор: | Geniepro [ Среда, 16 Февраль, 2011 07:33 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Валерий Лаптев писал(а): Практически все, что там перечислено - уже есть в Компонентном паскале... Любопытно. А что именно из этого списка есть в Компонентном паскале? "экспертное" мнение удалено модератором (троллинг, п 5.7/2) |
Автор: | Сергей Прохоренко [ Среда, 16 Февраль, 2011 10:45 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Драконограф писал(а): А кстати - структурный редактор ведь делает только исходный текст для какого-то компилятора, выбранного "в связку"? Вот какой подразумевается как целевой для Оберон-07? Нет, структурный редактор не "делает только исходный текст для какого-то компилятора". Во-первых, для PureBuilder внутренним языком является новый диалект на основе Оберон-07, но не Оберон-07 как таковой. Язык Оберон-07 дополнен некоторыми конструкциями, подходящими для визуального программирования, повышающими надежность программ, производительность труда программиста или доступность технологий. При этом вектором развития языка не является его приближение к так называемым "промышленным" языкам ("мэйнстриму"), т.е. C, C++, Java, C#. У Валерия Лаптева также имелись планы "отклониться" от Оберона, в частности, попытаться реализовать несколько вариантов синтаксиса (а-ля Паскаль и а-ля Си), добавить какие-то конструкции в учебных целях, а его студент реализует вариант с русскими служебными словами. Во-вторых, структурный редактор (в моем представлении) не должен порождать программу в форме текста, так как всякие высокоуровневые надстройки типа слоев, подсистем, интерфейсов к базе данных и т.п. сложно выразить в виде текста, и это могло бы неоправданно усложнить структурный редактор или сузить его возможности. Да и особой необходимости в текстовом представлении нет. В-третьих, структурный редактор сам и непосредственно формирует абстрактное синтаксическое дерево, то есть, заменяет собой front-end компилятора. Естественно добавить к нему и новый back-end. К тому же, Валерия Лаптева привлекает технология динамической кодогенерации, которая должна быть внедрена в структурный редактор. Тот структурный редактор, о которм Вы пишите, - порождающий исходный текст - существует сейчас только в варианте Кирилла Осенкова. Он порождает исходники на C#. |
Автор: | Валерий Лаптев [ Среда, 16 Февраль, 2011 15:36 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Сергей Прохоренко писал(а): Валерий Лаптев писал(а): Практически все, что там перечислено - уже есть в Компонентном паскале... А можно поточнее - чего нет? Последнего пункта - параллельность. Решается средствами ОС. Ну и контроль переполнения - это тоже легко решается для стандартных целых. А для длинных - надо в модуль Integer добавлять проверку. |
Автор: | Илья Ермаков [ Среда, 16 Февраль, 2011 15:43 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
(В КП/ББ есть контроль переполнения, включается опцией компилятора.) |
Автор: | Валерий Лаптев [ Среда, 16 Февраль, 2011 15:48 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Сергей Прохоренко писал(а): Нет, структурный редактор не "делает только исходный текст для какого-то компилятора". Совершенно верно. Цитата: Во-первых, для PureBuilder внутренним языком является новый диалект на основе Оберон-07, но не Оберон-07 как таковой. Язык Оберон-07 дополнен некоторыми конструкциями, подходящими для визуального программирования, повышающими надежность программ, производительность труда программиста или доступность технологий. При этом вектором развития языка не является его приближение к так называемым "промышленным" языкам ("мэйнстриму"), т.е. C, C++, Java, C#. У Валерия Лаптева также имелись планы "отклониться" от Оберона, в частности, попытаться реализовать несколько вариантов синтаксиса (а-ля Паскаль и а-ля Си), добавить какие-то конструкции в учебных целях, а его студент реализует вариант с русскими служебными словами. Взяв за образец а) русский язык в Кумире б) работу инфо-21 по руссификации КП пытаемся состряпать некий минимальный алгоритмический язык по образцу КП. Редактор НЕ РАЗРЕШАЕТ изменять ключевые слова. Изменения разрешаются только в определенных местах оператора - где требуется вводить ручками. Естественно, одним нажатием клавиши =- переключение всех ключевых слов на английский. Цитата: Во-вторых, структурный редактор (в моем представлении) не должен порождать программу в форме текста, так как всякие высокоуровневые надстройки типа слоев, подсистем, интерфейсов к базе данных и т.п. сложно выразить в виде текста, и это могло бы неоправданно усложнить структурный редактор или сузить его возможности. Да и особой необходимости в текстовом представлении нет. В-третьих, структурный редактор сам и непосредственно формирует абстрактное синтаксическое дерево, то есть, заменяет собой front-end компилятора. Естественно добавить к нему и новый back-end. К тому же, Валерия Лаптева привлекает технология динамической кодогенерации, которая должна быть внедрена в структурный редактор. Да. Работа выполняется с моделью. Представлений пока три: а) текстовое - на экране; дерево вложенности - на экране; сохраняемый файл - xml (пока). Пацан пишет на додиезе - конкретно сейчас у них дисциплина NEYT-программирование. И данный редактор идет как курсовой проект в среде дотнет на додиезе. Сегодня разговаривали об интерпретаторе модели - выполнение программ. Дальше будем думать о генераторе некоего кода и конвертерах в сохраняемый текстовый вид. |
Автор: | Валерий Лаптев [ Среда, 16 Февраль, 2011 15:49 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Илья Ермаков писал(а): (В КП/ББ есть контроль переполнения, включается опцией компилятора.) Ну вот. Тады - ОЙ! Так что ничего придумывать не нужно, нужно взять ББ+КП - и использовать... |
Автор: | Alexey Veselovsky [ Среда, 16 Февраль, 2011 16:23 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Илья Ермаков писал(а): (В КП/ББ есть контроль переполнения, включается опцией компилятора.) В тьюринг-полном языке контроль выхода за границы массива и целочисленного переполнения на этапе компиляции принципиально невозможно реализовать. А про контроль времени исполнения Geniepro всё уже сказал, да только это всё удалили, хотя было в тему. |
Автор: | Сергей Прохоренко [ Среда, 16 Февраль, 2011 20:18 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Илья Ермаков писал(а): (В КП/ББ есть контроль переполнения, включается опцией компилятора.) А всё остальное тоже есть? - вопрос к специалисту. Обращаю Ваше внимание на то, что автор презентации хочет не генерации и обработки прерывания/исключения во время исполнения, а он хочет контроля во время компиляции. Кстати, целочисленного типа переменной длины уж точно нет в КП (и, наверное, вообще ни в одном из языков программирования), а идея интересная. |
Автор: | Сергей Прохоренко [ Среда, 16 Февраль, 2011 20:22 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Geniepro писал(а): Валерий Лаптев писал(а): Практически все, что там перечислено - уже есть в Компонентном паскале... Любопытно. А что именно из этого списка есть в Компонентном паскале? "экспертное" мнение удалено модератором (троллинг, п 5.7/2) Прошу модератора переслать мне удаленное сообщение в личку. Обязуюсь не выкладывать. |
Автор: | Евгений Темиргалеев [ Среда, 16 Февраль, 2011 20:30 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Сергей Прохоренко писал(а): Прошу модератора переслать мне удаленное сообщение в личку. Обязуюсь не выкладывать. Технически не возможно.
|
Автор: | Валерий Лаптев [ Среда, 16 Февраль, 2011 20:48 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Сергей Прохоренко писал(а): Илья Ермаков писал(а): (В КП/ББ есть контроль переполнения, включается опцией компилятора.) А всё остальное тоже есть? - вопрос к специалисту. Обращаю Ваше внимание на то, что автор презентации хочет не генерации и обработки прерывания/исключения во время исполнения, а он хочет контроля во время компиляции. Кстати, целочисленного типа переменной длины уж точно нет в КП (и, наверное, вообще ни в одном из языков программирования), а идея интересная. Длинные числа обычно реализуются в библиотеке. И они там есть... |
Автор: | Alexey Veselovsky [ Среда, 16 Февраль, 2011 20:56 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Сергей Прохоренко писал(а): Кстати, целочисленного типа переменной длины уж точно нет в КП (и, наверное, вообще ни в одном из языков программирования), а идея интересная. Они есть во многих языках. Например в Haskell, Erlang and so on. Ну а, скажем, в Аде прямо в типе можно заказать такую битность числа, какая нужна. PS. Про это Geniepro также написал, кстати. |
Автор: | Alexey Veselovsky [ Среда, 16 Февраль, 2011 21:00 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Валерий Лаптев писал(а): Длинные числа обычно реализуются в библиотеке. И они там есть... Про сравнение КПшной библиотеки с libgmp Geniepro также вполне вменяемо написал в удаленном модераторами сообщении. |
Автор: | Владислав Жаринов [ Четверг, 17 Февраль, 2011 06:24 ] |
Заголовок сообщения: | Re: Приспособим PureBuilder для разработки игр |
Валерий Лаптев писал(а): Сергей Прохоренко писал(а): Нет, структурный редактор не "делает только исходный текст для какого-то компилятора". Совершенно верно. ... Да. Работа выполняется с моделью. ... А мысль интересная ещё и тем, что ведь использовать это можно и для реализации внутри документа динамических моделей процессов, явлений (в учебных целях прежде всего). |
Страница 1 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |