powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Языково-ориентированное программирование
58 сообщений из 58, показаны все 3 страниц
Языково-ориентированное программирование
    #35238566
IchBin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто использует? Поделитесь впечатлениями пожалуйста... Или эта тема еще не развита?
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35238600
IchWeissNicht
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IchBinКто использует? Поделитесь впечатлениями пожалуйста... Или эта тема еще не развита?

Что это значит "языково-ориентированное"? Программирование в терминах решаемой задачи?
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35238622
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может задача ставится таким образом - все делаем на SQL запросах!
----------
Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35238623
IchBin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35238645
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас ужа есть варианты написания программ на COS и VBasic... Правда все это компилятор сводик к одинаковому объектному коду...
На бейсике пишут пиндосы, а мы все на коксе.
----------
Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35238676
IchBin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaУ нас ужа есть варианты написания программ на COS и VBasic... Правда все это компилятор сводик к одинаковому объектному коду...
На бейсике пишут пиндосы, а мы все на коксе.
----------
Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
Ниочем
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35238688
qwerty666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IchBinКто использует? Поделитесь впечатлениями пожалуйста... Или эта тема еще не развита?

Эта тема развита и очень давно, ещё Макконелл про неё рассуждал в своей книге "Совершенный код". Почитай, поймёшь все минусы и плюсы.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35238693
qwerty666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IchWeissNichtЧто это значит "языково-ориентированное"? Программирование в терминах решаемой задачи?

Нет, это значит программирования с "заточкой" под конкретный язык. Т.е полное использование его специфики.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35238707
IchBin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwerty666 IchWeissNichtЧто это значит "языково-ориентированное"? Программирование в терминах решаемой задачи?

Нет, это значит программирования с "заточкой" под конкретный язык. Т.е полное использование его специфики.
Это не так.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35238711
IchBin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Цитата из вышеуказанного тынца
......Языково-ориентированное программирование – это не просто написание программ, это создание языков для их написания. Программы должны быть ближе к предметной области, чем к компьютерным наборам инструкций, и писать их должно быть намного проще. ...
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35238719
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подход "сделай языки и решай на них задачу" абсолютно правильный и далеко не новый - собсно любой профи так и работает. Хорошие средства саморасширения были еще в клиппере.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35238732
IchBin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получается Domain-Oriented-Programming
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35238734
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IchBinНиочем IchBinЭто не так.
Тогда не понятно желание создать тему и ее обсуждать...
Если хочеш выступать в роли некоего арбитра - тогда рассказывай сам, что там и как эт оу тебя получается...
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35238738
IchBin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa IchBinНиочем IchBinЭто не так.
Тогда не понятно желание создать тему и ее обсуждать...
Если хочеш выступать в роли некоего арбитра - тогда рассказывай сам, что там и как эт оу тебя получается...
длбб...
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35238769
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no comment...
----------
Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35238865
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я прочитал Вашу статью. Чуствуется молодость и напор. :-)
Но позвольте немного покритиковать.
Вот например:
авторТаким образом, использование нового языка для написания программы будет представлять собой создание экземпляров концепций языка, задание значений свойств экземпляров, и связывание узлов программы в соответствии с отношениями, определенными концепциями.

Замените в этом предложении "концепции" на "классы". Что получится? Правильно! ООП.
То есть, максимум, на что похожа Ваша идея - это сделать обертку над классами, только назвать их подругому, и решить проблему связывания библиотек, написанных на разных языках. Выходит, что Вы пытаетесь соревноваться с Микрософтом, который тоже пытается решать подобные задачи, навешивая новые обертки и скрипты над исполняемым кодом, что ведет к понижению производительности. Я не согласен с вами.... (и Вами, и Микрософтом) :-)
И вот почему:
krvsaПравда все это компилятор сводик к одинаковому объектному коду...


так как современный компьютер - одноленточная машина Тьюринга, и пока это так, значительного скачка в развитии языков программирования не будет - технические ограничения. А вот когда будут новые компьютеры, тогда и пригодятся Ваши идеи (самая безумная из них - отказ от древовидной структуры кода - я вообще не понял, но возможно, что в этом что-то есть)
:-)
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35239065
IchBin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор статьи на форуме?
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35239070
IchBin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное пока Meta Programming System не попробую до конца не осознаю в чем революция. А может и после тоже...
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35239119
чал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129Замените в этом предложении "концепции" на "классы". Что получится? Правильно! ООП. Стандартный трюк, который можно применить почти к любой области. Поскольку трюк очень общий, то он может говорить о самом разном, но чаще всего наивность, глупость или злой умысел.

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

D129так как современный компьютер - одноленточная машина Тьюринга, и пока это так, значительного скачка в развитии языков программирования не будет - технические ограничения.

Опять слишком общее высказывание, которое ни о чем не говорит и выводы можно делать какие угодно. Кроме того, все зависит от того, что понимается под "значительным" скачком. С таким же успехом можно сказать, что все состоит из квантов, и соответствнно не надо никакой другой науки кроме квантовой механики. И пока на квантовом уровне что-то не изменится, то и делать ничего не надо :)
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35239341
Николай1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чал
Идея в том, что для решения задачи нужно создавать язык. Если раньше для создавались новые процедуры, классы, функции, аспекты или еще что-то, то тут предлагается создавать языки, которые отражают специфику области и задачи.


А чем отличается создание языка от создания нового класса и его методов?
Ну, так, по большому счету?
Ведь, сейчас, все языки (кроме некоторых, совсем особенных) похожи друг на друга?
Точнее - есть "стандартные" языковые конструкции (арифметические операци, логика, циклы)и "расширенные" (SQL, 4GL). Причем "расширенные" обычно включают в себя и все стандартные конструкции.

А с переопределением (или как оно правильно называется?) мы можем применять любой синтаксис к любым объектам?

Это не то, что нам нужно?

ЗЫ. Всю статью ниасилил, многа букаф.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35239419
Самоловских Виталий aka Kefir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Я прочитал Вашу статью. Чуствуется молодость и напор. :-)
Автор статьи - один из основателей JetBrains :-) "молодость и напор" :D
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35239593
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прочитал статью-по впечатлениям, сильно похоже на рекламный бред, потому что слишком много эмоций и маловато конкретики.
1. Лично мне толком не понятно, каким образом будут строиться преобразователи из сгенерированного языка в ту же джаву(имхо там как то очень расплывчато описано)
Мы получаем сильную зависимость от самого интерпритатора-какие-нибудь неодносначности или багофичи, и мы получаем длительный секс с колупанием и поиском ошибок.
2. Получение еще одного дополнительного звена-вряд ли это уменьшит количество кода, который программист должен написать вручную(не забываем, что нам необходимо описать предметную область). На данный момент общепринятая практика-отделять бизнес-модель от интерфейса. что нового принесет использование этой технологии не совсем понятно(какие-то новые структуры? новые виды методов? взаимодействие между ними? удобный инструмент работы с самими бизнес-объектами?)

Хотя идея в целом интересная, однако для меня слишком много вопросов по ее реализации.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35239643
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самоловских Виталий aka Kefir D129Я прочитал Вашу статью. Чуствуется молодость и напор. :-)
Автор статьи - один из основателей JetBrains :-) "молодость и напор" :D

Это хорошо, когда и в преклонном возрасте человек не теряет юношеского максимализма и задора

P.S. Опыт приходит только с возрастом
P.P.S. Но гораздо чаще возраст приходит один
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35240084
The_ShadoW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну оно естественно, что очередной Next-Gen от программирования когда-нибудь наступит. Другое дело, что совсем не факт, что ЯОП станет этим самым Next-Gen. "Фактическая" часть статьи действительно лишена конкретики, а "вводная" так и вообще стремится в область НФ.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35240503
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чал D129Правильно! ООП. Стандартный трюк, который можно применить почти к любой области. Поскольку трюк очень общий, то он может говорить о самом разном, но чаще всего наивность, глупость или злой умысел.
Это как? Я получается - наивный глупый злодей, а может быть и нет. Вы выражаетесь как опытный политик!
А это вовсе не трюк, если дать такое же краткое описание структурному программированию, или функциональному, то разница в этих описаниях будет очевидна, в виду разности концепций.

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


Ну вот, когда я даю имена методам класса Shuttle - тележка, например, я и создаю этот новый, предметный язык, определяя слова и действия и операторы для конкретной предметной штуки.

А делаю я это на базовом языке, необходимость которого вы признаете, и который понимает компилятор, и это или VB, или С++ или С#.
чал
D129так как современный компьютер - одноленточная машина Тьюринга, и пока это так, значительного скачка в развитии языков программирования не будет - технические ограничения.

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

В чем же его "общесть" ? Или надо было кратко рассмотреть схему АЛУ и регистров процессора?



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


А вот этого мы пока точно не знаем, но можно догадаться, что производительность, и объем памяти.
чал
С таким же успехом можно сказать, что все состоит из квантов, и соответствнно не надо никакой другой науки кроме квантовой механики. И пока на квантовом уровне что-то не изменится, то и делать ничего не надо :)

Не надо передергивать. Кванты люди не создавали, и изменять их пока не умеют, да и конструкцию до конца не знают. Но если допустить, что квантовая теория совершенна и атомарна - то тогда все состоящие из квантов объекты можно было бы описывать уравнениями квантовой теории.
То есть, да, если на квантовом уровне ничего не изменится - то и добавлять в теорию не надо.
Мне всегда представлялось, что в программировании - процессор - это уровень атомарности. Компилятор пишется для чего? Для конкретного процессора. Следовательно, пока не появится новый процессор, то что бы вы не писали на языке высокого (или сверхвысокого) уровня,

krvsa .... все это компилятор сводик к одинаковому объектному коду...
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35241424
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129если дать такое же краткое описание структурному программированию, или функциональному, то разница в этих описаниях будет очевидна, в виду разности концепций.


Ой опиши а, очень интересно послушать

Сравнивать нужно сравнимое, а не мягкое с теплым.
Вот взять хоть Схему. И тебе функциональная и структурная :)

P.S. А статья вызывает в памяти ассоциации с небезысвестным ЧАЛом (у которого доска на стене висит криво). Чуть более интеллектуальная маниловщина
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35241878
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)

Ой опиши а, очень интересно послушать


Гугл еще работает сегодня. Я проверил. :-)

Gluk (Kazan)Сравнивать нужно сравнимое, а не мягкое с теплым.
Вот взять хоть Схему. И тебе функциональная и структурная :)

Если "мягкое" компилируется в код на том же ассемблере что и "теплое" то можно их сравнивать.

Gluk (Kazan)
P.S. А статья вызывает в памяти ассоциации с небезысвестным ЧАЛом (у которого доска на стене висит криво). Чуть более интеллектуальная маниловщина
Не совсем согласен... пытаться придумать что-то другое (пусть даже не новое) - это позитив. Получится, не получится - будущее покажет.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35241902
чал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129Ну вот, когда я даю имена методам класса Shuttle - тележка, например, я и создаю этот новый, предметный язык, определяя слова и действия и операторы для конкретной предметной штуки.

А делаю я это на базовом языке, необходимость которого вы признаете, и который понимает компилятор, и это или VB, или С++ или С#.

krvsa .... все это компилятор сводик к одинаковому объектному коду...

Это мне напоминает мышление реляционных фундаменталистов, которые отождествляют моделирование данных с реляционной моделью. Они считают, что если что-то можно выразить на SQL, то значит ничего нового в этом нет. (Но парадокс, что реляционные догматики одновремнно отрицают, что если SQL можно выразить на ассемблере, то в реляционной модели ничего нового нет.) В общем, по мнению Глюка_Казанского и др. реляционной бRатвы, земля держится на пяти реляционных слонах и трех реляционных китах и доказывать им что земля круглая бесполезно

Против этого есть только одно возражение: если ЯОП можно свести к ООП, процедурном или ФП, то это не значит, что в нем нет ничего нового. Точно так же существует множество физических дисциплин, хотя фундаментально все они могут сводиться к квантовой механике.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35241921
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129 Gluk (Kazan)

Ой опиши а, очень интересно послушать


Гугл еще работает сегодня. Я проверил. :-)


Гугл четал - многа букв. Мне твое мнениё интересно ;)

D129
Gluk (Kazan)Сравнивать нужно сравнимое, а не мягкое с теплым.
Вот взять хоть Схему. И тебе функциональная и структурная :)

Если "мягкое" компилируется в код на том же ассемблере что и "теплое" то можно их сравнивать.


И что из них получилось теплее, тьфу ты, мягче ??? (ты мене совсем запутал)
По буквам:

Понятия СТРУКТУРНОЕ и ФУНКЦИОНАЛЬНОЕ ортогональны
ничто не запрещает ФУНКЦИОНАЛЬНОМУ быть СТРУКТУРНЫМ
Стало быть их ПРОТИВОПОСТАВЛЕНИЕ наводит на нехорошие мысли
(может ты все таки императивное поимел ввиду ?)

D129
Gluk (Kazan)
P.S. А статья вызывает в памяти ассоциации с небезысвестным ЧАЛом (у которого доска на стене висит криво). Чуть более интеллектуальная маниловщина
Не совсем согласен... пытаться придумать что-то другое (пусть даже не новое) - это позитив. Получится, не получится - будущее покажет.

Угу, а протуливать свои наколенки - это немножко по другому называится
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35241950
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чалНо парадокс, что реляционные догматики одновремнно отрицают, что если SQL можно выразить на ассемблере, то в реляционной модели ничего нового нет.

SQL та на ассемблере канечно можна, да токма ломаить свой оптимизатор писать
Я за разделение труда. Зачем кажный раз СНОВА и СНОВА изобретать лисапед ???

А вообще оно конечно, если мы чего-то (или кого-то) НЕ ПОНИМАЕМ, для себя спокойнее считать это парадоксальным (а то устои мировоззрения можно пошатнуть, а это уже опасно)
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35242384
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторГугл четал - многа букв. Мне твое мнениё интересно ;)
Спасибо, приятно конечно, что мое мнение небезразлично, но подозреваю подвох... :-/
:-)
боюсь что тоже получится "многа букав" ...
А в общем, я понимаю это так:
чистый машинный код - неструктурный, непредметный, нечитаемый (хотя я до сих пор помню что 65 - это извлечь из 5 регистра в стек (ИП5 на ассемблере Б3-34) а 45 - записать из стека в 5 регистр (П5)
в одной игровой програмке использовали это 65 и для вызова из регистра, и как адрес перехода на 65 шаг программы (такой выкрутас был возможен только в одном месте программы и давал экономию в 2 ячейки памяти, что при общем количестве 98 было критично) но Goto - отдыхает.)

Обертка над ним - Ассемблер

Над ассемблером - неструктурные языки программирования. Я программировал на нескольких, но не на IBM, и приводить названия не буду. Их принципиальное отличие - началось управление типами данных.
то есть появились числа с плавающей точкой, строки... Это было ново, хотя и было ограничением и заставляло разрабатывать стандарты...

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

ООП - Структуры данных объединили с методами(функциями) в одну связку и назвали это дело классом.В комплекте с динамическим выделением памяти, разработанном на предидущем этапе - это давало возможность множить код программы во время выполнения и выполнять один и тот же код паралельно, синтаксически разделяя используемые данные. В структурном языке пришлось бы создать массив - и каждому процессу дать диапазон в этом массиве. Вот это и было новое и самое полезное отличие.

Про способы написания программ, в которых у меня нет практического опыта (не писал я на Haskell)
говорить не буду - не имею собственного мнения.

Ну а если пофантазировать то, следующим шагом будет не просто умножение заранее определенного кода, а его динамическое написание (самодописывающаяся программа). Может быть, ЯОП - какой-то шаг на пути к этому.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35242588
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну IMHO неправильно ты это понимаешь :)
Если очень грубо то есть (я знаю) три способа писать программы:

1. Императивный (Algol, Basic, Pascal, C, различные ассемблеры и т.п.)
2. Функциональный (LISP, Haskell и менее известные языки)
3. Логический (Prolog и наверняка что то еще)

Разбивка по языкам весьма условна, LISP к примеру поддерживает императивное программирование, а в C++ нашелосьмного уголков для функционального. Несколько особняком стоит логическое, но в том же LISP-е оно прекрасно реализуется :)

Разница очень упрощенно:

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

Структурное программирование, родоначальником которого является Algol, помимо привычных C и Pascal было унаследовано Схемой (диалект Lisp-а) в некотором роде более функциональной чем Common Lisp (IMHO превратившийся за годы своего существования в помойку). Так что противопоставлять его функциональному никак не следует.

Что касается ООП в нем вообще нет какой-то глубокой теории. Кроме того ООП может пониматься ОЧЕНЬ И ОЧЕНЬ по разному (скажем в Smalltalk-е и C++)
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35242605
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет самодописывающихся программ говорят лисп хорош. Там уже давно программы пишут программы
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35242628
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да совсем забыл :)

"самодописывающиеся" программы это метапрограммирование
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35244172
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как всегда рулит С++

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
define _ =
#define __ <
#define ___ ++
#define ____ int
#define _____ for

// Итак

____ ____, _____, _______, ________;
_____ (____ _ ______, ____ __ _________, ____ ___)
_____ (_____ _ ______, ____ __ _________, _____ ___)
{
}



(с) GameDev.ru
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35244228
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsikкак всегда рулит С++
...


ты хотел сказать Си ?
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35246616
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) Lepsikкак всегда рулит С++
...


ты хотел сказать Си ?

В данном случае С, но это я еще до примеров метапрограмирования не дошел.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35247067
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsik Gluk (Kazan) Lepsikкак всегда рулит С++
...


ты хотел сказать Си ?

В данном случае С, но это я еще до примеров метапрограмирования не дошел.

Ты знаешь язык на котором нельзя писать непонятно ???
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35247480
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lepsikкак всегда рулит С++
Код: plaintext
1.
2.
3.
4.
5.
#command SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM <tl,...>    ;
                [WHERE <*txt*>] [ORDER BY <*ord*>];
                         => cl_select(<.sc.>,#<fl>,#<vl>,#<tl>,#<txt>,#<ord>)

select a,b,c into a1,b1,c1 from test where fio = 'Иванов'
клиппер круче
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35247536
Farus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Статья излагается понятно, вплоть до этого места:

автор
Чтобы избежать проблемы выбора, мы решили делать в MPS сразу все. Сначала вы определяете целевой язык в MPS, используя язык структуры. Этот целевой язык должен иметь прямое, «один-к-одному» , отображение в целевой формат. К примеру, если целевой формат – машинный код, в MPS определяется целевой язык, представляющий машинный код; если целевой формат – исходники на Java, определяется Java-подобный целевой язык. Целевой язык не обязан поддерживать все возможности целевого формата, достаточно прямого отображения всех возможностей, которые вам нужны.


и тут же

автор...обратим внимание на более интересную фазу трансформации. По сути, проблема сведена к тому, чтобы перевести модель с одного языка на другой. Но исходный и целевой языки могут отличаться радикально, что усложняет трансформацию – например, если один узел исходного языка должен отобразиться на множество узлов целевого, разбросанных по целевой модели.

А это уже не один к одному... И кроме того, а если один узел не просто отображатеся на множество узлов целевого языка, но и за счет взаимовлияния отображается неоднозначно, в зависимости от других "узлов".

Далее вообще непонятно. Чем Итеративный подход отличается от Шаблонов.... Как участвует (еще один) язык запросов модели...

Более менее конкретно описываются шаблоны. Но это и так есть во множестве реализаций.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35563171
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to All: Вы то-ли не читали, то-ли перевод там хромает (я на русском не читал), то-ли еще что-то.
MPS/LOP/... - это технология позволяющая уменьшить разрыв между мышлением человека и "мышлением" компютера. Под программой понимается любое однозначное решение задачи, а вовсе не инструкции процессору или селекты.

Все эти OOP, AOP, OOD/OOP, GOF Design Patterns, SQL, ... призваны решить только одну задачу - упростить создание ПО. Ну так вот, LOP развивает эту концепцию далее.

авторЭто хорошо, когда и в преклонном возрасте человек не теряет юношеского максимализма и задора
P.S. Опыт приходит только с возрастом
P.P.S. Но гораздо чаще возраст приходит одинНу сначала бы подумал про кого ты так говоришь. Этот чел - создатель Intellij IDEA. Кто с ней сталкивался и помнит как выглядили другие IDE на время ее выхода, тому думаю все ясно.
Martin Fowler где-то упоминал, что IDE можно разделить на те, которые были до выхода IDEA и после.
Сочуствую, что к тебе опыт прийдет тогда, когда будет уже не нужен.
автор
Мне всегда представлялось, что в программировании - процессор - это уровень атомарности. Компилятор пишется для чего? Для конкретного процессора. Следовательно, пока не появится новый процессор, то что бы вы не писали на языке высокого (или сверхвысокого) уровня,
.... все это компилятор сводик к одинаковому объектному коду...Ну так и пиши на обьектном коде, нафиг тебе вообще языки программирования? Ты статью вообще читал?
Там как раз оч. подробно расписано это заблуждение, что "программирование" - это "написание инструкций для процессора", хотя многие так и думают.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35563293
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
private авторЭто хорошо, когда и в преклонном возрасте человек не теряет юношеского максимализма и задора
P.S. Опыт приходит только с возрастом
P.P.S. Но гораздо чаще возраст приходит одинНу сначала бы подумал про кого ты так говоришь. Этот чел - создатель Intellij IDEA. Кто с ней сталкивался и помнит как выглядили другие IDE на время ее выхода, тому думаю все ясно.


Ну да конечно. Он же небожитель и посему какает исключительно бабочками.
Собственно высказывание про задор, разумеется, больше не к нему относится, а к разнообразным вчерашним студентам, по верхам нахватавшимся высказываний авторитетов (у которых что то свое на уме, далекое и не всегда понятное и жизненное) и поднимающих знамена холиваров за нейронки внутре, ООБД, трехзвенки и прочий бред.

иногда с юношеским задором, но порой и со старческим маразмом
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35563992
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
privateЭтот чел - создатель Intellij IDEA. Кто с ней сталкивался и помнит как выглядили другие IDE на время ее выхода, тому думаю все ясно.

Я помню много чего. У IDEA была кучка шумных фанатов, приписывавших ей всевозможные воображаемые достоинства. Но, судя по их активности тут в форуме, нелепая мода проходит. Популярные IDE никогда не были хуже, чем IDEA и вроде ничего от неё не заимствовали. Но это тема для обсуждения в форуме по Java.

Насчёт ЯОП. Автор темы напрасно предположил,ЯОП - общеизвестное или важное понятие. Плохая статья в плохом журнале, только и всего. Нету его, в общем. Вот, сейчас посмотрел даваемую в статье ссылку по ЯОП
http://www.jetbrains.com/mps/
"Проект MPS всё ещё в состоянии исследования". Последняя приведённая новость относится к 16 июня 2005 г.
А есть ли в болтологии о ЯОП что-то разумное? Кажется, я обнаружил и такое:

автор
Если мы хотим сделать создание языков легким, нужно отделить представление и хранение программы от самой программы. Мы должны хранить программы прямо в виде структурированного графа, что дает возможность вносить любые дополнения в язык. Временами текстовое хранилище вообще не нужно. Хорошим примером может послужить Excel. 99% пользователей совершенно все равно, в каком формате хранятся данные – в случае чего, всегда есть импорт и экспорт. Единственная причина использования текста – отсутствия редактора лучшего, чем текстовый. Но это поправимо.

Разумным тут кажется деление программы на модули с описанием связей между модулями. На этом разумное кочается, т.к. описание связей делается задачей ЯОП, а его не существует. Между тем, в популярных IDE - Eclipse и Netbeans - она решается. (Поэтому они - не только IDE, как IDEA, а ещё и "платформы для разработки приложений", то есть программ из модулей, причём Eclipse и Netbeans отвечают за организацию связей между модулями (ну и предоставляют готовые модули). Итак, кто не говорит (разработчики Eclipse и Netbeans), тот делает. А кто говорит, тот не делает.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35564176
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Farus
А это уже не один к одному...


ИсходныйЯзык <- 1 --- n -> ЦелевойЯзык <--1--1--> ЦелевойФормат
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35564183
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan MИтак, кто не говорит (разработчики Eclipse и Netbeans), тот делает. А кто говорит, тот не делает.

Есть даже те кто не понимает, а говорит.

Навпример в данном случае речь шла о том, что надо отделить модель языка от хранения и представления. То есть хранить в некоем формате, не обяательно текстовом, а представлять в виде текста, схемы и т.д. То есть IDE получается как некий редактор для AST.

При чем тут модульность Eclipse?

Кстати, насчет "не делает" вы не правы
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35564237
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модПодход "сделай языки и решай на них задачу" абсолютно правильный и далеко не новый - собсно любой профи так и работает. Хорошие средства саморасширения были еще в клиппере.
Так и вспоминается незабвенный Чарльз Мур (Charles "Chuck" Moore) с его Фортом (Forth).
Человек сделал язык под свои задачи, и хотя это был скорее "стековый язык среднего уровня",
ставший потом метакомпилятором, его возможности по теме поставленного вопроса (приближение
синтаксиса языка к предметной области задачи) демонстрируется с помощью этого языка на раз-два...
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35564682
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модПодход "сделай языки и решай на них задачу" абсолютно правильный и далеко не новый - собсно любой профи так и работает. Хорошие средства саморасширения были еще в клиппере.

Я бы сказал, что тут LISP впереди планеты всей. Почитайте про DSL.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35565001
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivЯ бы сказал, что тут LISP впереди планеты всей. Почитайте про DSL.
В принципе, да. Но DSL - это целое направление для разных языков (например logix для питона). У клиппера один из первых DSL - простой и мощный.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35565107
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_мод MasterZivЯ бы сказал, что тут LISP впереди планеты всей. Почитайте про DSL.
В принципе, да. Но DSL - это целое направление для разных языков (например logix для питона). У клиппера один из первых DSL - простой и мощный.

А M4 для sendmail-а точно не раньше ?
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35565200
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)А M4 для sendmail-а точно не раньше ?
В 60-70-х было много независимых макрогенераторов (типа ML и пр.) В ПЛ/1 был неплохой МГ.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35565376
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan M privateЭтот чел - создатель Intellij IDEA. Кто с ней сталкивался и помнит как выглядили другие IDE на время ее выхода, тому думаю все ясно.

Я помню много чего. У IDEA была кучка шумных фанатов, приписывавших ей всевозможные воображаемые достоинства. Но, судя по их активности тут в форуме, нелепая мода проходит. Популярные IDE никогда не были хуже, чем IDEA и вроде ничего от неё не заимствовали. Но это тема для обсуждения в форуме по Java.


Не тронь святое! :) Мода не проходит.

IDEA 8 (глядя на которую сразу возникает чувство, что jetbrains не зря тратит деньги на research MPS и активно использует полученные результаты) кладёт на лопатки все другие ide. Преимущества этой IDE уже давно стали так очевидны, что даже не возникает мыслей, что кто-то может о них не знать и что нужно проводить просветительскую деятельность в этой связи :)
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35565465
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_мод Gluk (Kazan)А M4 для sendmail-а точно не раньше ?
В 60-70-х было много независимых макрогенераторов (типа ML и пр.) В ПЛ/1 был неплохой МГ.

PL/I-ый не помню (хотя в институте и учили). давно это було :(
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35566280
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beluginЕсть даже те кто не понимает, а говорит.

Навпример в данном случае речь шла о том, что надо отделить модель языка от хранения и представления. То есть хранить в некоем формате, не обяательно текстовом, а представлять в виде текста, схемы и т.д. То есть IDE получается как некий редактор для AST.

При чем тут модульность Eclipse?

Я изложил кратко, поэтому может быть непонятно. Имелась ввиду не модульность самого Eclipse, а поддержка им разработки программ на основе компонент. В цитированном мной фрагменте статьи было о представлении программы в виде графа, то есть в виде компонент и их связей. То есть, "метапрограммирование" можно понимать как описание связей между компонентами (скажем, в виде XML). Уровень абстракции компонент вообще говоря может быть разным, но привёдённое далее предложение расширять сам язык для Java трудно и из статьи непонятно - зачем нужно, то есть это слишком низкий уровень. Но для более высокого уровня (классов и библиотек) это реализовано в Eclipse и Netbeans.
Статья, на которую вы указали, относится к 2005 г. Значит, не опровергает.


Щас перейду к полному разоблачению Мартина Фаулера с последующим его оправданием .


privateMartin Fowler где-то упоминал, что IDE можно разделить на те, которые были до выхода IDEA и после.

Разборка с Мартином Фаулером
-------------------------------------------
(что он на самом деле сказал об IDEA).

Я засомневался, что Marin Fowler мог сказать такое, причём независимо от того, кто такой Martin Fowler (лишь бы не фанат). Поэтому произвёл поиск в Интернете и обнаружил его статью, которая дала повод для странного утверждения:


http://www.martinfowler.com
статья “Crossing Refactoring’s Rubicon” .

Сразу сообщаю вывод – что хотя в странном утверждении употреблены слова из статьи, но они переставлены так, что смысл высказываний Martin-а Fowler-а изменился. То есть, мы имеем обычный религиозный миф IDEAпоклонников - не подлежащие сомнению слова святого брамина Martin-а после долгого стояния на голове... которые тот и не говорил.

Привожу основные положения статьи (хотя кому интересно, может прочитать её саму).
- Сначала автор сообщает, что он увлекается темой «рефакторинга» (то есть, изменения структуры программ) и сл., интересуется средствами разработки с его поддержкой.
- Затем вспоминает историю. Вот ему нравился компонент Smalltalk Refactoring Browser, но поскольку он в основном программирует на Java, то хотел иметь подобное для Java. С 1999 г. он стал получать сообщения, что ведётся работа над такими средствами. Наконец, появился X-ref – дополнительный модуль для редактора EMACS. Но Fowler не хотел использовать EMACS. Затем появился дополнительный модуль jFactor для IDE Visual Age for Java. Поэтому он хотел было объявить январь 2001 г. «месяцем рефакторинга», но тут ещё вдруг появилось и IDEA – с некоторой поддержкой «рефакторинга» - то есть с возможностями поиска и переименования, похожими на Visual Age, но без Extract Method (поиска выделением в тексте), который автор считает необходимым для «сложного рефакторинга» (приводит ссылку на объяснение:
статья про Extract Method ) . Поэтому IDEA стало «второстепенным фаворитом» в его фирме там, где нельзя было использовать Visual Age, и вдруг он получил сообщение, что в IDEA добавлена поддержка Extract Method (то есть полная поддержка "рефакторинга").
- Он делает вывод, что в 2001 г. был «перейдён Рубикон» в поддержке «рефакторинга» в IDE для Java (что IDEAпоклонники, применив буйное воображение, истолковали как приход новой эры благодаря IDEA) , выражает мнение (в 2001 г.), что появятся новые средства для «рефакторинга» и рекомендует испытывать их (сейчас есть во всех популярных IDE).

Значит
---------
Новая эра тогда наступила не вообще в IDE для Java, а в поддержке «рефакторинга» в них. Начало новой эры положила не IDEA, а Eclipse (как потом переименовали Visual Age for Java). И другие не заимствовали идеи у IDEA.
Таким образом, Martin Fowler не виноватый.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35566640
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan MНо для более высокого уровня (классов и библиотек) это реализовано в Eclipse и Netbeans.


Общая идея MPS именно в создании DSL а не классов и библиотек. Возможностями MPS, насколько я знаю, Eclipse и Netbeans не обладают



Partisan M
Начало новой эры положила не IDEA, а Eclipse (как потом переименовали Visual Age for Java).


Насколько я помню VA/J несколько другой продукт даже с большими функциями в чем-то чем Eclipse (помню например, можно было арифметические выражеия из компонентиков строить и связывать их "проводами"). Eclipse совершенно на другой основе написан, судя по всему , просто он заминил VA/J в продуктовой линейке IBM
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35570271
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan M
Значит
---------
Новая эра тогда наступила не вообще в IDE для Java, а в поддержке «рефакторинга» в них. Начало новой эры положила не IDEA, а Eclipse (как потом переименовали Visual Age for Java). И другие не заимствовали идеи у IDEA.
Таким образом, Martin Fowler не виноватый.

:)

Готов участвовать в перестрелке о том, где рефакторинг лучше реализован сейчас, а не в 2001 году. По возможностям (количеству, качеству) рефакторинга IDEA впереди планеты всей.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35576550
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЯ изложил кратко, поэтому может быть непонятно. Имелась ввиду не модульность самого Eclipse, а поддержка им разработки программ на основе компонент. В цитированном мной фрагменте статьи было о представлении программы в виде графа, то есть в виде компонент и их связей. То есть, "метапрограммирование" можно понимать как описание связей между компонентами (скажем, в виде XML). Уровень абстракции компонент вообще говоря может быть разным, но привёдённое далее предложение расширять сам язык для Java трудно и из статьи непонятно - зачем нужно, то есть это слишком низкий уровень. Но для более высокого уровня (классов и библиотек) это реализовано в Eclipse и Netbeans.Метапрограммирование можно понимать по разному, если для кого-то это "связи между компонентами", чтож, пусть так и думают :).
То что понаписано в цитате, не имеет ни малейшего отношения к тому что написано в статье.
Вы статью читали? Какие нахер XML, Java, компоненты, классы и библиотеки? :) Вот примеры программ на LOP(теоретические):
- Модель BPM процесса. "Программа" - "рисунок", то что ты видишь в том-же Visio. "Программист" - бизнес аналитик который с ней работает.
- САП система, программа - Схема дома, с кучей комнат. "Программисты" - проектировщики, "IDE" - та хреновина в которой они все это чертят.
- Построение интерфейса, ты пишеш - "хочу получить от пользователя номер его счета, пароль, и еще с десяток всякого добра". Для тебя автоматом создается форма.

Такие вещи уже существуют, LOP позволяет создавать их быстрее и проще.

Где тут в вышеперечисленном XML, и расширения Java?

авторЩас перейду к полному разоблачению Мартина Фаулера с последующим его оправданием.
Статья была другая, искать точную ссылку мне влом.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35576551
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно, что та речлизация которая предложена в статье, далека от желаемой, но тут обсуждение даже не этого. Непонимание самой цели, т.е. для чего вообще вся эта бодяга разводится.

А все эти обсуждения классов хмл и прочей лабуды, как раз и есть те ограничения мышления, упомянутые в статье и за которые большинство и не может вылезти.
...
Рейтинг: 0 / 0
Языково-ориентированное программирование
    #35686417
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подниму тему, заодно покажу статью Фаулера где он говорит о IntelliJ IDEA, http://martinfowler.com/bliki/PostIntelliJ.html
...
Рейтинг: 0 / 0
58 сообщений из 58, показаны все 3 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Языково-ориентированное программирование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]