Re: Очередной новый язык хD
От: cvetkov  
Дата: 13.07.10 16:03
Оценка:
напоминает BEPL или HDL
... << RSDN@Home 1.2.0 alpha 4 rev. 1227>>
Re[2]: Очередной новый язык хD
От: cvetkov  
Дата: 13.07.10 16:10
Оценка:
Здравствуйте, cvetkov, Вы писали:

C>напоминает BEPL или HDL

HDL -> VHDL или Verilog
... << RSDN@Home 1.2.0 alpha 4 rev. 1227>>
Re[2]: Очередной новый язык хD
От: Aberro  
Дата: 13.07.10 16:17
Оценка: :)
Здравствуйте, dotneter, Вы писали:

D> А можно основную идею в трех словах? Какие проблемы и каким образом решаются?


Ах, вкусный вопрос. Только я здесь провалюсь. Ну не мастер слова я. Не умею я так просто рассказывать такие сложные вещи.
Ну, вот примерно мой ответ:
Кодоэффективность разграничением и ограничением.
Если не считать "и" словом и не придираться к первому слову, то уложился)

Разграничение данных и обрабатывающих их элементов, отделение процесса обработки данных от изменения состояния самой системы, разделение функций данных и состояний: данные проходят по потокам и в конечном счете "теряются", а состояния остаются внутри объекта все время его жизни.
Ограничение доступа к объекту уменьшает путаницу внутри программы, упрощает ее логику; ограничение возможностей команд позволяет предусмотреть результат работы этой команды.

Какие проблемы? А какие вам нужно решить?)
Re[2]: Очередной новый язык хD
От: Aberro  
Дата: 13.07.10 16:24
Оценка:
C>напоминает BEPL или HDL

Какими страшными словами вы ругаетесь...
Re[5]: Очередной новый язык хD
От: Temoto  
Дата: 13.07.10 16:38
Оценка: 33 (1) +2
T>>Ваше описание понимается с трудом (в основном, потому что "объектный объект посылает объект, принимает объект, в поток объекта, объект, объект поток"). Но из того что понятно, Erlang/OTP это именно ваши объекты.

A>Ну, извольте, все вполне ясно. Объектов там не больше, чем нужно.


Забавно. Вам говорят, что непонятно, а вы говорите что понятно. Бесспорно, вы свои идеи понимаете лучше других, это нормально.

Вот вам история.
Я постепенно начинаю понимать слова, которых не понимал раньше. Например, говорили мне, читай книжки. И не только чтобы что-то узнать, а чтобы расширять лексикон. А я думал, что у меня и так нормальный лексикон и книжки не читал. И вот проходит 10 лет, я замечаю, что чем больше читаешь из разных источников, тем проще понять других и проще что-то объяснить. Казалось бы, пиршество очевидности. А раньше не понимал. Это я к тому, что очень полезно знать схожие идеи и понятия называются в других областях, в данном случае, в других языках программирования. Помогает выражать свои мысли.

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

— "Концепция языка заключается в том, что программа строится не на функциях, а на объектах, управляющих потоками данных и на самих потоках" с первого предложения отрицание "не на функциях". А где было на функциях? В Java тоже на объектах.
— "Все остальное закрыто для доступа извне" Пока что у объектов и были только потоки да состояния. Потоки для доступа открыты, состояния только на чтение. Что остальное закрыто?
— "объекты — это нечто среднее между функциями императивных и функциональных языков программирования одновременно" А в чём разница между функциями в императивных и функциональных языках, например, Python и Erlang? Лично я не вижу разницы и соответственно, среднего.
— "По этой новой парадигме программы описываются не с точки зрения алгоритма, а с точки зрения обработки данных" Это, возвращаясь к истории о чтении книг, конечно, не новая парадигма. Поверьте, чем меньше претензий на инновации, тем приятнее читать. Предложение может звучать так: основная парадигма языка не императивная, а dataflow. http://en.wikipedia.org/wiki/Dataflow_programming
— "что имеем на входе и что должны получить на выходе" А это функциональная парадигма. В чистом виде. Функция — это отображение некоторого множества на другое множество. © бессмертная математика.

Хороший фон для сравнений это либо абстрактные понятия из математики и computer science, либо сравнения с другими языками.

P.S.: Я отлично понимаю ваш интерес, сам с удовольствием занимался теоретическими изысканиями в языках даже во время отпуска на море. Проблемы реализации спускают с небес на землю. Начните с формального описания синтаксиса и напишите парсер. Удачи вам.
Re: Очередной новый язык хD
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.07.10 16:58
Оценка:
Здравствуйте, Aberro, Вы писали:

A>...Цель такого подхода — создание идеальных программ:... Дело за малым: реализовать его...


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

A>Но не все так печально — у меня есть некоторые наброски, синтаксис, идеи по реализации и в данный момент я пытаюсь наскоблить время на создание модели языка в каком-нибудь другом языке, для проверки самой парадигмы. Но времени явно не хватает.


А что же ты хочешь? Создать язык, реализовать его компилятор и т.п. — это не простая задача.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Очередной новый язык хD
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.07.10 17:06
Оценка: +2
Здравствуйте, Lloyd, Вы писали:

A>>На нем тоже нет. Вообще, можете закидать меня тухлыми помидорами, ибо я очередной амбициозный новичок, с опытом программирования менее пяти лет (ну, ладно, чуть-чуть более пяти; но если вычесть времена, когда я страдал фигней и ничего не писал, то точно выйдет менее пяти, честно-честно). Однако, насколько я могу судить по описанию языка, опять не то.


L>По твоему описанию — именно то.


Я бы сказал — это сумбурное описание модели акторов, которая в том числе используется и в Эрланге.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Очередной новый язык хD
От: Aberro  
Дата: 13.07.10 17:29
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ты мил человек для начала хотя бы привел бы примеры кода (гипотетического). А то пока что это все больно смахивает на какие-то нана-васюки. Даже не ясно на какие задачи это все рассчитано.

В производстве.

VD>А что же ты хочешь? Создать язык, реализовать его компилятор и т.п. — это не простая задача.

Спасибо, Кэп! Вы открыли мне глаза! Пойду расскажу это всему миру!
Re[3]: Очередной новый язык хD
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.07.10 17:50
Оценка: +1
Здравствуйте, Aberro, Вы писали:

VD>>А что же ты хочешь? Создать язык, реализовать его компилятор и т.п. — это не простая задача.

A>Спасибо, Кэп! Вы открыли мне глаза! Пойду расскажу это всему миру!

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

Кроме самого языка и его компилятора (интерпретатора) на сегодня нужно сделать еще очень многое. Нужна IDE, библиотеки, описание (лучше не одно) и много, много, много, много, много, много, много, много времени (сил и денег) на продвижение своего языка. И даже при наличии всего этого а поставлю 99 против 1 на то, что язык твой не выстрелит. Но пробовать надо! Иначе ничего нового не родится.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Очередной новый язык хD
От: batu Украина  
Дата: 13.07.10 18:50
Оценка:
Здравствуйте, Aberro, Вы писали:

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


B>>А данные, почему-то не объекты.


A>О, вы меня понимаете)))

A>ЗЫ бозе мій, ну раз такая рокировка понятий вызывает жеский анальный разрыв шаблонов, то боюсь этот язык будет сложно понять. Но, так и быть, я изменю название понятия "объект" на какое-нибудь другое. Функтор? Вроде по смыслу подходит.
Если честно, то я ничего не понял. Синтаксиса не видел. Что такое объекты не понял, потоки-события тоже. Самоизменяющиеся инструкции или команды или функторы...в душе я против самоизменяющихся.. Но не вижу за что мозгу зацепиться.Не понимаю я тебя...
Re: Очередной новый язык хD
От: Mr.Cat  
Дата: 13.07.10 20:08
Оценка:
Мне кажется, твои идеи (возможно, я не совсем правильно тебя понял — под вечер твои в целом неструктурированные посты тяжело воспринимаются) можно выразить в уже существующем языке:
— как можно более декларативном
— поддерживающим многопоточность
— и синхронизацию/обмен данными в форме каналов
— и ленивость
— ...
— и профит
Из языков разряда "слышал звон" вспоминается oz, обвешанный (вероятно) релевантными фичами по самые гланды.
Из языков "а давайте впихнем сюда еще и Х, вин же" можно вспомнить clojure и haskell — они сами по себе достаточно выразительные, чтобы твой язык (инфа 99%) можно было реализовать внутри них в виде dsl (первый фломастер). Плюс поверх тамошних потоков и stm (насчет clojure терзают сомнения, правда) можно при желании реализовать разные (в своей степени извращенности) формы параллельного программирования (второй фломастер). В итоге имеем два фломастера, которыми можно раскрасить вообще все.

PS. Еще не совсем в тему вроде бы (но все же) впомнился Id (и его потомок pH), про который я как-то читал две винрарные статьи: тыц и тыц. Возможно, тебе будет интересно.
Re[3]: Очередной новый язык хD
От: Mr.Cat  
Дата: 14.07.10 09:59
Оценка:
Здравствуйте, Aberro, Вы писали:
T>>Erlang
A>нет
Кстати, думаю, часть твоих идей можно и поверх эрланга реализовать. Инкапсуляция состояния есть, обмен сообщениями есть. Можно попробовать навернуть свой behavior.
Re[3]: Очередной новый язык хD
От: cvetkov  
Дата: 14.07.10 10:26
Оценка:
Здравствуйте, Aberro, Вы писали:

C>>напоминает BEPL или HDL


A>Какими страшными словами вы ругаетесь...


а вы таки почитайте, оно того стоит
... << RSDN@Home 1.2.0 alpha 4 rev. 1227>>
Re[2]: Очередной новый язык хD
От: Aberro  
Дата: 14.07.10 11:32
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>PS. Еще не совсем в тему вроде бы (но все же) впомнился Id (и его потомок pH), про который я как-то читал две винрарные статьи: тыц и тыц. Возможно, тебе будет интересно.


Добра тебе, ано.. в смысле, mr. Cat, за ссылки; почитаю как время будет.

MC>Из языков "а давайте впихнем сюда еще и Х, вин же" можно вспомнить clojure и haskell


Нет, мой язык напротив стремится избавиться от лишних фич, оставив основное. Потому как чем больше возможностей у языка, тем больше возможностей ошибиться, запутаться, запутать программу, тем сложнее написание компилятора, тем меньше его эффективность и т.д. и т.п. Не катит. Да и на этом поприще после пёрла и цпп уже делать нечего.
Re: Очередной новый язык хD
От: Aberro  
Дата: 14.07.10 11:56
Оценка:
Собственно, по итогам сего скромного обсуждения, я пересмотрел многие идеи своего языка... точнее, перечеркнул нафиг большУю часть задуманного, выбрал путь и решил делать сначала.
Дао этого языка в том, что он исконно и истинно многопоточный. Как в плане потоков вычисления, так и в плане потоков данных. В нем программируется не последовательность действий, а цепочка элементов, по которой направляется поток. Звучит... непонятно, да.. Точнее, не понятно, что в этом вообще особенного? Но чуть попозжа, когда перестрою синтаксис под новые идеи, отвечу. Точнее, раз уж твоя моя не понимать, покажу на примерах кода.
Пока могу наконец-то выложить краткое описание преимуществ языка перед другими современными:
— Полная автоматизация работы с потоками.
— Генерация быстрого и эффективного машинного кода.
— Простота написания самомодифицирующихся программ (об этой фиче чуть ниже пару слов добавлю..)
— Не знаю, как обозвать эту фичу, но выявил такое: коль код во время компиляции может обрубать неиспользуемые ветки, то это значит, что можно создавать компоненты, навешанные стольким количеством фич, сколько позволяет время, фантазия и способности автора компонента. При этом при использовании этого компонента в других программах в результате компиляции останутся только те из фич, которые используются, остальные не будут скомпилированы и значит не будут жрать никаких ресурсов.

По поводу самомодифицирующихся программ: я сию фишку желаю весьма страстно потому, что сама идея языка, работающего с потоками данных, была придумана из идеи написания системы управления искуственными нейронными сетями. И у меня есть мысли о том, как можно использовать этот язык для написания принципиально новой ОС.. пардон, ИИ. Ведь что такое нейросеть? Сеть из нейронов (не поверите), по которым проходят данные, грубо говоря. Там так же есть отдельные участки, соединенные с другими лишь небольшим количеством "каналов" (иже синапсов) и тем самым отделяющиеся от других участков. Так вот, самые сложные (настолько сложные, что они практически нигде не используются) искусственные нейронные сети обладают возможностью создавать новые нейроны и связи. Такая фича есть и в человеческом мозгу. И поэтому я хочу видеть ее в языке. Как знать, может быть он станет языком создания ИИ, мои амбиции это позволяют) Как она будет реализована, опять же, покажу на примерах. Прошу не удалять пока трэд, в течение нескольких дней я вернусь.
Спасибо за внимание, окончен семинар)
Re[2]: Очередной новый язык хD
От: Lloyd Россия  
Дата: 14.07.10 12:01
Оценка: +2
Здравствуйте, Aberro, Вы писали:

A>Спасибо за внимание, окончен семинар)


Ты туториал-то по эрлангу почитай, не упорствуй.
Re[2]: Очередной новый язык хD
От: Temoto  
Дата: 14.07.10 12:09
Оценка:
A>По поводу самомодифицирующихся программ: я сию фишку желаю весьма страстно потому, что сама идея языка, работающего с потоками данных, была придумана из идеи написания системы управления искуственными нейронными сетями. И у меня есть мысли о том, как можно использовать этот язык для написания принципиально новой ОС.. пардон, ИИ. Ведь что такое нейросеть? Сеть из нейронов (не поверите), по которым проходят данные, грубо говоря. Там так же есть отдельные участки, соединенные с другими лишь небольшим количеством "каналов" (иже синапсов) и тем самым отделяющиеся от других участков. Так вот, самые сложные (настолько сложные, что они практически нигде не используются) искусственные нейронные сети обладают возможностью создавать новые нейроны и связи. Такая фича есть и в человеческом мозгу. И поэтому я хочу видеть ее в языке. Как знать, может быть он станет языком создания ИИ, мои амбиции это позволяют) Как она будет реализована, опять же, покажу на примерах. Прошу не удалять пока трэд, в течение нескольких дней я вернусь.
A>Спасибо за внимание, окончен семинар)

Где можно почитать про самые сложные нейронные сети, которые практически нигде не используются?
Re[3]: Очередной новый язык хD
От: samius Япония http://sams-tricks.blogspot.com
Дата: 14.07.10 12:13
Оценка: +1
Здравствуйте, Lloyd, Вы писали:

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


A>>Спасибо за внимание, окончен семинар)


L>Ты туториал-то по эрлангу почитай, не упорствуй.


А так же о http://en.wikipedia.org/wiki/Dataflow_programming и http://en.wikipedia.org/wiki/Flow-based_programming

Ссылки уже были, но полное ощущение что автор занимается велосипедостроением
Re[3]: Очередной новый язык хD
От: Aberro  
Дата: 14.07.10 12:15
Оценка:
Здравствуйте, Temoto, Вы писали:

T>Где можно почитать про самые сложные нейронные сети, которые практически нигде не используются?


Сорри, не помню, давно это было. В процессе раздумий над архитектурой искал, какими они вообще могут быть, чтобы охватить по-возможности все варианты использования.
Re[4]: Очередной новый язык хD
От: Aberro  
Дата: 14.07.10 12:46
Оценка:
Окститесь, демоны... Вы хоть пробегитесь глазами по всему тому, что здесь накидали. На то, чтобы все это прочитать, жизни не хватит. А как только дочитаешь, оно еще и устареет.
По поводу велосипедов — так ведь все уже давно придумано и коль так смотреть, то все поголовно занимаются изобретением велосипедов. Так давайте ничего не делать до тех пор, пока не узнаем, что написал каждый программист, когда-либо живший на этом свете! Правда здорово?)
Ок, я читаю то, что вы тут кидаете. И уж простите, но мой поток обработки данных от сетчатки обладает довольно скромными пределами. Так что если вдруг какой добрый самаритянин возжелает потратить свое время и помочь мне, то пусть указывает на основные абзацы в статье, или прямо скажет, что именно НЕ будет изобретением велосипеда.
Впрочем, догадываюсь, что всем по ней.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.