Модераторы: 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   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

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

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

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

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

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

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


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


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


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

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


 




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


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

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