Автор Тема: Многоуровневый ЯП на основе ОБЕРОНА  (Прочитано 21287 раз)

DIzer

  • Гость
Господа, а может создать многоуровневый ЯП - каждый новый уровень будет обратно совместим с предыдущим. Такое разделение можно выбрать из многих принципов (например , как попытались сделать это создатели GPCP). Я предлагаю для начала рассмотреть 2 уровневую схему.
1. Максимально простой и высокоуровневый (без низкоуровневых артефактов исполнителя) для обучения алгоритмизации и высокоуровневого программирования (большинство повседневных задач).
2. Приближенный к "реалиям" жизни то есть к модели исполнителя, особенностям железа...(системное программирование, биндинги к сторонним библиотекам)
Разграничение между ними - модули (т.е например если он начинается с module - это первый уровень , с MODULE-  второй)
Первому   уровню должно быть понятна большая часть того что экспортирует второй, второй должен ПОЛНОСТЬЮ понимать что сделано (и КАК) на первом...

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:Многоуровневый ЯП на основе ОБЕРОНА
« Ответ #1 : Март 18, 2011, 09:48:31 am »
Что-то подобное когда-то предлагал Р.Богатырёв, да так вроде и заглохло...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

DIzer

  • Гость
Re:Многоуровневый ЯП на основе ОБЕРОНА
« Ответ #2 : Март 18, 2011, 10:38:02 am »
Что-то подобное когда-то предлагал Р.Богатырёв, да так вроде и заглохло...
Можно ссылку или направление поиска? (интересно насколько он проработал идею)...

Димыч

  • Newbie
  • *
  • Сообщений: 16
    • Просмотр профиля

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:Многоуровневый ЯП на основе ОБЕРОНА
« Ответ #4 : Март 18, 2011, 12:47:51 pm »
Что-то подобное когда-то предлагал Р.Богатырёв, да так вроде и заглохло...
Можно ссылку или направление поиска? (интересно насколько он проработал идею)...
В основном вот:
http://rbogatyrev.livejournal.com/2007/07/17/
http://rbogatyrev.livejournal.com/2007/08/24/

Вообще эти обсуждения велись на форуме Oberoncore и вроде как были перенесены в архив.
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Сергей Прохоренко

  • Newbie
  • *
  • Сообщений: 16
    • Просмотр профиля
Re:Многоуровневый ЯП на основе ОБЕРОНА
« Ответ #5 : Март 18, 2011, 01:16:40 pm »
Нет, у Богатырева была другая, весьма сомнительная идея - иметь несколько "ортогональных" языков, хотя практика доказала необходимость мультипарадигменных языков. Поищите еще на "Королевстве Дельфи", там, где про создание операционной системы РОСА.

А многоуровневый язык - идея очевидная и даже частично реализованная (например, модуль SYSTEM в Блэкбоксе), но явно недооцененная. Для ее реализации необходимо иметь среду разработки (IDE), которая бы сопротивлялась неуместному использованию низкоуровневых средств. То есть, одним только языком тут не обойтись.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Многоуровневый ЯП на основе ОБЕРОНА
« Ответ #6 : Март 18, 2011, 01:41:21 pm »
То же самое делается в Haskell'e на уровне системы типов языка :-)
IDE для этого не нужна.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

DIzer

  • Гость
Re:Многоуровневый ЯП на основе ОБЕРОНА
« Ответ #7 : Март 18, 2011, 03:08:33 pm »
Спасибо (всем за ссылки), но Богатырев насколько я понял (поправьте)  вел речь в первую очередь о ОС в которую ПОЛНОСТЬЮ ортогонально (то есть независимо) интегрируется (а также единовременно поддерживются) несколько языков. Я предлагаю  другое...

DIzer

  • Гость
Re:Многоуровневый ЯП на основе ОБЕРОНА
« Ответ #8 : Март 18, 2011, 03:13:25 pm »
А многоуровневый язык - идея очевидная и даже частично реализованная (например, модуль SYSTEM в Блэкбоксе), но явно недооцененная.
Кто же спорит, весь смысл в идеалогии на которой строится это построения (модели) ...

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Многоуровневый ЯП на основе ОБЕРОНА
« Ответ #9 : Март 18, 2011, 03:14:58 pm »
Идея хорошая, и довольно популярная, но тут вся суть в деталях. Без деталей сложно что-то обсуждать.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

DIzer

  • Гость
Re:Многоуровневый ЯП на основе ОБЕРОНА
« Ответ #10 : Март 18, 2011, 03:17:38 pm »
То же самое делается в Haskell'e на уровне системы типов языка :-)
IDE для этого не нужна.
ЧТО строится в Хаскеле, с КАКОЙ ЦЕЛЬЮ, КАКИМИ средствами, для КОГО,  и наконец , ДЛЯ ЧЕГО ИДЕ не нужна?

DIzer

  • Гость
Re:Многоуровневый ЯП на основе ОБЕРОНА
« Ответ #11 : Март 18, 2011, 03:22:24 pm »
Идея хорошая, и довольно популярная, но тут вся суть в деталях. Без деталей сложно что-то обсуждать.
Вот я и предлагаю что бы определиться с деталя для начала ответить на вопросы ДЛЯ ЧЕГО,  ДЛЯ КОГО. (детали прояснятся в обсуждении...)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Многоуровневый ЯП на основе ОБЕРОНА
« Ответ #12 : Март 18, 2011, 03:52:53 pm »
Цитировать
1. Максимально простой и высокоуровневый (без низкоуровневых артефактов исполнителя) для обучения алгоритмизации и высокоуровневого программирования (большинство повседневных задач).

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

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

DIzer

  • Гость
Re:Многоуровневый ЯП на основе ОБЕРОНА
« Ответ #13 : Март 18, 2011, 04:54:16 pm »

Цитировать

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

Чтобы глубоко не ударяться в философию
1. Есть понятия абстрагирования и идеализации, позволяющие приближенно рассматривать окружающий наш мир с помощью некоторого числа понятий, концепций, правил, законов...
2. Этот набор понятий... в контексте некоторой задачи можно рассматривать как некоторую систему описывающую данную задачу...
3. Есть понятие алгоритма  -как метода решения задач, с определенными свойствами (конечность, детерменированность, массовость)
4.  Будем считать что большинство систем встречающихся на практике достаточно описывается с помощью небольшого числа понятий информатики (в контексте задачи - императивная модель со строгой типизацией) (переменная, тип данных, данные, оператор присваивания, цикл, ветвление).
5. Изходя из п.4. Алгоритм можно выразить через понятия информатики. 
6. Есть понятие ЯП , как промежуточного звена между человеком и исполнителем. (модель человека и исполнителя надо уточнять)
7. Есть понятие программы(мм), как оторбражения алгоритма, сформированного в терминах п.4 на  ЯП п.6

Это основные понятия с которыми приходится иметь дело при решении большинства задач...
артефакты вылазят в п.5... основная проблема заключается в том, что они гадят во все пункты выше....

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:Многоуровневый ЯП на основе ОБЕРОНА
« Ответ #14 : Март 18, 2011, 04:54:33 pm »
Спасибо (всем за ссылки), но Богатырев насколько я понял (поправьте)  вел речь в первую очередь о ОС в которую ПОЛНОСТЬЮ ортогонально (то есть независимо) интегрируется (а также единовременно поддерживются) несколько языков. Я предлагаю  другое...
Он предлагал разработать семейство дополняющих языков -- от самого низоуровневого до языка интеграции систем, написанных на языках более низкого уровня.
Вы предложили два уровня языков, а Богатырёв то ли три, то ли четыре, уже точно не помню...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…