Автор Тема: Язык программирования Оно  (Прочитано 14313 раз)

Freeman

  • Newbie
  • *
  • Сообщений: 15
  • Завлаб
    • Просмотр профиля
    • Лаборатория Единой среды
Язык программирования Оно
« : Январь 24, 2013, 09:39:30 am »
Хотел создать тему, но не находил нужных слов. Поэтому дам просто ссылку.

В идеале хотелось бы услышать конструктивную критику по языку и всему остальному. Не покидает ощущение, что пока не удалось донести свои мысли должным образом.

X512

  • Newbie
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: Язык программирования Оно
« Ответ #1 : Январь 24, 2013, 10:00:59 am »
Спецификации языка не нашёл также как не нашёл и компилятора, только общие слова. Критиковать пока нечего.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Язык программирования Оно
« Ответ #2 : Январь 24, 2013, 10:04:11 am »
Цитировать
Девиз языка:

Функциональное программирование в привычном синтаксисе.

Уже интересно, надо будет почитать что там и как. Вот только многовато букв...
to iterate is human, to recurse, divine

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

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Язык программирования Оно
« Ответ #3 : Январь 24, 2013, 10:33:40 am »
А можно пример какой-нибудь не слишком тривиальный? Ну хоть сортировку какую-нибудь (пузырьком), или там решение какой-нибудь задачки отсюда: http://benchmarksgame.alioth.debian.org/

Ну или вот этой задачки решение: http://oberspace.dyndns.org/index.php/topic,392.0.html
(последнее предпочтительно, ибо эту задачку вроде бы все уже знают и не придется заново вникать).
Y = λf.(λx.f (x x)) (λx.f (x x))

Kemet

  • Hero Member
  • *****
  • Сообщений: 587
    • Просмотр профиля
Re: Язык программирования Оно
« Ответ #4 : Январь 24, 2013, 10:49:10 am »
Спецификации языка не нашёл также как не нашёл и компилятора, только общие слова. Критиковать пока нечего.
Насколько я помню там интерпретатор в svn.

Freeman

  • Newbie
  • *
  • Сообщений: 15
  • Завлаб
    • Просмотр профиля
    • Лаборатория Единой среды
Re: Язык программирования Оно
« Ответ #5 : Январь 24, 2013, 11:28:07 am »
Насколько я помню там интерпретатор в svn.
К сожалению, нет. Сам язык пока в стадии разработки (синтаксис), поэтому о реализации еще говорить рано.

После первых отзывов могу сказать несколько слов. Язык Оно изначально задумывался с синтаксисом, управляемым библиотекой (RTL). Позже эта идея трансформировалась в двухуровневый подход:
  • Есть некие базовые неперекрываемые понятия, реализуемые магией компилятора и условно соответствующие абстрактной высокоуровневой машине, примитивы которой -- и есть обратимый байт-код. Получается, что ассемблером этой машины является сам Оно.
  • Есть некоторый набор операций, реализуемых в RTL, -- так называемый "Лисп-скобка-скобка". Как оказалось, похожий подход используется в языке Эйфель.
Сейчас стоит задача завершения работы над синтаксисом, что даст основу для байт-кода, после чего писать RTL -- уже на Оно. И только потом можно будет браться за компилятор.

Зачем все это делается, я попытался объяснить в статье "Фрактальная ОС", перед прочтением которой стоит также прочесть "ОС как платформа". Получилось довольно эмоционально, но уж как есть.

Вот такой мега-проект. У меня сомнения не столько в технической реализуемости, сколько в востребованности и соответствию вызовам времени. Как говорят в определенных кругах? Проект "нинужен", у нас "..." есть.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Язык программирования Оно
« Ответ #6 : Январь 24, 2013, 12:38:18 pm »
http://tunilab.org/Ono/Syntax/Algorithms/Loops
Цитата: Freeman
Операторы цикла представлены в Оно циклом Дейстры, циклом типа «паук» и циклом for, который рассматривается как итератор, совмещенный с алгоритмической реализацией агрегатной функции.
Для чего нужен цикл Дейкстры, если будет цикл "паук", частным случаем которого является цикл Дейкстры?
to iterate is human, to recurse, divine

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

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re: Язык программирования Оно
« Ответ #7 : Январь 24, 2013, 12:46:50 pm »
Да хватит умничать уже.
Т. н.  цикл-'паук' придумал какой-то мудак, который не смыслит в циклах ни уха, ни рыла.
Достаточно посмотреть на ссылку в конце статьи в википедии:
Цитировать
Работа с циклами for и foreach в PHP
« Последнее редактирование: Январь 24, 2013, 12:50:46 pm от Peter Almazov »

igor

  • Sr. Member
  • ****
  • Сообщений: 438
    • Просмотр профиля
Re: Язык программирования Оно
« Ответ #8 : Январь 24, 2013, 03:12:21 pm »
http://tunilab.org/Ono/Philosophy/WYTIWYG:
Цитировать
Язык Оно создается на замену С/С++ ...
Вот такой мега-проект. У меня сомнения не столько в технической реализуемости, сколько в востребованности и соответствию вызовам времени. Как говорят в определенных кругах? Проект "нинужен", у нас "..." есть.

Как там в поговорке говорится?.. "Чужую беду руками разведу"  :)
Когда я вижу перед собой столь широкомасштабный проект, первое, что я делаю, - это пытаюсь найти ответы на главные вопросы. Один из таких вопросов: "Вы разрабатываете новый язык, потому что ЛИЧНО испытываете в нём потребность? Или для того чтобы осчастливить "бедных" пользователей C/C++?" Я понимаю, что одно другое не исключает. И всё-таки, что для Вас главное? Если второе, то не тратьте понапрасну силы и время.

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Язык программирования Оно
« Ответ #9 : Январь 25, 2013, 02:10:02 am »
В идеале хотелось бы услышать конструктивную критику по языку и всему остальному. Не покидает ощущение, что пока не удалось донести свои мысли должным образом.

Мысли местами интересные, местами вообще непонятные и сильно разбросаны. Может все же со стороны примеров зайти?

Valery

  • Full Member
  • ***
  • Сообщений: 101
    • Просмотр профиля
Re: Язык программирования Оно
« Ответ #10 : Январь 25, 2013, 04:41:01 am »
Насколько я помню там интерпретатор в svn.
К сожалению, нет. Сам язык пока в стадии разработки (синтаксис), поэтому о реализации еще говорить рано.
Неверный подход.
Синтаксис - дело вторичное. Главное - семантика:
Цитировать
Представление программы в виде семантического дерева позволяет реализовать идею Б.Страуструпа о том, что синтаксис языка программирования является только интерфейсом [3], который, вообще говоря, можно менять, выбирая наиболее удобный. В Semantic IDE помимо синтаксиса Semantic Language реализованы С-подобный и Pascal-подобный синтаксисы. Кроме того, каждое из представлений может быть показано как в русской лексике, так и в английской.

Freeman

  • Newbie
  • *
  • Сообщений: 15
  • Завлаб
    • Просмотр профиля
    • Лаборатория Единой среды
Re: Язык программирования Оно
« Ответ #11 : Январь 25, 2013, 08:15:04 am »
 
Вы разрабатываете новый язык, потому что ЛИЧНО испытываете в нём потребность? Или для того чтобы осчастливить "бедных" пользователей C/C++?
Поскольку первоначальной идеей была разработка ОС, вместе с языком это нужно рассматривать как попытку создать отдельную экосистему, основанную на оригинальном подходе к решению задач -- борьбе с рутиной -- в том смысле, как она понимается автором проекта. ОС и язык -- инструменты для реализации выбранного подхода.

C/C++ рассматривается как некий ориентир, пример успешной экосистемы или даже нескольких экосистем. Глядя на него, сразу видны и задачи, и требования, и глубина проработки, и усилия для этого. Воспроизвести результат, не копируя подходы и решения -- вот чего хочется. С этой точки зрения Оно "спасает" программистов на C/C++ так же, как их "спасает" Objective-C, например.

Может все же со стороны примеров зайти?
Пробовал, но пока не получается или получается совсем мало, как в new. Думаю, что со временем появится раздел с аналогами решений, принятых в других языках. Надеюсь, что помогут ваши наводящие вопросы. :)

Синтаксис - дело вторичное. Главное - семантика:
Не знаю, как это правильно объяснить. Поиск семантики через синтаксис? Гм. Ведь вместе с синтаксисом вырабатывается некая модель, которая станет основой байт-кода.

Цитировать
Представление программы в виде семантического дерева позволяет реализовать идею Б.Страуструпа о том, что синтаксис языка программирования является только интерфейсом [3]
Это не из "Странника" цитата? Нагуглил, вроде нет. Похожая идея была также в SymADE Максима Кизуба... А ваша разработка как-то мимо меня прошла. :)

Идея Единой среды в том, что одновременно с разработкой языка ведется поиск некой минимальной высокоуровневой машины, оперирующей понятиями "объект", "список", "условие", "функция" и некоторыми другими. Скажем, объект рассматривается как "объектный регистр"... Простота тут не в синтаксисе, как в Обероне, а в машине -- в байт-коде. Именно поэтому в Оно сразу два синтаксиса -- командный и декларативный.

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

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Язык программирования Оно
« Ответ #12 : Январь 25, 2013, 08:45:47 am »
Синтаксис - дело вторичное. Главное - семантика:
Не знаю, как это правильно объяснить. Поиск семантики через синтаксис? Гм. Ведь вместе с синтаксисом вырабатывается некая модель, которая станет основой байт-кода.
...
Именно поэтому в Оно сразу два синтаксиса -- командный и декларативный.

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

Для одной и той же семантики, для одного и того же байткода можно придумать множество совершенно непохожих друг на друга синтаксисов -- лисповый, сишный, паскалевский, питоновский и тд.

По-моему Вы смешиваете эти два понятия -- синтаксис и семантику...
to iterate is human, to recurse, divine

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

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Язык программирования Оно
« Ответ #13 : Январь 25, 2013, 08:54:27 am »
Просмотрел статьи по Вашему языку, слишком уж много там воды и мало конкретики.
Ещё раз убедился в правильности виртовского подхода -- сначала сделай, а потом напиши-расскажи публике...
to iterate is human, to recurse, divine

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

Valery

  • Full Member
  • ***
  • Сообщений: 101
    • Просмотр профиля
Re: Язык программирования Оно
« Ответ #14 : Январь 25, 2013, 02:30:27 pm »
Вы разрабатываете новый язык, потому что ЛИЧНО испытываете в нём потребность? Или для того чтобы осчастливить "бедных" пользователей C/C++?
Поскольку первоначальной идеей была разработка ОС, вместе с языком это нужно рассматривать как попытку создать отдельную экосистему, основанную на оригинальном подходе к решению задач -- борьбе с рутиной -- в том смысле, как она понимается автором проекта. ОС и язык -- инструменты для реализации выбранного подхода.

C/C++ рассматривается как некий ориентир, пример успешной экосистемы или даже нескольких экосистем. Глядя на него, сразу видны и задачи, и требования, и глубина проработки, и усилия для этого. Воспроизвести результат, не копируя подходы и решения -- вот чего хочется.
1. Проект Оберон - наше все... :)
Уже сделана - ОС вместе с языком реализации и он же язык программирования в этой ос.
2. Проект оберон делался без оглядки на мир С++.
3. Вот книжка: http://www.ozon.ru/context/detail/id/8218517/