|
|
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
tchingiz _мод Gluk (Kazan) 1. БуГаГа 2. С отсутствием побочных эффектов очевидгл тоже ? ;) Согласен, новые функции создавать нельзя. А побочных эффектов в SQL нет и не м.б., т.к. нет переменных. боюсь что любой оператор селект удовлетворяет определениею функции и, значит, ею является http://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F_(%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0) или может Глюку удавалось применять два раза один оператор селекта к одному и тому же отношению и получать два разных отношения на выходе? Как насчёт запроса количества строк в таблице? У меня в базе в одной таблице, по три записи в секунду появляется, то есть раз от разу результаты разные будут... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 07:28 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
tchingizили может Глюку удавалось применять два раза один оператор селекта к одному и тому же отношению и получать два разных отношения на выходе? Код: plaintext 1. ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 07:36 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
tchingizбоюсь что любой оператор селект удовлетворяет определениею функции и, значит, ею является Ессно: таблица=selеct(список выражений, список таблиц, условие) но в чистом SQL нельзя написать НОВУЮ функцию, можно использовать только стандартные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 09:07 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
И выполнение функций далеко не всегда не связано с изменением каких-либо глобальных состояний ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 09:48 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) tchingizили может Глюку удавалось применять два раза один оператор селекта к одному и тому же отношению и получать два разных отношения на выходе? Код: plaintext 1. ??? у этой функции есть скрытый параметр текущее время на вход подается прямое произведение dual на (скажем) [1970..]. а собственно сама функция является проекцией на компонент время. поэтому просьба два разные ее применения делать в один и тотже момент времени системы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2008, 05:32 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
XDiaBLo tchingiz _мод Gluk (Kazan) 1. БуГаГа 2. С отсутствием побочных эффектов очевидгл тоже ? ;) Согласен, новые функции создавать нельзя. А побочных эффектов в SQL нет и не м.б., т.к. нет переменных. боюсь что любой оператор селект удовлетворяет определениею функции и, значит, ею является http://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F_(%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0) или может Глюку удавалось применять два раза один оператор селекта к одному и тому же отношению и получать два разных отношения на выходе? Как насчёт запроса количества строк в таблице? У меня в базе в одной таблице, по три записи в секунду появляется, то есть раз от разу результаты разные будут... функция применялась к различным входным данным. Отношения, меняющиеся со временем, от старика Кодда - это маразм не имеющий никакого отношения к математике. Отношение - это подмножество прямого произведение. Не больше и не меньше. Оно не меняется никогда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2008, 05:36 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
_мод tchingizбоюсь что любой оператор селект удовлетворяет определениею функции и, значит, ею является Ессно: таблица=selеct(список выражений, список таблиц, условие) но в чистом SQL нельзя написать НОВУЮ функцию, можно использовать только стандартные. возьмем таблицу t из одной колонки f типа int select f from t where f <= 2 и select f from t where f >= 2 это две разные фукции первая отношение Код: plaintext 1. 2. 3. 4. отображает в отношение Код: plaintext 1. 2. 3. вторая в Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2008, 05:44 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
По поводу того, что SQL язык функционального программирования, вспомнилось как тут недавно кое-кто утверждал, что ассемблер, это мультипарадигменный язык, потому что всё остальное написано на нём... Странный довод... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2008, 07:29 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
tchingizу этой функции есть скрытый параметр текущее время вот именно => функции ВПОЛНЕ могут оперировать глобальным состоянием => не всякое применение (и даже определение) функций есть ФП ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2008, 08:42 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
XDiaBLoПо поводу того, что SQL язык функционального программирования, вспомнилось как тут недавно кое-кто утверждал, что ассемблер, это мультипарадигменный язык, потому что всё остальное написано на нём... Странный довод... +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2008, 08:43 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) tchingizу этой функции есть скрытый параметр текущее время вот именно => функции ВПОЛНЕ могут оперировать глобальным состоянием => не всякое применение (и даже определение) функций есть ФП я говорил, что оператор селект удоволетворяет определению функции в математическом смысле и не более того. к размышлениям о том, что не всякое применение функций есть ФП безразличен. по видимому, оно справедливо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 23:36 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
tchingiz вот именно => функции ВПОЛНЕ могут оперировать глобальным состоянием => не всякое применение (и даже определение) функций есть ФП я говорил, что оператор селект удоволетворяет определению функции в математическом смысле и не более того. к размышлениям о том, что не всякое применение функций есть ФП безразличен. по видимому, оно справедливо[/quot] Разьве я где-то говорил, что select не функция ??? К чему было это: или может Глюку удавалось применять два раза один оператор селекта к одному и тому же отношению и получать два разных отношения на выходе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2008, 07:34 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
tchingiz select f from t where f <= 2 и select f from t where f >= 2 это две разные фукции x=select(f,t,f <= 2) y=select(f,t,f >= 2) функция одна и та же, а ее значения разные при разных аргументах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2008, 11:13 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Жжоте! )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2008, 17:16 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
tIT-GPЖжоте! )) Аха, "Программирование" вообще моя любимая ветка, люблю холивары и всё такое, как-то даже прикольнее всяких башоргов бывает. Да и в споре постигается истина... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2008, 22:24 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
XDiaBLo tIT-GPЖжоте! )) Аха, "Программирование" вообще моя любимая ветка, люблю холивары и всё такое, как-то даже прикольнее всяких башоргов бывает. Да и в споре постигается истина... Как правило, ничерта она не достигается-каждый остается при своем мнении ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 10:44 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
zloy denКак правило, ничерта она не достигается-каждый остается при своем мнении Это всегда так, при обсуждении теоретических вопросов... Я вот практик. Когда использую в шарпе или с++ элементы функционального программирования - то есть, в параметр функции ставлю вызов другой функции, то заявленная в теории "легкость дебагирования" (из-за отсутствия промежуточных состояний) не наблюдается. Даже наоборот, когда в незнакомом коде прыгаешь из функции в функцию (без возможности посмотреть промежуточный результат), то вообще теряешь нить. Так же при таком подходе сложнее вести лог. Идем дальше. Лисп. Метапрограммирование - где оно? Очень хочется писать программы так: - Лифт, ты будешь возить с этажа на этаж платформы. Сколько этажей не знаю, посчитай сам. - Шатл, ты будешь возить платформы с полки в лифт и обратно. Только не забудь проверять - если на платформе высокая машина (джип) - не ставь ее на низкую полку - сломаешь крышу. итп. Но почему-то до сих пор так не получается, хотя тут все теоретики отрицают прямую связь между возможностями процессора и программированием как таковым. В абстракцию ушли. Нет, теоретические изыскания это хорошо... даже очень хорошо... но они для меня (практика) подобны теоретическим изысканиям в области гиперпространства - пока корабли не бороздят просторы вселенной - значит, живем и решаем текущие проблемы без гиперпространства. Ну насамом деле, о чем вы говорите... Если бы Хаскель или Лисп позволяли писать так, как и не снилось ООП, и на "раз" решать проблемы, которые ООП не под силу (вот, оптимизация работы тех же шатлов в складе - много коллизий возникает) - разве их бы не использовали "программистские низы"? А если есть что-то, что снижает время разработки программ (и стоимость) - разве руководство компаний это не использует? Капитализм ведь везде... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 12:12 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
D129Когда использую в шарпе или с++ элементы функционального программирования - то есть, в параметр функции ставлю вызов другой функции, то заявленная в теории "легкость дебагирования" (из-за отсутствия промежуточных состояний) не наблюдается. Даже наоборот, когда в незнакомом коде прыгаешь из функции в функцию (без возможности посмотреть промежуточный результат), то вообще теряешь нить. Так же при таком подходе сложнее вести лог. ФП нужно применять или в праздничном наборе или не применять вообще. Каким образом то, что Вы куда-то передаете указатели на функции (или используете делегаты) гарантирует отсутствие побочных эффектов ? А ведь именно последнее, а не мифические "функции как полноправные объекты" и обеспечивает "заявленную легкость дебагирования". Возможно стоит иногда включать здравый смысл ? D129Метапрограммирование - где оно? Например, когда я вместо старого доброго копи-паста использую шаблон :) Или когда Схема преобразует: Код: plaintext 1. 2. 3. 4. в Код: plaintext 1. 2. 3. 4. 5. а каждый let затем в: Код: plaintext 1. Очень знаете-ли помогает Единственная цель метапрограммирования - уменьшить объем кода вводимого вручную и увеличить его понимабельность. D129 - Лифт, ты будешь возить с этажа на этаж платформы. Сколько этажей не знаю, посчитай сам. - Шатл, ты будешь возить платформы с полки в лифт и обратно. Только не забудь проверять - если на платформе высокая машина (джип) - не ставь ее на низкую полку - сломаешь крышу. А это уже называется DSL в чистом и неприкрытом виде. Например когда средствами метапрограммирования реализована система символьных вычислений с которой можно общаться на привычном и до боли родном языке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 13:05 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
zloy den XDiaBLo tIT-GPЖжоте! )) Аха, "Программирование" вообще моя любимая ветка, люблю холивары и всё такое, как-то даже прикольнее всяких башоргов бывает. Да и в споре постигается истина... Как правило, ничерта она не достигается-каждый остается при своем мнении Достигается, я не имел в виду что кто-то, кого-то в чём-то убедит. Я имел в виду что пока споришь, или наблюдаешь чужой спор, часто приходит понимание ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 13:37 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
D129Ну насамом деле, о чем вы говорите... Если бы Хаскель или Лисп позволяли писать так, как и не снилось ООП, и на "раз" решать проблемы, которые ООП не под силу (вот, оптимизация работы тех же шатлов в складе - много коллизий возникает) - разве их бы не использовали "программистские низы"? А если есть что-то, что снижает время разработки программ (и стоимость) - разве руководство компаний это не использует? Капитализм ведь везде... А вот дело то как раз в том, что все так думают, что раз не распространено, значит плохо, и даже не рассматривают. Кроме того на модные шняжки полно документации, а на редкую но мощную штуковину как-то поменьше. Не надо на толпу смотреть, мыж не животные, чтоб тупо за стадом плестись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 13:40 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Возможно стоит иногда включать здравый смысл ? Вы меня обижаете. :-( Как бы я программировал реал-тайм системы без включенного здравого смысла? По Вашему, я пытаюсь оценить разные языки и принципы с позиции практической пользы (даже экономической!) их применения, и делаю это "выключив здравый смысл"? Эх... Шаблонами не пользуюсь, и вот почему - когда система реальная, в ней нельзя выполнять действия, которые были допустимы в той, на основе которой был построен шаблон. То есть, от проэкта к проэкту шаблон будет меняться до неузнаваемости. Если же внешний компонент такой же (ничего не изменилось) то и код менять не надо - используем длл. Примеров на Схеме я не понял :-( - не владею языком ("Французкого не употребляю" (с) :-) ) Надо будет почитать что это такое. Капитализмус - не есть идея! Капитализмус - это чистоган! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 13:44 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
D129Вы меня обижаете. :-( Как бы я программировал реал-тайм системы без включенного здравого смысла? И в мыслях не держал Зачем мне Вас обижать ??? Просто напросто ВАШЕ ожидание гарантии отсутствия побочных эффектов из-за того, что Вы куда-то передали указатель на функцию или функтор, с позиций ВКЛЮЧЕННОГО здравого смысла выглядит странно. D129Шаблонами не пользуюсь, и вот почему - когда система реальная, в ней нельзя выполнять действия, которые были допустимы в той, на основе которой был построен шаблон. То есть, от проэкта к проэкту шаблон будет меняться до неузнаваемости. Тут ить от шаблона много зависит. Может быть просто не умеете готовить ? (из-за того что не пользуетесь). При всей своей несовершенности шаблоны C++ весьма мощная штука. Впрочем я говорил даже не о повторном использовании, а о рутинных повторах почти одинаковых повторов кода, которые часто приходится видеть. (Снова и в мыслях не держал Вас обидеть, не надо бряцать медальками, я ВАМ верю). DLL тоже хорошо, сам с удовольствием пользую (только при чем тут шаблоны ?) А вот если у вас где-то реализован собственный скриптовый язык (скажем для описания окошек), то это УЖЕ DSL, причем, даже если Вы никагда никагда не используете шаблонов И ничего научно-нового в этом нет (как и в статье) уже лет так ...цать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 13:56 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
XDiaBLo А вот дело то как раз в том, что все так думают, что раз не распространено, значит плохо, и даже не рассматривают. Кроме того на модные шняжки полно документации, а на редкую но мощную штуковину как-то поменьше. Не надо на толпу смотреть, мыж не животные, чтоб тупо за стадом плестись.[/quot] Как это никто не рассматривает? Я рассматриваю, Вы рассматриваете, разработчики редких штуковин - тоже реальные люди... Но зашел я на Мягкое введение в Хаскель почитал... нет у меня сейчас применения этому... все математические расчеты - на уровне 4 действий арифметики... грустно, но это так - а если и будет сложнее, то шарп посчитает, а мне на нем уже привычнее... Смотрите, к чему все идет - к програмистскому эсперанто, единому языку, чтобы он все мог и всем подходил. К таким выводам я прихожу... Если модные шняжки используют - значит они устраивают... Ну и я бы не стал употреблять в адрес программистов понятие "стадо" нет, не из-за политкорректности, а просто это не соответствует действительности - баран из стада выпрыгнуть не может, без стада он погибнет, а вот программисты иногда вырываются, и новые вещи делают. И новые способы ищут - вот Вы, например, никак не в стаде... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 14:04 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
D129Но зашел я на Мягкое введение в Хаскель почитал... нет у меня сейчас применения этому... Пример из жизни (про Схему правда, Хаскель для меня как то слишком): 1. Проектируется отказоустойчивый кластер (1 узел боевой, остальные горячего резерва). Требуется разработать хитрый протокол рукопожатия, гарантирующий, чтобы из любого положения, когда жив хотя бы один узел, боевым становился один и только один, а осталньные переводились в горячий резерв. Мозк начинает кипеть, а C++, при всех своих достоинствах, лаконичностью не страдает. Варианты реализации которые пишутся и переписываються совершенно не похожи друг на друга да и баги ловить тяжко, поскольку последовательность событий воспроизвести удается далеко не всегда. Берем схему и прежде чем бросаться кодить реализуем модельку , гораздо более лакончную чем любая из реализаций. На ней опробируем модельки различных реализаций протоколов. Более того, можно реализовать генератор всех возможных последовательностей событий, прогнать его через модельку и отловить некорректные конечные конфигурации. А когда все устаканится - переложить протокол на C++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 14:20 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) И в мыслях не держал Зачем мне Вас обижать ??? Просто напросто ВАШЕ ожидание гарантии отсутствия побочных эффектов из-за того, что Вы куда-то передали указатель на функцию или функтор, с позиций ВКЛЮЧЕННОГО здравого смысла выглядит странно. А, ну так я не про это говорил... это мне как раз ясно. Неясно выразился видимо. Выходит так, что побочные эффекты мне как раз нужны и полезны. По-опыту: в чужом коде несколько раз вытаскивал такие вложенные функции в локальную переменную, чтобы можно было не влезая внутрь (а иногда это невозможно - дллка) увидеть, что именно она вернула (или надо было в лог записать это промежуточное состояние). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 14:24 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35234630&tid=1345371]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
172ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 468ms |

| 0 / 0 |
