powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Функциональное программирование
25 сообщений из 300, страница 11 из 12
Функциональное программирование
    #36442439
Nitro_Junkie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диез,

Там частный случай List'а решен, и то в каком-то странном виде. А что делать с Map'ами и т.д.? Тогда уж 1С почитайте, регистры сведений, накоплений и вообще документы... Но им обоим до уровня декларативности хотя бы SQL как до луны пешком...
...
Рейтинг: 0 / 0
Функциональное программирование
    #36442644
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nitro_JunkieДиез,

Там частный случай List'а решен, и то в каком-то странном виде. А что делать с Map'ами и т.д.?

Не понял вопроса..
Map (в .NET - Dictionary) - тоже некоторая коллекция, почему бы с ней не работать через Linq?
...
Рейтинг: 0 / 0
Функциональное программирование
    #36442741
Nitro_Junkie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диез,

Долго объяснять, но прямого маппинга на SQL не будет. То есть не пробовал, но запросы явно как в Hibernate'е много по чуть-чуть, борьба за скорость превысит пользу от использования (если конечно не очень простые приложения).

ЗЫ. Посмотрел описание с примерами, там вся технология - "синтаксический" сахар + ORM...
...
Рейтинг: 0 / 0
Функциональное программирование
    #36442975
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nitro_JunkieДиез,

Долго объяснять, но прямого маппинга на SQL не будет. То есть не пробовал, но запросы явно как в Hibernate'е много по чуть-чуть, борьба за скорость превысит пользу от использования (если конечно не очень простые приложения).

ЗЫ. Посмотрел описание с примерами, там вся технология - "синтаксический" сахар + ORM...

Вы, наверное, путаете LinqToObjects и LinqToSQL. У них синтаксис одинаковый, но внутри принципиально разные технологии.

LinqToSQL - генерация SQL-запросов из кода C#/VB.NET с помощью AST-преобразований. Удобно иногда, но по сути тот же ОРМ, как вы и заметили.

LinqToObjects - операции с произвольными коллекциями не через итерации, а с помощью декларативных запросов:

Код: plaintext
1.
2.
3.
newList = from item in oldList
          where item.Amount > 10 
          orderby item.Name 
          select item;

Компилятор превращает запрос вот в это:

Код: plaintext
1.
var newList = oldList.Where(item => item.Amount > 10).OrderBy(item => item.Name);

где Where и OrderBy - обычные библиотечные функции.
...
Рейтинг: 0 / 0
Функциональное программирование
    #36443188
antares0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вобщем не куда и не уходил.
Просто смысла в обсуждении функциональности sql-а, особенно таком, не вижу.
Ggg_old
Лично мне все-таки не очень понятно, как из таких строительных кирпичиков как:
лямбда функции, замыкание, рекурсия можно писать ПО "завтрашнего дня".

Ну лямбды и компания скорее соотвествуют if-аим, прцедурам, объектам. Великой абстракции они не несут.
Что интересного можно построить? Я уже говорил об алгебре которая позволяет решать задачки. Лямбда-исчисление это алгебра позволяющая решать программы. Преобразовывать не текст программы, как делает сишный макропроцессор, а сам алгоритм.

Пока я вижу, что декларативности, как это есть в SQL этот подход не несет. Моя чуйка подсказывает, что большое будущее все-таки за декларативным подходом и ФП скорее занимает промежуточное положение между императивным подходом и декларативным. Очень бы хотелось увидеть что-то вроде книги GoF но для ФП.

А какая декларативность есть в SQL? В прошлый раз я спрашивал, что именно ты хочешь обобщить и абстрагировать с помощью ФП? Попробуй ответить на эти вопросы, и будет виден путь куда говорить дальше.
Заметь в прошлом посте я пытался показать почему декларативность SQL такая. Попробуй применить такую логику. Вобще в твоих вопросах не видно откуда? и куда? Есть только большие транспоранты ФП, Декларативность. Без контекста они сильно лучше Коммунизма-Капитализма.

Пока в нете есть хорошая статья в последнем номере журнала fprog.ru, с первого раза не понял многого, буду перечитывать еще.
Статья скорее большая и обзорная. Там вобщем-то нет ответов на твои вопросы (насколько я их понимаю). Я ее подкинул что-бы не зацикливался на лямбдах и рекурсии.

GOF это все же про "ООП головного мозга" и как с этим жить. Но это лично мое мнение.
...
Рейтинг: 0 / 0
Функциональное программирование
    #36443741
Nitro_Junkie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диез,

Хм... Забавно, хотя и все равно не совсем понятно для чего использовать, все-таки .Net не постоянно хранимая, поэтому в коллекциях обычно лежат временные данные из БД, и отбор по ним изначально должен делаться в БД (иначе тормозить будет)...
...
Рейтинг: 0 / 0
Функциональное программирование
    #36443889
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати насчет хибернейта-если бы копнули чуть глубже, то можно было бы найти возможность избежать кучи мелких запросов. Можно выбрать или ленивую загрузку, или наоборот все в один вопрос запихнуть с помощью настроек фетчинга. Мы сейчас прикрутили NHibernateLambda (или как-то так), так что сейчас наши запросы все типизированы и в случае изменения названия полей в классах ничего не полетит. Эдакий типизированный аналог SQL.
...
Рейтинг: 0 / 0
Функциональное программирование
    #36445307
Фотография Пилотажный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Известный тезис, что торжество императивных языков вызвано было последовательными архитектурами. Но послед. арх-ры нормально уходят в прошлое.
А вот разностная машина Чарльза Бэббиджа имела в общем параллельную архитектуру (по историч. сведениям). Метод конечных разностей просто распараллеливается. Причем если работу машины представить программно, то это программа стиля ФП: вычисление значения функции по другому значению этой же функции и пр.

То есть, когда придет пора всё распараллеливать, то императивные языки, да с наворотами ООП, будут выглядеть несимпатично.
...
Рейтинг: 0 / 0
Функциональное программирование
    #36445751
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю, что переход к труЪ-функциональным языкам в mainstream будет очень тяжёлым. Для меня, как для "махрового" практика много неясностей в плане практического применения ФП. Здесь всё и IO* и Network* и прочие system*, RDBMS* -"головняки" без которых ФП-платформа будет "сферическим конём" или "вещью в себе". Много также вопросов чисто технологических. Как то-да сё да пятое десятое? Как дебажить, как трассировать, как ловить эксцепшены и сопрягаться с kernel.

Хотя, этот тяжёлый переход будет постепенно облегчён. Возможно, в ближайшем будущем впихнут во все языки работу с closures, со списками и скажут-де "нахера вам этот Лисп и Хаскель?" возьмите наш X-ТруЪ-Чудо-lang и будет вам синтетическое щастье! Аллилуйя братия!!
...
Рейтинг: 0 / 0
Функциональное программирование
    #36446119
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Хотя, этот тяжёлый переход будет постепенно облегчён. Возможно, в ближайшем будущем впихнут во все языки работу с closures, со списками и скажут-де "нахера вам этот Лисп и Хаскель?" возьмите наш X-ТруЪ-Чудо-lang и будет вам синтетическое щастье! Аллилуйя братия!!

А что, разьве это не так с C#? Тенденция вполне очевидна.
...
Рейтинг: 0 / 0
Функциональное программирование
    #36446299
Nitro_Junkie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В контексте поста mayton, не совсем понимаю, если исключить декларативность (которой де-факто в текущих "функциональных" языках нету) как это предполагают многие участники треда, что такого волшебного в функциональном программировании что существенно облегчает работу? Да нету этого дебилизма с привязкой метода ровно одному объекту, но без множественной диспетчеризацией и с нарушением модульности жить можно... А какая практическая польза от лямбда-исчисления (каррирования в частности) для меня загадка.... Точнее передачу\возврат функций и так можно решать передачей адресов функций как в C или в виде скажем анонимных классов, которые для восприятия даже проще...
...
Рейтинг: 0 / 0
Функциональное программирование
    #36446387
Фотография Пилотажный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nitro_Junkie декларативность (которой де-факто в текущих "функциональных" языках нету) как это предполагают многие участники
...
А какая практическая польза от лямбда-исчисления (каррирования в частности) для меня загадка....

Практическая польза такая же как и от машины Тьюринга. Это очень эффектная остроумная вычислительная модель, при теоретической пользе которой создаются ФЯ.

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

P.S. Ответить - это сформулирвать что-то и для самого себя.
...
Рейтинг: 0 / 0
Функциональное программирование
    #36446446
Nitro_Junkie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пилотажный,

Так в чем эта польза отражена в ФЯ?

То есть получается что все существующие языки (за исключением SQL :) ) отличаются друг от друга "синтаксическим" сахаром. И борьба идет только за то кто меньше букв напишет, и у кого красивее код будет смотреться. Такое развлечение для эстетов?
...
Рейтинг: 0 / 0
Функциональное программирование
    #36446464
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nitro_Junkie
То есть получается что все существующие языки (за исключением SQL :) ) отличаются друг от друга "синтаксическим" сахаром. И борьба идет только за то кто меньше букв напишет, и у кого красивее код будет смотреться. Такое развлечение для эстетов?

Меньше букв - меньше возможностей написать не ту букву и больше свободного времени для других задач
...
Рейтинг: 0 / 0
Функциональное программирование
    #36446473
Фотография Пилотажный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nitro_JunkieПилотажный,

Так в чем эта польза отражена в ФЯ?

То есть получается что все существующие языки (за исключением SQL :) ) отличаются друг от друга "синтаксическим" сахаром. И борьба идет только за то кто меньше букв напишет, и у кого красивее код будет смотреться. Такое развлечение для эстетов?

Хм. Интерпретируются, транслируются, ... иначе. Компьютер иначе работает. Разный синтаксический сахар имеет разную цену.

:) "Как корабль назовешь - так он и поплывет".
...
Рейтинг: 0 / 0
Функциональное программирование
    #36446474
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)
Меньше букв - меньше возможностей написать не ту букву и больше свободного времени для других задач

Мммм, в данной формулировке позволю себе не согласиться. Меньше лексем-возможно. Но никак не меньше букв
...
Рейтинг: 0 / 0
Функциональное программирование
    #36446533
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Nitro_Junkie
То есть получается что все существующие языки (за исключением SQL :) ) отличаются друг от друга "синтаксическим" сахаром. И борьба идет только за то кто меньше букв напишет, и у кого красивее код будет смотреться. Такое развлечение для эстетов?

Меньше букв - меньше возможностей написать не ту букву и больше свободного времени для других задач

+1

Добавлю от себя: меньше возможности выстрелить себе в ногу :)
...
Рейтинг: 0 / 0
Функциональное программирование
    #36446545
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zloy denGluk (Kazan)
Меньше букв - меньше возможностей написать не ту букву и больше свободного времени для других задач

Мммм, в данной формулировке позволю себе не согласиться. Меньше лексем-возможно. Но никак не меньше букв

вырываешь из контекста было сказано:

автор
И борьба идет только за то кто меньше букв напишет, и у кого красивее код будет смотреться


Соответственно и ответ был на тему, что меньше и красивее (пусть даже и букв) это вполне себе весомые экономические плюсы.

С чем кстати можно и поспорить. Меньше букв (или пусть даже лексем) не значит понятнее (вспоминаем J, взрагиваем), но ... мы с коллегой сложность языков ведь объемом их грамматик меряем ;)
...
Рейтинг: 0 / 0
Функциональное программирование
    #36446551
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, меньше и красивее меня вполне устраивает
...
Рейтинг: 0 / 0
Функциональное программирование
    #36446599
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zloy denЛадно, меньше и красивее меня вполне устраивает

Только вот все дело в том, что красота штука субъективная
Некоторым красивым кажется J, а некоторым построение "частично рекурсивных функций" на конечных множествах.
...
Рейтинг: 0 / 0
Функциональное программирование
    #36446634
Nitro_Junkie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пилотажный,

Но все равно синтаксический сахар... Сколько не спорить, у кого коврики в машине красивше, при расстоянии больше 200 км все равно лучше лететь на самолете :)
...
Рейтинг: 0 / 0
Функциональное программирование
    #36446696
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nitro_JunkieТо есть получается что все существующие языки (за исключением SQL :) ) отличаются друг от друга "синтаксическим" сахаром. И борьба идет только за то кто меньше букв напишет, и у кого красивее код будет смотреться. Такое развлечение для эстетов?
100%. Причём самые злостные эстеты - это Паскалисты. Сам видел исходнички, где begin-end пишут с большой буквы.
...
Рейтинг: 0 / 0
Функциональное программирование
    #36446706
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nitro_JunkieПилотажный,

Но все равно синтаксический сахар... Сколько не спорить, у кого коврики в машине красивше, при расстоянии больше 200 км все равно лучше лететь на самолете :)

Ну, раз пошли такие сравнения... коврики..
Если "сахар" - это климат/круиз-контроль, GPS и прочая и прочая, то можно и на машине :) Может будет не так быстро, но дешевле и даже комфортнее.
...
Рейтинг: 0 / 0
Функциональное программирование
    #36446716
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Меньше букв - меньше возможностей написать не ту букву и больше свободного времени для других задач
Я-бы сказал - всё идёт от "лени" разработчика.
...
Рейтинг: 0 / 0
Функциональное программирование
    #36446725
Nitro_Junkie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диез,

Ну если расстояние от 1000 км то не комфортнее, а больше 3000 км и не дешевле...

Кто не въехал, самолет - декларативное программирование, машина - императивное...
...
Рейтинг: 0 / 0
25 сообщений из 300, страница 11 из 12
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Функциональное программирование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]