Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Порви свой мозг, детям до 16 лет читать не рекомендуется 
:(
    Опции темы
unicuum
  Дата 19.8.2009, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Что-то на меня сегодня опять нашло "умное" настроение и я решил написать об этом в самый интеллектуальный раздел винграда. Речь как вы уже все догадались smile пойдёт об инвариантном программировании. Но чтобы не мучать ваш мозг будем называть его генеративным или метапрограммированием.

Как известно оно принадлежит к парадигмам программирование, то есть ментальным моделям программиста. Но само доступно лишь с помощью специальных инструментов, выходящих за рамки обычного текстового редактора. Предположим у нас есть текстовое окно и в нём разбираемый код. Причём код это текстовая единица по типу файла или чего-то другого. Точно сказать нельзя, так как не у каждого ресурса есть путь и прочие атрибуты. Зато у каждого существует содержимое, а значит и хеш суммы с помощью которых его всегда можно опознать среди других.

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

Далее обратим внимание на расширенные формы Бэкуса-Наура (Extended Backus-Naur Form), а так же диаграммы Вирта, что по сути одно и тоже, с разницей в том, что первое записывается в текстовом виде, а второе в графическом. Если кратко, то вся эта штука была придумана для того, чтобы описывать безграничное количество грамматик ограниченным количеством форм.

<> ::= A. - выражение EBNF
, - оператор И
| - оператор ИЛИ
"…" - терминал - текстовый элемент, символ или группа символов
[A] - элемент A встречается ноль или один раз
{A} - ноль или бесконечное количество повторов элемента A
(A, B) - группировка элементов

Таким образом подходим к двум понятиями:

Шаблоны вариантов - содержат множество конечных вариантов.
Вариант - конкретное воплощение варианта принадлежащего шаблону вариантов.


--------------------
user posted image
обычный день на винграде
PM   Вверх
Madonna
Дата 19.8.2009, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Forbidden love...
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 22.1.2009
Где: Москва




К чему это? 
смотрится как предисловие... smile 
--------------------
Best regards, Madonna
PM   Вверх
unicuum
Дата 20.8.2009, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Цитата(Madonna @  19.8.2009,  23:48 Найти цитируемый пост)
К чему это? 
смотрится как предисловие... smile  

Да, это предисловие, так же как и в прошлых темах. Лишь бы здесь зверята опять появляться не начали. smile 


--------------------
user posted image
обычный день на винграде
PM   Вверх
UniBomb
Дата 20.8.2009, 00:19 (ссылка) |    (голосов:16) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург




Осака-тян тоже любит эту траву!

user posted image


--------------------
PM MAIL ICQ Skype   Вверх
pycha
Дата 20.8.2009, 07:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


главный анастазиолог
*


Профиль
Группа: Участник
Сообщений: 239
Регистрация: 20.6.2008
Где: Украина




типо еще и белочка прибежать может?
--------------------
ищу хакера со знанием компьютера длятехкт
PM MAIL ICQ   Вверх
Akella
Дата 20.8.2009, 09:57 (ссылка) |    (голосов:9) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант




user posted image  smile 
PM MAIL   Вверх
GrayCardinal
Дата 20.8.2009, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003




unicuum
Эх, жалко что не курю :(


--------------------
PM MAIL WWW   Вверх
IKM2007
Дата 20.8.2009, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зима близко
**


Профиль
Группа: Участник
Сообщений: 702
Регистрация: 26.4.2008
Где: olmedreca




Akella, картинка зачет! smile 


--------------------
"К чёрту обстоятельства, я создаю возможности."
Брюс Ли
PM MAIL Skype   Вверх
unicuum
  Дата 20.8.2009, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Что ж, я вижу двум человечкам уже сорвало крышу. Совсем неплохой результат для одного умного поста. Продолжаем...

Отвлечёмся не намного от главной темы. Как-то раз я баловался создавая свой сверхсекретный сайт и мне нужно было добавить в него поддержку языков программирования. Для этого в редактор используемый яваскрипты надо вставить необходимый код. Проблема в том что я эти яваскрипты не учил и до сих пор не знаю как они работают. Но дело не в этом, а в том, что результат было достигнут извращённым способом.

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

user posted image

Точно так же решилась проблема и со смайлами.

user posted image

Даже такие извращённые способы генерации могут быть очень эффективны. Каюсь, но это было не первое моё извращение с экселем. С помощью него я создавал схемы баз, складывал из частей различные имена, да и вообще всего не упомнишь.


--------------------
user posted image
обычный день на винграде
PM   Вверх
unicuum
  Дата 21.8.2009, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




А теперь вернёмся к главной теме. Собственно мысль довольно проста, очевидно есть способы писать код быстрее, лучше и качественнее, но самое главное создавать его не понимая как он работает, но знать, что он работает правильно. Грубо говоря назову этот вид программирования интуитивным. Я уже выводил антишаблон создателей Oblivion/Забвение, в действительности же дело обстоит гораздо хуже. Частичная потеря знаний вредна не в меньшей степени.

Сегодня вы знаете как преодолевать скользкие места, оптимизировать код, да и вообще понимаете как с ним работать, сегодня вы программист. А через пару месяцев ничего не деланья кое-что может забыться. Но что если пройдут годы, что если вы забудете как программировали некую систему на совершенно ином языке. Со временем люди перестают быть программистами, и перегорают. К тому же по исследованиям крупных компаний продуктивность одного хорошего программиста может отличается от других аж в 20 раз.

Это говорит о том, что в лоб подобную проблему не решить, недостаточно просто кодить или проектировать. Более того, есть у меня такая крамольная мысль, что двадцатикратное превосходство достигается не только за счёт преимущества мышления программиста, но и за счёт его недостатков. То есть в конечном итоге благодаря такому подходу код скажем так станет очень специфическим, и будет носить отпечаток его владельца.

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

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

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


--------------------
user posted image
обычный день на винграде
PM   Вверх
localhost
Дата 21.8.2009, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хирург-длятехкт
**


Профиль
Группа: Участник
Сообщений: 712
Регистрация: 8.11.2005
Где: Н.Новгород




Цитата(unicuum @  20.8.2009,  00:00 Найти цитируемый пост)
Лишь бы здесь зверята опять появляться не начали.

Ну-ну... Это вы кого имеете в виду, а?  smile 
PM MAIL   Вверх
unicuum
  Дата 21.8.2009, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Цитата(localhost @  21.8.2009,  15:04 Найти цитируемый пост)
Ну-ну... Это вы кого имеете в виду, а?  smile  

Зверята на типа белки. Придёт ещё кто-нибудь, будут тебе и собачата, и котята. Или вот как здесь обкуренные анимешники. А тема между прочим серьёзная и для программистов актуальная.


--------------------
user posted image
обычный день на винграде
PM   Вверх
IKM2007
Дата 21.8.2009, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зима близко
**


Профиль
Группа: Участник
Сообщений: 702
Регистрация: 26.4.2008
Где: olmedreca




Цитата(unicuum @  21.8.2009,  15:14 Найти цитируемый пост)
Зверята на типа белки. Придёт ещё кто-нибудь, будут тебе и собачата, и котята. Или вот как здесь обкуренные анимешники. А тема между прочим серьёзная и для программистов актуальная.

unicuum, а почему во флейме? Цитирую тебя самого с соседней темы:
Цитата(REZiaMIX @  20.8.2009,  21:38 Найти цитируемый пост)
Прошу не флудить 


Цитата(unicuum @  20.8.2009,  21:41 Найти цитируемый пост)
Но ты же сам выбрал этот раздел.




--------------------
"К чёрту обстоятельства, я создаю возможности."
Брюс Ли
PM MAIL Skype   Вверх
unicuum
  Дата 21.8.2009, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Цитата(IKM2007 @  21.8.2009,  18:32 Найти цитируемый пост)
unicuum, а почему во флейме? Цитирую тебя самого с соседней темы:
Цитата(REZiaMIX @  20.8.2009,  21:38 Найти цитируемый пост)
Прошу не флудить 
Цитата(unicuum @  20.8.2009,  21:41 Найти цитируемый пост)
Но ты же сам выбрал этот раздел.

Флуд как раз приветствуется, но если ты видел мои предыдущие умные темы, то каждый раз они выносили людям мозг настолько, что у них ничего кроме зверят в голову больше не лезло. С одной стороны это предмет гордости, так как если посмотреть на другие темы раздела, да и вообще на форум в целом, этого как правило больше нигде особо не наблюдается. Значит мои умные темы уже выработали у пользователей рефлексы как у собак Павлова.

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


--------------------
user posted image
обычный день на винграде
PM   Вверх
Шмульке
  Дата 21.8.2009, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 21.8.2009




Очень интересно, хотелось бы узнать, что будет дальше. smile 
PM MAIL   Вверх
IKM2007
Дата 21.8.2009, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зима близко
**


Профиль
Группа: Участник
Сообщений: 702
Регистрация: 26.4.2008
Где: olmedreca




Цитата(unicuum @  21.8.2009,  18:43 Найти цитируемый пост)
Флуд как раз приветствуется, но если ты видел мои предыдущие умные темы, то каждый раз они выносили людям мозг настолько, что у них ничего кроме зверят в голову больше не лезло. С одной стороны это предмет гордости, так как если посмотреть на другие темы раздела, да и вообще на форум в целом, этого как правило больше нигде особо не наблюдается. Значит мои умные темы уже выработали у пользователей рефлексы как у собак Павлова.


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


--------------------
"К чёрту обстоятельства, я создаю возможности."
Брюс Ли
PM MAIL Skype   Вверх
unicuum
  Дата 21.8.2009, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Цитата(IKM2007 @  21.8.2009,  18:50 Найти цитируемый пост)
unicuum, это потому-что во флейме все умные темы запостил ты, а когда люди заходят во флейм, они хотят развлечься, оторватся от своих повседневных дел и такая реакция на такие темы на мой взгляд очевидна. 

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


--------------------
user posted image
обычный день на винграде
PM   Вверх
Шмульке
  Дата 21.8.2009, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 21.8.2009




Цитата(unicuum @  21.8.2009,  19:01 Найти цитируемый пост)
Так я тоже хочу развлечься, потому и создаю подобные темы. Это я так отрываюсь от повседневных дел.

Тем не менее статьи получаются очень познавательными. Я иногда тоже размышляю о чём-то подобном.
PM MAIL   Вверх
diadiavova
Дата 21.8.2009, 19:05 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте




Цитата(Шмульке @  21.8.2009,  20:04 Найти цитируемый пост)
Я иногда тоже размышляю о чём-то подобном. 

Кто бы сомневался smile

Добавлено через 1 минуту и 2 секунды
Шмульке, непокорным зулусам привет


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
IKM2007
Дата 21.8.2009, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зима близко
**


Профиль
Группа: Участник
Сообщений: 702
Регистрация: 26.4.2008
Где: olmedreca




Цитата(unicuum @  21.8.2009,  19:01 Найти цитируемый пост)
Так я тоже хочу развлечься, потому и создаю подобные темы. Это я так отрываюсь от повседневных дел.

Тогда какие еще зверята? Все программеры раслабляются по-разному и нечего удивлятся. smile 


--------------------
"К чёрту обстоятельства, я создаю возможности."
Брюс Ли
PM MAIL Skype   Вверх
unicuum
  Дата 21.8.2009, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




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

Как известно, в мире открытого программного кода существуют репозитории. Суть их заключается в сохранении промежуточных версий сделанных кем-либо из участников. Использование дельта компрессии позволяет не только уменьшать размер хранимых данных, но и узнавать о произведённых изменениях. Наглядное синергетическое взаимодействие в виде динамической диаграммы было приведено мною в теме Code Swarm.

Репозиторий это хорошо, но стоит понимать нестабильность большинства ревизий. Лишь единицы из них правильны с точки зрения исполнения. Именно они и интересуют в первую очередь. Для примера, по правилам SVN их слепки отправляются в папку tags. В последствии происходит архивация. Что интересно в мире линукса подобное действие проходит в два этапа.

Если вам встретится концовка файла .tar.gz, то это будет значить, что архив со всеми файлами и папками был собран и запакован. Можно было бы и не проводить архивацию, для пользователей виндоус по самым популярных архиваторам это больше известно как параметр "без сжатия".

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

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


--------------------
user posted image
обычный день на винграде
PM   Вверх
Шмульке
Дата 21.8.2009, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 21.8.2009




Цитата(unicuum @  21.8.2009,  22:58 Найти цитируемый пост)
Если вам встретится концовка файла .tar.gz, то это будет значить, что архив со всеми файлами и папками был собран и запакован.

Похоже на BitTorrent или DirectConnect, там тоже создаётся нечто подобное. Только используются другие хеш суммы, не CRC32, а SHA-1 и Tiger Hash, причём немного по разному. Во втором случае каждый файл имеет свой собственный хеш.
PM MAIL   Вверх
unicuum
  Дата 21.8.2009, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Цитата(Шмульке @  21.8.2009,  23:08 Найти цитируемый пост)
Похоже на BitTorrent или DirectConnect, там тоже создаётся нечто подобное.

Как раз сейчас хотел об этом написать. Архив можно рассматривать в качестве единицы верхнего уровня. Внутри него может быть один файл или множество файлов и папок. Главное это восприятие самого программиста, его желание иметь в архиве некую единую связную или несвязную сущность. Ведь программирование оно по сути и состоит из группировки разнообразных сущностей.

Следующие две сущности это файлы и папки. Хотя в неком роде они имеют нечто общее, например, имена. Причём эти самые имена прописывают в коде, как для файлов, так и для папок, по остальным же важным характеристикам они совершенно не похоже. Для папок это структура в виде древовидного графа, а для файлов содержимое из которого вытекают контрольные суммы, системы формирования данных и много другое.

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

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


--------------------
user posted image
обычный день на винграде
PM   Вверх
diadiavova
Дата 22.8.2009, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте




Цитата(unicuum @  22.8.2009,  00:29 Найти цитируемый пост)
Как раз сейчас хотел об этом написать.

Интересно, как это он угадал твои мысли? Какой проницательный товарищ smile


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
unicuum
  Дата 22.8.2009, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Цитата(diadiavova @  22.8.2009,  16:16 Найти цитируемый пост)

Интересно, как это он угадал твои мысли? Какой проницательный товарищ

Ладно, а что ты сам можешь по теме написать?


--------------------
user posted image
обычный день на винграде
PM   Вверх
diadiavova
Дата 22.8.2009, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте




Цитата(unicuum @  22.8.2009,  17:30 Найти цитируемый пост)
Ладно, а что ты сам можешь по теме написать? 

Эээээээээээ...у меня нет ощущения, что тема подразумевает дискуссию. Если конечно ты не ждёшь поддакиваний в духе Шмульке. 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
unicuum
Дата 22.8.2009, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Цитата(diadiavova @  22.8.2009,  17:14 Найти цитируемый пост)
у меня нет ощущения, что тема подразумевает дискуссию.

Подразумевают, попробуй, что-нибудь скажи.

user posted image


--------------------
user posted image
обычный день на винграде
PM   Вверх
diadiavova
Дата 22.8.2009, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте




Цитата(unicuum @  22.8.2009,  18:24 Найти цитируемый пост)
Подразумевают, попробуй, что-нибудь скажи.

Давай для начала попытаемся разобраться о чём тема smile 
В первом посте ты задекларировал тему как метапрограммирование и тут же начал рассуждать о EBNF нотации. Дальше решил отвлечься и рассказал трогательную историю о том, как с помощью экселя тебе удалось разбить список языков на строки, при чём рассказал во всех подробностях и даже картинку выложил. Следующий пост "по теме" - сетование на то, что "голова не знает, что делают ноги".
Потом пошли разговоры о файлах, архивах и (с подачи Шмульке) файлообменных сетях. 
Так о чём говорить то бум? smile 



--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
unicuum
  Дата 22.8.2009, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Цитата(diadiavova @  22.8.2009,  17:41 Найти цитируемый пост)
В первом посте ты задекларировал тему как метапрограммирование и тут же начал рассуждать о EBNF нотации.

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

Цитата(diadiavova @  22.8.2009,  17:41 Найти цитируемый пост)
Так о чём говорить то бум? smile 

О создании инструментов помогающим программистам в работе.


--------------------
user posted image
обычный день на винграде
PM   Вверх
diadiavova
Дата 22.8.2009, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте




Цитата(unicuum @  22.8.2009,  18:49 Найти цитируемый пост)
Да, потому что EBNF это один из языков метапрограммирования

Да нет вообще-то. Это набор правил, на которых основаны языки грамматик. Сами языки грамматик так же не являются языками метапрограммирования, в силу того, что этот термин применим скорее к языкам общего назначения(General Purpose), а языки грамматик  - это предметно-ориентированные языки (Domain-Specific). Я, конечно не знаток вопроса, но на сколько я знаю термин метапрограммирование применяется к общецелевым языкам программирования, в которых заложен механизм расширения возможностей самого языка. Но на сколько я знаю, обычно это не подразумевает описание грамматики при помощи какого-то языка грамматики, использующего EBNF-нотацию. Там для этого используются возможности самого языка. Хотя я могу и ошибаться на этот счёт.
Цитата(unicuum @  22.8.2009,  18:49 Найти цитируемый пост)
Метаязыков больше, но пока не вижу никакого смысла останавливаться на них.

Ну да, к чему останавливаться на метаязыках, если говорим о метапрограммировании.
Цитата(unicuum @  22.8.2009,  18:49 Найти цитируемый пост)
О создании инструментов помогающим программистам в работе. 

Я пользуюсь макросами, меня всё устраивает. Иногда пользуюсь готовыми решениями типа такого
http://www.postsharp.org/


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
unicuum
Дата 22.8.2009, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Цитата(diadiavova @  22.8.2009,  18:12 Найти цитируемый пост)
Я, конечно не знаток вопроса, но на сколько я знаю термин метапрограммирование применяется к общецелевым языкам программирования

За что взял, за то и отдаю.

Цитата

Метаязыки Хомского и Хомского-Щутценберже использовались в математической литературе при описании простых абстрактных языков. Метаязык, предложенный Бэкусом и Науром, впервые использовался для описания синтаксиса реального языка программирования Алгол 60.

Один из компиляторов для него привёл выше.

Цитата(diadiavova @  22.8.2009,  18:12 Найти цитируемый пост)
Я пользуюсь макросами, меня всё устраивает. Иногда пользуюсь готовыми решениями типа такого
http://www.postsharp.org/ 

Так расскажи, как и где тебе удалось это применить.


--------------------
user posted image
обычный день на винграде
PM   Вверх
smartov
Дата 22.8.2009, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ




использование общих частей нивелирует оптимизацию. с таким же успехом можно просто запретить все языки кроме си и радоваться унификации
PM MAIL   Вверх
unicuum
Дата 22.8.2009, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Цитата(smartov @  22.8.2009,  18:42 Найти цитируемый пост)
использование общих частей нивелирует оптимизацию. с таким же успехом можно просто запретить все языки кроме си и радоваться унификации 

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


--------------------
user posted image
обычный день на винграде
PM   Вверх
diadiavova
Дата 22.8.2009, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте




Цитата(unicuum @  22.8.2009,  19:25 Найти цитируемый пост)
За что взял, за то и отдаю.

Метаязык и метапрограммирование - всё-таки не одно и то же. Метаязык - это язык на базе которого создаются другие языки или (как в случае с БНФ) для описания других языков. В частности примером может служить тот же XML. Только какое это имеет отношение к метапрограммированию
Цитата(unicuum @  22.8.2009,  19:25 Найти цитируемый пост)
Так расскажи, как и где тебе удалось это применить. 

А макросы ничего глобального не делают(по крайней мере мне). Просто сильно облегчают повседневные дела. Надо мне выполнить какую-то нетривиальную задачу - написал макрос и готово. Иногда, если подольше над этим делом посидеть можно и что-то посерьёзнее написать, но пока большой необходимости не было. Хотя сейчас начал писать небольшую библиотеку для кодогенерации, может потом на её базе что-нибудь и намучу. 
А на счёт ссылки, так просто прикольная штучка. Возможности даёт большие, разобраться легко, использовать - тоже, но я пока к ней не готов smile 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
unicuum
  Дата 22.8.2009, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Цитата(diadiavova @  22.8.2009,  19:07 Найти цитируемый пост)
Метаязык - это язык на базе которого создаются другие языки или (как в случае с БНФ) для описания других языков.

На метаязыке описывается грамматика языков, причём метаязык может сам себя описать. Возможности есть разные, разобрать, генерировать, преобразовать и так далее.

Цитата(diadiavova @  22.8.2009,  19:07 Найти цитируемый пост)
В частности примером может служить тот же XML

Это структура для хранения данных, возможности метапрограммирования определяются для него с помощью XSLT. Если почитать литературу на эту тему, то как раз говорилось, что на это делались ставки, вот только пока так и не "выстрелило" в той степени как бы многим хотелось.

Сейчас для обсуждения попробую написать что-то более вменяемое.


--------------------
user posted image
обычный день на винграде
PM   Вверх
diadiavova
Дата 22.8.2009, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте




Цитата(unicuum @  22.8.2009,  20:17 Найти цитируемый пост)
На метаязыке описывается грамматика языков

Грамматика описывается на языках грамматик, а метаязык - это язык, описывающий общие правила для целого семейства языков. БНФ - это общий набор правил, которые используются языками грамматик и именно это делает его метаязыком, а не то, что языки грамматик, на нём построенные используются для генерации трансляторов разных компьютерных языков.
Цитата(unicuum @  22.8.2009,  20:17 Найти цитируемый пост)
Это структура для хранения данных, возможности метапрограммирования определяются для него с помощью XSLT.

Я не писал, что XML - язык метапрограммирования, я написал, что это метаязык. И таковым его делает тот факт, что на его базе может быть создано любое количество языков, в то время как для него самого определён только общий набор правил и документы на любом из этих, будут XML-документами и могут обрабатываться любыми из существующих XML-API. 
Если говорить об XSLT, то это уже конкретный язык программирования(!) построенный на базе XML. Сам факт его существования подтверждает, что применение XML не ограничивается описанием/хранением данных.
Цитата(unicuum @  22.8.2009,  20:17 Найти цитируемый пост)
Если почитать литературу на эту тему, то как раз говорилось, что на это делались ставки, вот только пока так и не "выстрелило" в той степени как бы многим хотелось.

Да это как сказать.



--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
unicuum
  Дата 22.8.2009, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Цитата(diadiavova @  22.8.2009,  19:32 Найти цитируемый пост)
БНФ - это общий набор правил

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


--------------------
user posted image
обычный день на винграде
PM   Вверх
diadiavova
Дата 22.8.2009, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте




Цитата(unicuum @  22.8.2009,  20:42 Найти цитируемый пост)
Думаю надо на чём то одном остановится, например, на EBNF, рассмотрения ещё и BNF

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


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
smartov
Дата 23.8.2009, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ




unicuum
Цитата(unicuum @  22.8.2009,  18:57 Найти цитируемый пост)
Ничего не нужно запрещать, метаязыки подходят к любой грамматике абстрактных синтаксических деревьев. А поскольку их используют компиляторы, совершенно не важно на чём программирует человек. Впрочем, если твоё сообщение относилось к postsharp, то я этим не пользовался. В данном случае речь идёт о других парадигмах, но послушать что скажет diadiavova всё же полезно.

Сообщение было тебе.
Я же говорю: то что они используют общие части (подходят к любой грамматике абстрактных синтаксических деревьев) сводит на нет все "прелести" отдельных языков. В общем зачете программировать на такой языке - все равно что программировать на каком-то одном. 
Ты понимаешь о чем я?
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

Добро пожаловать в «Флейм».

В разделе не действуют многие правила:

  • Можно оффтопить(умеренно)
  • Можно общаться на темы, не только связанные с программированием.

Строго запрещено:

  • Размещать рекламу
  • Обсуждать политику
  • Оскорблять друг-друга и переходить на личности
  • Наезжать, провоцировать других участников форума
  • Материться
  • Троллить

Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт.


Глас Винграда:


Глас Философии:


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Флейм | Следующая тема »


 




[ Время генерации скрипта: 0.1997 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.