Re[4]: А вот вам и новый язык. Зацените. Можно ругать.
От: Mr.Cat  
Дата: 07.04.10 16:31
Оценка:
Здравствуйте, batu, Вы писали:
MC>>Ни х не понятно. Правда. Было бы здорово увидеть краткое описание, прочитав которое, обитатели rsdn заинтересовались бы.
B>Я понимаю что не просто. И необычно. Ну, хотя бы три раздела можно освоить.. Проще чем написал пока не могу. В общении проще будет освоить..
Введение недоступно. TTL описывает какую-то xml-подобную нотацию. Lada — какой-то бейсикоподобный язык. Это все, что я понял. Мне все это напомнило какие-нибудь труъ-промышленные стандарты от какой-нить OMG, где стараются не называть вещи своими именами — не дай бог читатель что-то поймет.
Re[8]: А вот вам и новый язык. Зацените. Можно ругать.
От: Temoto  
Дата: 07.04.10 16:35
Оценка:
VD>>>>Начните с создания нормальной HTML-странички.
B>>>Какие мелочи? Ну, как есть пока..

VD>>Мелочи — это то, что людям не удобно читать ваши описания. На это указало много народа.

B>А как сделать что б было удобно? В двух страницах никак не получится.

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

Но, пожалуйста, сделайте так чтоб это можно было просто посмотреть, без скачиваний и архивов.
Re[5]: А вот вам и новый язык. Зацените. Можно ругать.
От: batu Украина  
Дата: 07.04.10 17:26
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, batu, Вы писали:

MC>>>Ни х не понятно. Правда. Было бы здорово увидеть краткое описание, прочитав которое, обитатели rsdn заинтересовались бы.
B>>Я понимаю что не просто. И необычно. Ну, хотя бы три раздела можно освоить.. Проще чем написал пока не могу. В общении проще будет освоить..
MC>Введение недоступно. TTL описывает какую-то xml-подобную нотацию. Lada — какой-то бейсикоподобный язык. Это все, что я понял. Мне все это напомнило какие-нибудь труъ-промышленные стандарты от какой-нить OMG, где стараются не называть вещи своими именами — не дай бог читатель что-то поймет.
Ну, какой же к черту XML? Там теги, а у меня каждый тег-это объект. Это ж принципиальная разница. Объект с вложенными объектами. И причем тут Бейсик.. Ну, что выдумывать знаки лишь бы отличалось? Есть имена классов которые уже привычны. Вот их и оставил. Остальное все другое. Более того этот же язык не только для классов (то бишь программ), но и для формирования документов годится.. Почитайте хотя бы три раздела. В введении четко написаны три новые концепции. Щас я их здесь выложу
Re[9]: Вот основные концепции. Затем три первых раздела. Не
От: batu Украина  
Дата: 07.04.10 17:31
Оценка:
Здравствуйте, Temoto, Вы писали:

VD>>>>>Начните с создания нормальной HTML-странички.

B>>>>Какие мелочи? Ну, как есть пока..

VD>>>Мелочи — это то, что людям не удобно читать ваши описания. На это указало много народа.

B>>А как сделать что б было удобно? В двух страницах никак не получится.

T>Не надо в двух. Сделайте одну страницу с кратким описанием, расскажите об идее вашего языка, о сходствах и отличиях с другими современными (это очень важно). А дальше хоть на сто двух страницах — подробности.


T>Но, пожалуйста, сделайте так чтоб это можно было просто посмотреть, без скачиваний и архивов.



Концепции.

Язык системы Lada является объектным, как и многие языки. Он является не столько языком, сколько системой правил создания, редактирования, хранения и протоколом обмена объектов, которые должны соблюдать языки, работающие в системе Lada. Эти правила общие и для создания текстовых документов (на других языках), и для создания, хранением и редактирования любых данных, а могут быть и языком программирования. Для программирования имеются средства императивного представления объекта (со свойствами, методами и событиями), элементы фунционального программирования, так и логическое представление объекта (представление в виде высказывания). Кроме того сделана попытка универсализации синтаксиса определения объектов. И дело не в желании автора сделать что-то оригинальное, а как раз наоборот привести к единому виду. Для этого проработаны три концепции. А именно:

1. Правила именования объектов.
2. Правила реализации объекта (Присвоение значений свойств, добавление новых свойств, методов и событий).
3. Правила группирования объектов. Объединение объектов.

Ниже обосновывается необходимость наличия этих трех правил в ООП, подробное описание которых в соответствующих разделах документа, а здесь хотелось бы отметить, что каждый объект в системе Lada имеет как императивное представление со свойствами, их значениями и методами, так и логическое представление объекта.
По поводу необходимости именования объектов вопросов быть не должно. С помощью имен мы имеем возможность идентифицировать объект. Так что правила именования объектов должно состоять из двух частей правила присвоения имени объекту и правила использование имени как инструментом доступа к объекту. Обычно имя объекта уникально в какой-то области. В системе Lada уникальность имени не обязательна для всех классов (Раздел 1).
Что бы не погрязнуть в деталях правил реализации и группирования отметим очевидное: При определении объекта необходимо иметь средства для присваивания значений свойств (те же операторы присваивания). Кроме того было бы весьма желательно иметь возможности для доопределения свойств, методов и событий для объекта. И совсем, очевидно, что операторы все это выполняющие должны быть как-то объединены (скобками, конечно) для восприятия их как единого целого. Стало быть, необходимо иметь правила применения скобок или как мы назвали правила группирования (Раздел 2).
Содержимое скобок доопределяющих объект и назовем реализацией. Реализация состоит из присваивания свойств и операторов. Для четкого понимания сути реализации необходимо отличать методы создания объектов и этапы трансляции и выполнения. Первый метод создания объекта, это создание букв (знаков), лексем и значений. Объекты-знаки обычно создаются набором на клавиатуре. Объекты лексемы и значения возникают из группы знаков в результате лексического анализа. Поясним это на примере. Так следующий текст
For I=30 To N {J +:= 1}
в результате лексического анализа разделяется на лексемы «For», «I», «=», «30», «To» и т.д. В этом смысле «For», «I» и«To» объекты-лексемы класса «Word». Итак, мы видим что объект «I» можно рассматривать как объект-букву и как лексему класса Word. Именно эти объекты (полученные в результате лексического анализа) будут поданы как входная цепочка в синтаксический анализатор (и далее в семантический). В результате работы синтаксического анализатора из последовательности лексем будет создан объект класса For с именем I, который в свою очередь может нуждаться в реализации. Отдельно остановимся на объектах-значениях. В нашем примере в результате лексического анализа из знаков «30» создастся объект класса Integer и значением 30. Это и есть объект-значение. Объектами-значениями мы назовем объекты, порождаемые классом Type и имеющие цифровое или текстовое представление. Например, «21», «100кг» или «1 октября 1995г». Эти же объекты можно получить из общего синтаксиса. Например, из такой синтаксической конструкции Integer I=30 в результате трансляции будет так же получен объект класса Iinteger со значением 30 и по имени I.
Итак, имеем иерархию объектов. Сначала объекты-знаки, затем объекты лексемы и следующий уровень это объекты, получаемые в результате трансляции при анализе синтаксиса. С помощью реализации можно изменить свойства и наполнить функциональным содержанием объект. По причине того, что изменение свойств и выполнение функционала необходимо выполнять на разных этапах и существует несколько видов реализации. Так реализация объектов-знаков, лексем и значений происходит на этапе лексического разбора и определяется скобками (лексические скобки) «‘» «’». Реализация объекта-знака следует непосредственно за этим знаком без пробела. Реализация лексем и значений осуществляется через пробел после реализуемого объекта. И выполняется во время лексического анализа. Реализация объектов создаваемых синтаксисом подчиняется правилам группирования, т.е. фигурными, круглыми или квадратными скобками и выполняется при запуске оттранслированной программы. Подробнее о применении скобок в правилах группирования см. раздел 2. Кроме этого каждый объект может содержать логическую реализацию, которая осуществляется скобками (логические скобки) «‹» и «›». И, наконец, реализация имен осуществляется скобками «“» и «”». Смысл реализации имен в том, что объект или группа объектов (например, функций или понятий) может быть вызвана по имени и выполнена (возможно, с параметрами), но после выполнения объекта, может быть необходимо выполнение каких-то еще действий. Вот такую реализацию и назовем реализацией имен или метареализация. Раздел 3.


Создание объектов.

Объекты могут порождать три класса Class, Type и Instruction. Все эти классы порождают объекты. Отличия в следующем:
Классы Class порождают объекты, эквивалентность которых определяется равенством ссылок. Операции сравнения объектов (и равенства в том числе) в языке Lada определяются отдельно.
Классы Type порождают объекты-значения. Операция эквивалентность для значений не определена. Здесь имеет смысл говорить о равенстве. Кроме того, объектам-значениям могут присваиваться значения, выраженные в числовом и/или текстовом виде. По этой причине определение типов оказывает влияние на лексически разбор, и, следовательно, документ (объекты класса Document являются загрузочной единицей) в котором определяются типы, должен быть, оттранслирован до трансляции документа использующего значения этого типа. Для этого используются библиотеки, пространства и механизм сценария, о котором расскажем позже.
Классы Instruction создают инструкции. Конструктор этого класса является содержанием инструкции. Примерами объектов-инструкций являются операторы языка, такие как For, If и прочие. И понятно, что можно создавать пользовательские инструкции.
Во время выполнения документа объекты можно создавать операторами New, Dim и Var. При создании объекта оператором New создается объект (и ссылка) в области, выделяемой динамически и этот объект доступен до тех пор, пока существует хоть одна ссылка не него (оператором присваивания) или на его свойства. Оператор New можно применять ко всем объектам, создаваемым классами Class, Type и Instruction.
Второй способ создания данных оператором Dim. В этом случае область данных так же выделяется динамически, однако данные доступны только в области определения этой переменной, что характерно для значений. Область данных освобождается сразу при выходе из области определения. Оператор Dim можно применять ко всем объектам, создаваемым классами Class, Type и Instruction.
Данные определенные оператором Var используются внутренним сценарием для выполнения в режиме интерпретатора. В этом же режиме выполняются все операторы с объектами-значениями, статическими данными, и данными внешними и внутренними сценариями. Так, например, будут выполнено в тексте сложение 2+7 и такая последовательность

Var Integer (I, J)
I:=2+7
J:=17*5
New Form FO {Size=: I; J}

И при запуске программы будет создана форма с размерами 9 на 85. Или, например, можно выполнить условный оператор.

Var Boolean F=True
Select
{ If F {Объекты для условия True}
Else {Объекты для условия False}
}

Здесь в качестве объектов фактически используется текст. Потому если редактируемый текст является программой, то в ее тексте будет в наличии только участок соответствующий условию True. Таким способом можно выполнять не только условные операторы, но и операторы цикла.
Re[10]: Вот основные концепции. Затем три первых раздела. Н
От: Dufrenite Дания  
Дата: 07.04.10 17:47
Оценка: +1
Здравствуйте, batu, Вы писали:

Прочитал, в основном вода и никакой конкретики.
Предлагаю сыграть в игру: ты продавец, я покупатель. Продай мне свой язык.
У меня есть проблемы и потребности. Как он может их удовлетворить?
Re[6]: А вот вам и новый язык. Зацените. Можно ругать.
От: Mr.Cat  
Дата: 07.04.10 17:53
Оценка:
Здравствуйте, batu, Вы писали:
B>Ну, какой же к черту XML? Там теги, а у меня каждый тег-это объект. Это ж принципиальная разница. Объект с вложенными объектами.
А в xml что по-твоему? Объекты. Со вложенными объектами. И с атрибутами.

B>И причем тут Бейсик.. Ну, что выдумывать знаки лишь бы отличалось? Есть имена классов которые уже привычны. Вот их и оставил. Остальное все другое.

Не в именах дело. В парадигме. Я смотрел на примеры программ и увидел примитивы структурного программирования (то, что я назвал бесиком) и элементы логического программирования.

B>Более того этот же язык не только для классов (то бишь программ), но и для формирования документов годится..

Xml!
Re[8]: А вот вам и новый язык. Зацените. Можно ругать.
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.04.10 18:10
Оценка:
Здравствуйте, batu, Вы писали:

VD>>Мелочи — это то, что людям не удобно читать ваши описания. На это указало много народа.

B>А как сделать что б было удобно? В двух страницах никак не получится.

На то есть ссылки.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: А вот вам и новый язык. Зацените. Можно ругать.
От: batu Украина  
Дата: 07.04.10 18:22
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, batu, Вы писали:



B>>Более того этот же язык не только для классов (то бишь программ), но и для формирования документов годится..

MC>Xml!
Мне кажется чуть лучше чем XML.
Синтаксис: "Имя класса" "Имя объекта" "Реализация"
Т.е.
Form Fo -это и есть объект форма. А в фигурных скобках (реализация) можно присвоить свойства.
For I=0 To 25 {...} тоже объект класса For с именем I и с реализацией. Но в реализации функциональное наполнение.
Dim Form Fo {Size=:20;120} — объект класса Dim создающий объект класса Form размерами 20 на 120.

От такой комбинации
Dim Form Fo
Fo.Size:=20;120 отличается тем, что в последнем случае значения свойства Size выполняется командами Move при выполнении, а в первом случае размеры формы создается при создании формы, так как значения храняться.
Если заметили и разные операции присваивания свойства "=:"и обычного присваивания":=".
Re[11]: Вот основные концепции. Затем три первых раздела. Н
От: batu Украина  
Дата: 07.04.10 18:24
Оценка:
Здравствуйте, Dufrenite, Вы писали:

D>Здравствуйте, batu, Вы писали:


D>Прочитал, в основном вода и никакой конкретики.

D>Предлагаю сыграть в игру: ты продавец, я покупатель. Продай мне свой язык.
D>У меня есть проблемы и потребности. Как он может их удовлетворить?
А чем занимаешься? Я найду аргументы для твоей работы
Re[12]: Вот основные концепции. Затем три первых раздела. Н
От: Dufrenite Дания  
Дата: 07.04.10 18:30
Оценка:
Здравствуйте, batu, Вы писали:

B>А чем занимаешься? Я найду аргументы для твоей работы


Разрабатываю компьютерные игры.
Re[13]: Вот основные концепции. Затем три первых раздела. Н
От: batu Украина  
Дата: 07.04.10 18:49
Оценка:
Здравствуйте, Dufrenite, Вы писали:

D>Здравствуйте, batu, Вы писали:


B>>А чем занимаешься? Я найду аргументы для твоей работы


D>Разрабатываю компьютерные игры.

Увы! Пока ничем не могу помочь. Я не уверен в том, что мои инструменты будут эффективнее ассемблеров C++ и прочих наработок создателей игр. Для систем реального времени тоже еще рано заикаться. Предусмотрен механизм событий, но эффектиность пока не проверена. Никаких рекомендаций пока дать не могу.
Re[10]: Вот основные концепции. Затем три первых раздела. Н
От: minorlogic Украина  
Дата: 07.04.10 20:25
Оценка:
А назначение языка то какое?
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[14]: Вот основные концепции. Затем три первых раздела. Н
От: Dufrenite Дания  
Дата: 08.04.10 05:53
Оценка:
Здравствуйте, batu, Вы писали:

B>Увы! Пока ничем не могу помочь. Я не уверен в том, что мои инструменты будут эффективнее ассемблеров C++ и прочих наработок создателей игр.


C++ используется менее чем в половине кода. Редактор написан на C# и С++/CLI.

B>Для систем реального времени тоже еще рано заикаться. Предусмотрен механизм событий, но эффектиность пока не проверена. Никаких рекомендаций пока дать не могу.


Ясно.
Re[8]: А вот вам и новый язык. Зацените. Можно ругать.
От: Mr.Cat  
Дата: 08.04.10 06:52
Оценка:
Здравствуйте, batu, Вы писали:
B>Мне кажется чуть лучше чем XML.
А чем лучше?

B>Синтаксис: "Имя класса" "Имя объекта" "Реализация"

Ну и в xml получается <ИмяКласса name="ИмяОбъека">Реализация</ИмяКласса>.
Ессно, возможны варианты, но имя элемента проще использовать в качестве имени класса. Для имени объекта специального места нет — так что можно использовать какой-то определенный атрибут. Короче, один в один с тем, что у тебя.
Re[11]: Вот основные концепции. Затем три первых раздела. Н
От: batu Украина  
Дата: 08.04.10 06:53
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>А назначение языка то какое?

Это часть системы. Язык можно использовать, от создания документов, до написания программ. Причем можно создавать программу как интерпретатор, как текстовый редактор (а по большому счету как редактор объектов) или как три варианта сразу. На этом языке можно писать трансляторы для других языков (причем сразу получается и редактор и транслятор нового языка). Механизм событий позволяет реализовывать автоматы (устройства) и машину управляемую потоками данных (Посмотрите примеры в разделе события). Можно так же создавать программы основаные на парадигме функционального программирования и использовать элементы логического программированя. Вообщем достаточно большой спектр инструментов в одном флаконе.
О системе пока скажу что предусмотрен единый формат данных (в смысле объектов) основаный на описании класса, и он же является базой для универсального редактирования и протоколом обмена. Приложений нет. Только классы и библиотеки. Все работает в среде универсального редактора являющимся и редактором и браузером и Exel и UML а также конвертором в TLL, который выполняет роль ассемблера для языка высокого уровня.
Достаточно серьезная заявка. Но, демка работает
Разработка хорошо ложится на существующую архитектуру компьютера (Возможно хорошо пошла бы машина тьюринга с дополнительной адресной лентой, но это уже через чур хорошо что бы помечтать)потому есть надежды что будет работать эффективно. Но, это еще не факт. По большому счету желательно сделать аппаратную обработку запуска событий. Это позволит выполнять их параллельно. По этим причинам пока не могу рекомедовать для систем реального времени и разработки игр. Для остальных задач масса преимуществ. О которых буду рассказывать постепенно по мере поступления задач. Считаю что получится достойный конкурент JAWA.
Re[9]: А вот вам и новый язык. Зацените. Можно ругать.
От: batu Украина  
Дата: 08.04.10 07:05
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, batu, Вы писали:

B>>Мне кажется чуть лучше чем XML.
MC>А чем лучше?

B>>Синтаксис: "Имя класса" "Имя объекта" "Реализация"

MC>Ну и в xml получается <ИмяКласса name="ИмяОбъека">Реализация</ИмяКласса>.
MC>Ессно, возможны варианты, но имя элемента проще использовать в качестве имени класса. Для имени объекта специального места нет — так что можно использовать какой-то определенный атрибут. Короче, один в один с тем, что у тебя.
Да похоже. Но в моей формулировке транслятор проще. А это принципиальнно потому как его можно прошить, и сразу загрузить мою виртуальную машину программу не только двоичную, но и в текстовом виде. Я не думаю что такие сложности в XML обоснованы. В том числе и скобки и слэш в закрывающей скобке. Да и семантический смысл. Заметь что скобка с именем (именованая скобка) это вроде как для каждого класса свой вид скобок. А содержимое-свойства объекта данного класса и объекты. И никаких больше правил. Если не считать комментирования
Re[10]: А вот вам и новый язык. Зацените. Можно ругать.
От: Mr.Cat  
Дата: 08.04.10 07:30
Оценка:
Здравствуйте, batu, Вы писали:
B>Да похоже. Но в моей формулировке транслятор проще. А это принципиальнно потому как его можно прошить, и сразу загрузить мою виртуальную машину программу не только двоичную, но и в текстовом виде.
B>Я не думаю что такие сложности в XML обоснованы. В том числе и скобки и слэш в закрывающей скобке.
Это все детали текстового представления. Оно далеко не первично. Первична объектная модель: документ-элемент-атрибут-и.т.д.
Внешнее представление для xml-документа можно использовать свое, не теряя большую часть инструментов (xsd/xstl/xpath/xquery) — надо только реализовать свой парсер.

B>Да и семантический смысл. Заметь что скобка с именем (именованая скобка) это вроде как для каждого класса свой вид скобок.

Ты переусложняешь.

B>А содержимое-свойства объекта данного класса и объекты. И никаких больше правил. Если не считать комментирования

Сорри, не уловил мысль.
Re[11]: А вот вам и новый язык. Зацените. Можно ругать.
От: batu Украина  
Дата: 08.04.10 07:45
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, batu, Вы писали:

B>>Да похоже. Но в моей формулировке транслятор проще. А это принципиальнно потому как его можно прошить, и сразу загрузить мою виртуальную машину программу не только двоичную, но и в текстовом виде.
B>>Я не думаю что такие сложности в XML обоснованы. В том числе и скобки и слэш в закрывающей скобке.
MC>Это все детали текстового представления. Оно далеко не первично. Первична объектная модель: документ-элемент-атрибут-и.т.д.
MC>Внешнее представление для xml-документа можно использовать свое, не теряя большую часть инструментов (xsd/xstl/xpath/xquery) — надо только реализовать свой парсер.
Не совсем так. В xml первые теги идут с атрибутами (я это свойтсвами называю) документа, язык, пользователь и прочее идет отдельным тегом (или объектом). И возникает вопрос с областью определения этих атрибутов. Более логично что бы объекты на которые распостранется действие объекта (и его атрибутов) содержались в объекте. Иначе нет общности. Получается это не объект, а какой-то настройщик среды. И, следовательно эта среда где-то существует отдельно. А это накладывает ограничение. Так как функциональное наполнение объекта получается вне самого объекта.

B>>Да и семантический смысл. Заметь что скобка с именем (именованая скобка) это вроде как для каждого класса свой вид скобок.

MC>Ты переусложняешь.

B>>А содержимое-свойства объекта данного класса и объекты. И никаких больше правил. Если не считать комментирования

MC>Сорри, не уловил мысль.
Та я атрибуты свойствами назвал. Называют и полями. Это не принципиально. Принципиальна вложенность.
Re[11]: А вот вам и новый язык. Зацените. Можно ругать.
От: batu Украина  
Дата: 08.04.10 07:52
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

Согласись, более логично, что бы функциональное содержание объекта распостранялось на объекты содержащиеся в нем, а не на объекты вне его. Это позволяет изменять и совершенствовать конкретный объект, а не всю среду (фактически виртуальную машину) в которой он функционирует. Хотя предусмотрены и такие варианты, тогда объекты связываются событиями. Это отдельная тема и рассмотрена а языке Lada. Между Lada и TLL взаимно-однозначное соответствие.
Re[12]: Вот основные концепции. Затем три первых раздела. Н
От: Курилка Россия http://kirya.narod.ru/
Дата: 08.04.10 08:12
Оценка:
Здравствуйте, batu, Вы писали:

B>[покоцано] Для остальных задач масса преимуществ. О которых буду рассказывать постепенно по мере поступления задач. Считаю что получится достойный конкурент JAWA.


Конкурент несуществующему языку — это, конечно, здорово.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.