Автор Тема: [pure С] Макросы как инструмент построения eDSL  (Прочитано 68248 раз)

DIzer

  • Гость
Re:[pure С] Макросы как инструмент построения eDSL
« Ответ #120 : Апрель 14, 2011, 07:13:11 am »
Я к тому что от дефа (в случае оберонов) компилируемая пустышка будет отличаться  всего лишь наличием BEGIN END;
Ещё (2) все заголовки методов будут внесены в описания соответствующих типов; и (3) будут исключены все приватные объявления.
да в теории это так - но опять повторю - стиль оберона- один класс-один модуль ...

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:[pure С] Макросы как инструмент построения eDSL
« Ответ #121 : Апрель 14, 2011, 02:09:04 pm »
да в теории это так - но опять повторю - стиль оберона- один класс-один модуль ...
Ну, вообще говоря, это не так. Точнее, не обязательно так. Удобно бывает в модуле объявить ворох тесносвязанных сущностей-рекордов, которые гарантированно должны знать друг о друге, реализовать функции их совместной обработки и заэкспортировать все это, возможно без доступа к конкретным полям этих рекордов.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

DIzer

  • Гость
Re:[pure С] Макросы как инструмент построения eDSL
« Ответ #122 : Апрель 14, 2011, 02:25:39 pm »
да в теории это так - но опять повторю - стиль оберона- один класс-один модуль ...
Ну, вообще говоря, это не так. Точнее, не обязательно так. Удобно бывает в модуле объявить ворох тесносвязанных сущностей-рекордов, которые гарантированно должны знать друг о друге, реализовать функции их совместной обработки и заэкспортировать все это, возможно без доступа к конкретным полям этих рекордов.
А я и не говорю про абсолют - речь идет о том что (ИМХО) язык подталкивает к такому стилю (косвенно это подтверждают исходники ББ+уверения некоторых коровцев о их эталонности (с точки зрения проектирования)  ;) ).

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:[pure С] Макросы как инструмент построения eDSL
« Ответ #123 : Апрель 14, 2011, 02:42:09 pm »
речь идет о том что (ИМХО) язык подталкивает к такому стилю
Как он может подталкивать к этому? В 16 страницах вроде ни слова нет про принципы проектирования модулей и систем из них...
to iterate is human, to recurse, divine

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

DIzer

  • Гость
Re:[pure С] Макросы как инструмент построения eDSL
« Ответ #124 : Апрель 14, 2011, 02:49:24 pm »
речь идет о том что (ИМХО) язык подталкивает к такому стилю
Как он может подталкивать к этому? В 16 страницах вроде ни слова нет про принципы проектирования модулей и систем из них...
Ну начнем, с того , что в системе расчитанной на компонентную разработку просто неприлично  иметь излишне большие динамически подгружаемые модули. далее -инкапсуляция и ООП на уровне модуля, простая линейная структура его (без дефов задолбаешься елозить по нему),  отсутствие перегрузки функций... хватит ?

Илья Ермаков

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
    • OberonCore
Re:[pure С] Макросы как инструмент построения eDSL
« Ответ #125 : Апрель 14, 2011, 04:34:38 pm »
В общем, резюмируя, язык вынуждает проектировать культурно, т.е. следовать принципу "Разделяй и управляй".

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:[pure С] Макросы как инструмент построения eDSL
« Ответ #126 : Апрель 14, 2011, 05:42:04 pm »
Ну начнем, с того , что в системе расчитанной на компонентную разработку просто неприлично  иметь излишне большие динамически подгружаемые модули. далее -инкапсуляция и ООП на уровне модуля, простая линейная структура его (без дефов задолбаешься елозить по нему),  отсутствие перегрузки функций... хватит ?
То есть речь не о языке, а о некоторых его реализациях.
Другие реализации к этому совершенно не подталкивают.

ЗЫ. Даже в ETH Oberon был компонент под названием Oberon Companion, в котором были перегруженные процедуры (операции), так что "отсутствие перегрузки функций" лучше вычеркнуть из этого списка...
to iterate is human, to recurse, divine

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

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:[pure С] Макросы как инструмент построения eDSL
« Ответ #127 : Апрель 14, 2011, 05:44:06 pm »
В общем, резюмируя, язык вынуждает проектировать культурно, т.е. следовать принципу "Разделяй и управляй".
Спорное утверждение, как, впрочем, и многие другие восхваления оберонов...
to iterate is human, to recurse, divine

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

DIzer

  • Гость
Re:[pure С] Макросы как инструмент построения eDSL
« Ответ #128 : Апрель 14, 2011, 08:41:10 pm »
В общем, резюмируя, язык вынуждает проектировать культурно, т.е. следовать принципу "Разделяй и управляй".
Спорное утверждение, как, впрочем, и многие другие восхваления оберонов...
Вообще говоря да (перспектива менеджмента кучи мелких модулей раздражает, по крайней мере, в текущей реализации ББ), но для образовательных целей такой стиль самое то ...
в отличие от Хацкельного.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:[pure С] Макросы как инструмент построения eDSL
« Ответ #129 : Апрель 14, 2011, 08:48:14 pm »
В общем, резюмируя, язык вынуждает проектировать культурно, т.е. следовать принципу "Разделяй и управляй".
Спорное утверждение, как, впрочем, и многие другие восхваления оберонов...
Вообще говоря да (перспектива менеджмента кучи мелких модулей раздражает, по крайней мере, в текущей реализации ББ), но для образовательных целей такой стиль самое то ...
в отличие от Хацкельного.
А какой стиль у хацкеля? :-)
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Илья Ермаков

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
    • OberonCore
Re:[pure С] Макросы как инструмент построения eDSL
« Ответ #130 : Апрель 14, 2011, 08:48:52 pm »
Вообще говоря да (перспектива менеджмента кучи мелких модулей раздражает, по крайней мере, в текущей реализации ББ), но для образовательных целей такой стиль самое то ...
в отличие от Хацкельного.

Зато этот мелкий модуль один раз реализован - и эксплуатируется, без изменений. Возникли вариации - делается другой, новый. Исходный код "твёрдый", "отлитый".

DIzer

  • Гость
Re:[pure С] Макросы как инструмент построения eDSL
« Ответ #131 : Апрель 14, 2011, 09:00:10 pm »
В общем, резюмируя, язык вынуждает проектировать культурно, т.е. следовать принципу "Разделяй и управляй".
Спорное утверждение, как, впрочем, и многие другие восхваления оберонов...
Вообще говоря да (перспектива менеджмента кучи мелких модулей раздражает, по крайней мере, в текущей реализации ББ), но для образовательных целей такой стиль самое то ...
в отличие от Хацкельного.
А какой стиль у хацкеля? :-)
Гнусные программки на 500 строк с низходящим проектированием и оголтелым использованием рекурсий...  ;)

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:[pure С] Макросы как инструмент построения eDSL
« Ответ #132 : Апрель 15, 2011, 05:38:00 am »
А какой стиль у хацкеля? :-)
Гнусные программки на 500 строк с низходящим проектированием и оголтелым использованием рекурсий...  ;)

Это что угодно, но не Haskell-way. Возможно, на Рефале так и пишут.
Вот последняя утилитка на Хаскелле, которую я сделал для анализа логов расхода траффика одной моей программы: ни одной рекурсии. Куча map'ов, по одному filter, groupBy, fold, lines/unlines. Рекурсии почему-то не понадобились...

Опять оберонщеги лгут, ну что за жисть?..
to iterate is human, to recurse, divine

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

DIzer

  • Гость
Re:[pure С] Макросы как инструмент построения eDSL
« Ответ #133 : Апрель 15, 2011, 06:13:45 am »
А какой стиль у хацкеля? :-)
Гнусные программки на 500 строк с низходящим проектированием и оголтелым использованием рекурсий...  ;)

Это что угодно, но не Haskell-way. Возможно, на Рефале так и пишут.
Вот последняя утилитка на Хаскелле, которую я сделал для анализа логов расхода траффика одной моей программы: ни одной рекурсии. Куча map'ов, по одному filter, groupBy, fold, lines/unlines. Рекурсии почему-то не понадобились...

Опять оберонщеги лгут, ну что за жисть?..
:D :D :D Вы не тру хаскиллер - в Вас поселилась "гниль" императивщины ( с вражинами поведешься - от них и наберешься).  ;D ;D ;D ;D

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:[pure С] Макросы как инструмент построения eDSL
« Ответ #134 : Апрель 15, 2011, 06:23:50 am »
А какой стиль у хацкеля? :-)
Гнусные программки на 500 строк с низходящим проектированием и оголтелым использованием рекурсий...  ;)

Это что угодно, но не Haskell-way. Возможно, на Рефале так и пишут.
Вот последняя утилитка на Хаскелле, которую я сделал для анализа логов расхода траффика одной моей программы: ни одной рекурсии. Куча map'ов, по одному filter, groupBy, fold, lines/unlines. Рекурсии почему-то не понадобились...

Опять оберонщеги лгут, ну что за жисть?..
:D :D :D Вы не тру хаскиллер - в Вас поселилась "гниль" императивщины ( с вражинами поведешься - от них и наберешься).  ;D ;D ;D ;D

Какая императивнщина, о чём это Вы? о_О
Перечисленные мною функции ни разу не императивны -- чистейшей воды ФП...
to iterate is human, to recurse, divine

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