|
|
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
SiemarglGluk (Kazan), Не МУМПС, который и так почти дохлый, а идея доступа к данным из программы. Хорошо, начнем с другого конца=) Как, по вашему, должны хранить данные _большие_ программы на ФП? В БД (они знаете ли очень для этого подходят) а по вашему ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 13:09:47 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Nitro_JunkieНо кстати по вопросам параллелизма о котором тут параллельно спорят... Императивную программу реально очень тяжело распараллелить, в то время как распаралливание декларативной (функциональной) программы уже достаточно неплохо реализовано в существующих SQL-серверах. Там не распараллеливание, а оптимизация в полный рост. И не за счет декларативности, а за счет узкой сцепифичности задачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 13:11:00 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)SiemarglGluk (Kazan), Не МУМПС, который и так почти дохлый, а идея доступа к данным из программы. Хорошо, начнем с другого конца=) Как, по вашему, должны хранить данные _большие_ программы на ФП? В БД (они знаете ли очень для этого подходят) а по вашему ??? Я быстренько прочитал определения ФП итд и понял: 1. Все что было сказано выше мной, подходит только к параллельным вычислениям и к функциям без побочных эффектов - не более. 2. Как БД соотнесутся с ФП - вообще неизвестно, ибо в ФП отрицается сама идея состояний и постоянного хранения данных вычислений ((( 3. СУБД в их текущем состоянии с ФП ничего общего не имеют. Только несколько общематематических определений (декларативнсть итп) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 13:27:23 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Siemargl 2. Как БД соотнесутся с ФП - вообще неизвестно, ибо в ФП отрицается сама идея состояний и постоянного хранения данных вычислений ((( Зато БД прекрасно соотносятся с прикладными задачами, которые приходиться решать и ФП в том числе. Кстати, никто не отрицает необходимости долгосрочного хранения состояния. Что касается необходимости хранения оперативного состояния, на кой по вашему пришлось изобретать монады ??? Есть такая необходимость. И существование этой необходимости куда более определяющее, чем отношение к ней ФП. Практика - критерий истины ? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 13:37:46 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan), Распараллеливание один из видов оптимизации. Нифига себе узко-специфичная задача - все бизнес-решения и информационные системы :) Кроме того императивный алгоритм (то есть с if, while) по количеству абстракций проще чем SQL. А хорошо оптимизируется почему-то последний. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 15:22:49 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Nitro_Junkie Нифига себе узко-специфичная задача - все бизнес-решения и информационные системы :) Кроме того императивный алгоритм (то есть с if, while) по количеству абстракций проще чем SQL. А хорошо оптимизируется почему-то последний. Именно узко-специальная. И именно поэтому SQL не является универсальным языком программирования. И именно это позволяет оптимизировать запрос, т.е. перебирать возможные варианты его выполнения (базовых методов доступа не много, вариантов их последовательного выполнения существенно больше) и в рамках этого параллелить какие-то обращения к данным (что безусловно является очень частной задачей в рамках оптимизации). А бизнес-решения кстати пишутся не на SQL, а на универсальных ЯП (C# например или PL/SQL), SQL для этого совершенно очевидно недостаточен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 15:32:05 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan), А можно узнать что вы имеете ввиду под универсальным языком программирования? Полнотой по Тьюрингу он обладает. Да, он меньше подходит под одни задачи (UI на нем тяжело запрограммировать), но хорошо подходит под другие... Строго говоря UI делать и на if'ах и while'ах без вспомогательных библиотек (неважно в какой парадигме) также невозможно. В любом случае вы почему-то считаете что SQL проще структурного кода, что явно не так. Грамматика первого состоит где-то из правил 5-10, а грамматика второго в несколько раз больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 16:20:19 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
В смысле наоборот второго и первого соответственно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 16:25:49 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Когда Вы говорите, у меня такое впечатление, что вы бредите (c) Nitro_Junkie А можно узнать что вы имеете ввиду под универсальным языком программирования? Полнотой по Тьюрингу он обладает. Доказательство полноты по Тьюрингу будет ? Про какой SQL говорим ? Фраза MODEL Oracle ??? Nitro_Junkie Да, он меньше подходит под одни задачи (UI на нем тяжело запрограммировать), но хорошо подходит под другие... Строго говоря UI делать и на if'ах и while'ах без вспомогательных библиотек (неважно в какой парадигме) также невозможно. тяжело ? т.е. возможно ??? Валяй, интересно будет посмотреть Наверное системное программирование на SQL это тоже тяжело ??? SQL это в чистом виде DSL, придуманный когда самого термина DSL еще небыло. Это проблемнно-ориентированный язык, а не язык программирования Nitro_Junkie В любом случае вы почему-то считаете что SQL проще структурного кода, что явно не так. Грамматика первого состоит где-то из правил 5-10, а грамматика второго в несколько раз больше. Не понел ? Из с чего вообще взялось сравнение проще-сложнее ??? Грамматику чего с чем меряем ??? Как будем поступать с семантикой ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 17:09:50 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan), SQL - 1999 (с появлением рекурсивных CTE), полон по тьюрингу, легко построить отображение на частично-рекурсивные функции... уже обсуждалось, не будем повторяться, гугл в помощь... Вот на SQL - 2008 (впрочем можно и на 1999) сделано отображение множество Mandelbrot'а Я вообще имел ввиду теоретически можно, и не спорю что структурное программирование больше подходит для системного программирования. Но у вас логика, раз на феррари не проедешь по лесу значит феррари не машина, в отличии от лэндкруйзера на котором проедешь. Грамматику SQL, с грамматикой структурного программирования по количеству правил. А уж семантика структурного программирования так точно проще семантики SQL... Но нет последний все равно лучше оптимизируется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 17:26:36 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Nitro_JunkieGluk (Kazan), SQL - 1999 (с появлением рекурсивных CTE), полон по тьюрингу, легко построить отображение на частично-рекурсивные функции... уже обсуждалось, не будем повторяться, гугл в помощь... Если сто раз сказать мед, сладко не станет Доказательства полноты по Тьюрингу в студию (только доказательства, а не домыслы, как в прошлый раз). И не сферического CTE, а конкретной реализации CTE Nitro_Junkie Грамматику SQL, с грамматикой структурного программирования по количеству правил. А уж семантика структурного программирования так точно проще семантики SQL... Но нет последний все равно лучше оптимизируется... Давай с этого места поподробнее. Что такое грамматика и семантика "структурного программирования" ??? PL/I аль Си имеешь в виду ??? Али Пасквиль с Адой ? Впрочем, грамматики в студию, пустозвон вы наш, строки считать бум ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 17:31:17 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan), Если у вас плохо с образованием, вам не читали теорию грамматик, и вы даже не понимаете что именно я имею ввиду под структурным программированием и его грамматикой (и конкретный синтаксис тут роли не играет), то я вам ее рисовать здесь не буду, воспользуйтесь поиском... Теория алгоритмов, теория вычислимости, частично-рекурсивные функции и т.п. тоже видимо прошли мимо вас... Но проблема в том, что у вас плохо не только с образованием, но и с абстрактным мышлением, вы за деревьями не видите леса... А вот в этом вам уже никто не поможет, поэтому "спор" с вами будем считать законченым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 17:52:42 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Ребята, давай сворачивать обсуждение SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 17:56:14 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Nitro_JunkieGluk (Kazan), Если у вас плохо с образованием, вам не читали теорию грамматик, и вы даже не понимаете что именно я имею ввиду под структурным программированием и его грамматикой (и конкретный синтаксис тут роли не играет), то я вам ее рисовать здесь не буду, воспользуйтесь поиском... Теория алгоритмов, теория вычислимости, частично-рекурсивные функции и т.п. тоже видимо прошли мимо вас... Но проблема в том, что у вас плохо не только с образованием, но и с абстрактным мышлением, вы за деревьями не видите леса... А вот в этом вам уже никто не поможет, поэтому "спор" с вами будем считать законченым. А не растекаясь мыслию по древу ? Я тебя попросил две сугубо конкретные вещи, в доказательство твоих же слов: 1. Реализацию машины Тьюринга на SQL (коея как правило и принимается за доказательство (не знал ? будешь знать )) 2. Ссылки на грамматики SQL и ... скажем C++ :) не буду тебя на PL/I посылать. С целью сравнения их объема. А в ответ бла бла бла, уши вянут. Найдешь приходи. Хоть в отдельную тему, хоть ко мне в почту. А здесь с SQL-ем больше не мелькай, надоело ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 18:02:38 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan), Не смешите людей своей безграмотностью... 1. Для доказательства полноты по Тьюрингу, достаточно показать эквивалентность одному из множеств вычислимых функций. И для декларативных формализмов, это проще делать сравнивая с частично-рекурсивными функциями для которых уже доказана полнота по тьюрингу. И вообще полнота по Тьюрингу напрямую не связана с машиной Тьюринга, как и машиной Поста и т.п. 2. Открываем документацию по ораклу или MSSQL и смотрим.. Для вас конечно будет откровением что та странная форма из квадратных скобочек, вертикальных стрелочек и есть один из видов задания грамматики (с определенными оговорками), но к вашему невеждеству думаю уже все привыкли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 18:25:31 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Кстати с какого боку тут C++, максимум C и то без дополнительных наворотов типа макросов и т.п. If, while, массивы, операторы присваивания, сравнения, функции и может struct'ы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 18:42:00 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
mayton mikhail_nЗайди на сайт Сана, посмотри чего делает свич -xautopar Сановского C/C++ компилятора и да снизойдёт на тебя просветление. И что, это таки серебрянная пуля, которая решит все проблемы параллелизма? Да какая там {censored} серебрянная пуля! Вот как раз из-за того что сам компилятор без постороннего вмешательства программиста практически ничего сложнее чем примитивные циклы попадающие под категорию embarrassingly parallel code автоматически распарралелить не может и возникла такая фигня как OpenMP (ну это такая моя версия). Но говорить что современные компиляторы C/C++ не могут автоматически находить и параллелить куски кода которые очевидно могут быть распараллелены - неверно. А поскольку я не верю в то что такое положение дел с автоматическим распараллеливанием есть результат того, что люди пишущие сишные компиляторы для Сана умишком слабоваты, то я весьма скептически отношусь к тому, что в ф.п. достижим какой то прорыв в этой области только за счёт "чистоты" функций и "применения абстракций очень высокого уровня", хотя и то и другое есть гуд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 19:41:45 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
mikhail_nпостороннего вмешательства программиста практически ничего сложнее чем примитивные циклы попадающие под категорию embarrassingly parallel code автоматически распарралелить не может Вопрос: может ли такой компилятор распараллелить цикл, в котором происходит вызов функции? То есть какой цикл является примитивным, а какой - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 23:07:17 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Siemargl 2. Как БД соотнесутся с ФП - вообще неизвестно, ибо в ФП отрицается сама идея состояний и постоянного хранения данных вычислений ((( в ФП не отрицается наличие состояний. Просто состояние должно быть передано в функцию и новое состояние явно возвращено. Доходит до того, что передают состояние всего мира в качестве параметра функции (язык clean) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. в результате состояние только там, где оно нужно. 3. СУБД в их текущем состоянии с ФП ничего общего не имеют. Только несколько общематематических определений (декларативнсть итп) ну основной принцип лежащий в основах ФЯ - это то, что программа - это комбинация чистых функций. селекты и апдейты очень похожи на комбинацию функций относительно отношений и скаляров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 23:41:42 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)А Вам новичков почти удалось ввести в заблуждение. Извиняюсь, если кого-то ввел в заблуждение, я в параллельностях сам новичек :) Интересно было бы заслушать человека, который практически со всем этим поработал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 23:48:08 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Nitro_Junkie Да, он меньше подходит под одни задачи (UI на нем тяжело запрограммировать), но хорошо подходит под другие... Строго говоря UI делать и на if'ах и while'ах без вспомогательных библиотек (неважно в какой парадигме) также невозможно. тяжело ? т.е. возможно ??? Валяй, интересно будет посмотреть что, то типа Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 23:58:03 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Nitro_Junkie 1. Для доказательства полноты по Тьюрингу, достаточно показать эквивалентность одному из множеств вычислимых функций. И для декларативных формализмов, это проще делать сравнивая с частично-рекурсивными функциями для которых уже доказана полнота по тьюрингу. 1. Валяй, так тоже можно. Жду доказательство 2. И не забудь про грамматики :) жду ссылок на то что будем сравнивать (чтобы потом не отперся) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2010, 07:30:30 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Nitro_JunkieКстати с какого боку тут C++, максимум C и то без дополнительных наворотов типа макросов и т.п. If, while, массивы, операторы присваивания, сравнения, функции и может struct'ы. Странно :) А почему не PL/I ??? SQL то Вы самый навороченный предлагаете взять, а язык уровня 70 года. Ай яй яй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2010, 07:31:47 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
beluginGluk (Kazan)А Вам новичков почти удалось ввести в заблуждение. Извиняюсь, если кого-то ввел в заблуждение, я в параллельностях сам новичек :) Интересно было бы заслушать человека, который практически со всем этим поработал. Давай без обид :) Просто хлебнуть этого г действительно пришлось и после этого раздражают восторженные реплики, ах чистые функции, ах автоматически распараллелится, ах возьмем Quicksort, смотрите как все легко Не фига не легко и люди над этим не первый год бьются, и польза от параллельности во многих случаях не очень очевидна, зато вред весьма заметен. Мы например у себя вообще пришли к тому что многопоточность зло (иногда неизбежное). Пообщаться конечно можно, но это скорее под пиво разговор чем под форум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2010, 07:39:27 |
|
||
|
Функциональное программирование
|
|||
|---|---|---|---|
|
#18+
Январский рейтинг языков программирования "...Соотношение объектно ориентированных языков к процедурным составляет 54,6% к 41,5%, а на долю функциональных и логических языков приходится по 2,8% и 1,1% ...." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2010, 11:57:40 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36436036&tid=1343707]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
176ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 435ms |

| 0 / 0 |
