Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.119.118.99] |
|
Страницы: (16) 1 2 [3] 4 5 ... 15 16 все ( Перейти к последнему сообщению ) |
Сообщ.
#31
,
|
|
|
Сообщ.
#32
,
|
|
|
Цитата applegame @ Когда я задался таким же вопросом, то просто пошел и прочитал Learn You a Haskell for Great Good!, после чего немного поахал-поохал и пошел работать на тракторе. Бегло просмотрел напоминает логические языки типа пролога, с примесями embeded sql. У меня у одного такое ощущение,? Ну и разницы с явой-8 лямдами не увидел, таже дама только с другой прической , Ну и пока непонятно что с этим языком делать на практике, |
Сообщ.
#33
,
|
|
|
Цитата settler @ Цитата applegame @ Когда я задался таким же вопросом, то просто пошел и прочитал Learn You a Haskell for Great Good!, после чего немного поахал-поохал и пошел работать на тракторе. Бегло просмотрел напоминает логические языки типа пролога, с примесями embeded sql. У меня у одного такое ощущение,? Ну и разницы с явой-8 лямдами не увидел, таже дама только с другой прической , Ну и пока непонятно что с этим языком делать на практике, Императивный язык + элементы функционального программирования - это совсем не то же самое, что чистый функциональный язык. И никогда не будет тем же самым. Функциональный подход - это совершенно иной взгляд на структуру программы. На, тот же Haskell и Prolog чем-то похожи, но общего у них - это декларативный подход. В остальном они разные. |
Сообщ.
#34
,
|
|
|
Цитата Flex Ferrum @ И никогда не будет тем же самым. Функциональный подход - это совершенно иной взгляд на структуру программы. Это когда нету состояния обьекта, так я под веб пишу лет 10, там тоже нет состояние, У меня функциональный подход? , Да и где граница между новым подходом и тем что его придумали? как глобальное потепление |
Сообщ.
#35
,
|
|
|
Цитата settler @ Господи, Сирожа, не неси ерунды. ФП это не только иммутабельность и лямбды. Попробуй написать что-нибудь без циклов и без ветвлений. Это когда нету состояния обьекта, так я под веб пишу лет 10, там тоже нет состояние, У меня функциональный подход? , Да и где граница между новым подходом и тем что его придумали? как глобальное потепление |
Сообщ.
#36
,
|
|
|
Цитата applegame @ Цитата settler @ Господи, Сирожа, не неси ерунды. ФП это не только иммутабельность и лямбды. Попробуй написать что-нибудь без циклов и без ветвлений.Это когда нету состояния обьекта, так я под веб пишу лет 10, там тоже нет состояние, У меня функциональный подход? , Да и где граница между новым подходом и тем что его придумали? как глобальное потепление Вот да. У прожжённого императивщика вроде меня функциональные языки просто взрывают мозг. Два часа программирования - и мозги сворачиваются в трубочку. |
Сообщ.
#37
,
|
|
|
Пффф. Пять лет шаблонного метапрограмминга без буста, и вуаля.
Ну или пять лет Лиспа, кому как. |
Сообщ.
#38
,
|
|
|
Цитата Qraizer @ Пффф. Пять лет шаблонного метапрограмминга без буста, и вуаля. Ну или пять лет Лиспа, кому как. А на каком языке ты пишешь функциональщину? Мне опыт с шаблонами мало помогает. Я использую scala. Для себя редко играюсь с haskell'ем |
Сообщ.
#39
,
|
|
|
Цитата D_KEY @ Цитата Qraizer @ Пффф. Пять лет шаблонного метапрограмминга без буста, и вуаля. Ну или пять лет Лиспа, кому как. А на каком языке ты пишешь функциональщину? Мне опыт с шаблонами мало помогает. Я использую scala. Для себя редко играюсь с haskell'ем Мне вот тоже мало помог. Одно дело писать так строго определённую часть программы, совсем другое - всю. В конце концов на шаблонах серьёзная логика не наворачивается. Правда сейчас, с новым и будущим стандартом и продвинутыми constexpr'ами всё может несколько поменяться. |
Сообщ.
#40
,
|
|
|
Цитата applegame @ ФП это не только иммутабельность и лямбды. Попробуй написать что-нибудь без циклов и без ветвлений. А что только ? как ты это понимаешь? , только сам ,без ссылки на гугль или вики, Добавлено Цитата Flex Ferrum @ Правда сейчас, с новым и будущим стандартом и продвинутыми constexpr'ами всё может несколько поменяться. Новый стандарт даст возможнось эти самиые шаблоны дебагитровать? Че за любовь такая к метапрограмигу? В разработке апликаций шаблоны не очень то и нужны, разве чтоб написать свою инфраструктуру, тех что есть хватает с головой, Если пишешь свой компилятор, как Александреску для Фейсбука, тогда шаблоны - мощный инструмент, Добавлено Цитата D_KEY @ Я использую scala. Для себя редко играюсь с haskell'ем И много на ней систем крупный видел,? Какие сервера ее поддерживают ? |
Сообщ.
#41
,
|
|
|
Цитата Flex Ferrum @ Дык речь-то не о программе целиком была, а о "без циклов и ветвлений". Плюс полная иммутабельность на чистых функциях. Сначала жёстко, со временем привыкаешь.Мне вот тоже мало помог. Одно дело писать так строго определённую часть программы, совсем другое - всю. В конце концов на шаблонах серьёзная логика не наворачивается. А вообще, и целиком программы тоже были. Детские, конечно, но всё-таки. Добавлено P.S. А "серьёзная логика" – это какая? |
Сообщ.
#42
,
|
|
|
Цитата Qraizer @ Цитата Flex Ferrum @ Дык речь-то не о программе целиком была, а о "без циклов и ветвлений". Плюс полная иммутабельность на чистых функциях. Сначала жёстко, со временем привыкаешь.Мне вот тоже мало помог. Одно дело писать так строго определённую часть программы, совсем другое - всю. В конце концов на шаблонах серьёзная логика не наворачивается. А вообще, и целиком программы тоже были. Детские, конечно, но всё-таки. Добавлено P.S. А "серьёзная логика" – это какая? Ну, я ломал себе мозг парсингом текста и генерацией на базе полученного AST другого текста. Всё это на Haskell. |
Сообщ.
#43
,
|
|
|
Прикольно. А я – построением Matlab-моделей. Исполнение было, конечно, в рантайм.
|
Сообщ.
#44
,
|
|
|
Цитата applegame @ На самом деле я планировал свою фразу как беззлобное подтрунивание, но korvin в последнее время какой-то агрессивный стал. Раздражает в последнее время реакция людей на критику: я скинул ссылку по теме, а вместо нормального обсуждения получил смишные шутки. Добавлено Цитата settler @ Ну и разницы с явой-8 лямдами не увидел, таже дама только с другой прической Функция compose в Хаскелле: compose :: (a -> b) -> (b -> c) -> a -> c compose f g = \x -> f (g x) где запись \x -> f (g x) аналогичен Java'вской x -> f(g(x)) Покажи пример реализации этой функции на Java-8 с лямбдами. Ты можешь попробовать написать что-то вроде public static <A, B, C> Function<A, C> compose(Function<A, B> f, Function<B, C> g) { return x -> f(g(x)); } но этого будет сильно не достаточно, т.к. Consumer<T> — это не Function<T, Void> Supplier<R> — это не Function<Void, R> BiFunction<T1, T2, R> — это не Function<Pair<T1, T2>, R> Predicate<T> — это не Function<T, Boolean> IntBinaryOperator — это не Function<Integer, Integer> и так далее. Этих разных типов в java.util.function 21 штука, ЕМНИП. У каждого свои методы, не всегда совместимые друг с другом, поэтому писать обощённый функциональный код для всего этого зоопарка весьма затруднительно. Всё это подробно описано в статьях, ссылки на которые я давал ранее. С тем же успехом можно сравнивать ООП в Си и в каком-нибудь SmallTalk'е или Eiffel'е. Вот ещё про ФП: https://www.youtube.com/watch?v=E8I19uA-wGY |
Сообщ.
#45
,
|
|
|
P.S. Чуть не забыл: ссылки на методы, бросающие статически проверяемые исключения нельзя использовать в Stream API, потому что проверяемые исключения являются частью сигнатуры метода, а методы интерфейсов из java.util.function не бросают проверямые исключения, соответственно не совместимы с ними. Т.е., например, OutputStream.this::write — это не Consumer<byte[]>.
|