Вы не вошли.
Граждане!
У кого есть опыт работы с этим чудом, выскажитесь плиз.
Это действительно круто, как об этом говорят, или все-таки больше понт?
Уважаемые те, кто не работал с ФЯ - большая просьба, не флудить. Копипаста также не интересует, хочется послушать тех, кто реально это дело щупал.
"Фу бля, крохобор вонючий" (с) Svart Testare
Вне форума
Это действительно круто, как об этом говорят, или все-таки больше понт?
В Питоне элементы функционального кодинга порой позволяют резко сократить объем кода и сделать его более читабельным. Но написание большого приложения полностью на ФЯ требует полного переключения сознания на стиль ФЯ. Говорить о том, что ФЯ типа silver bullet - думаю глупо, т.к. ООП для сложных архитектур ИМХО более приемлема.
Отредактировано Linfan (24-09-10 14:54:47)
"но в отличие от вас не стремлюсь здесь перед всеми показаться умнее всех"
"Ну здесь много мосек, что ж поделаешь."
"народ после общения со мной умнеет что ли, становится более бдительным в сети"
(с) Великий Человек
Вне форума
В двух словах.Местами чистый ФЯ в разы удобнее.Писать лексеры - одно удовольствие.
А вот если программа занимается активным и сложно структурированным вводом-выводом это ад.
Потому что, сколько ты не устаривай слой монадического ввода-вывода все равно какая-нибудь мерзкая зависмость от глобального состояния вылезет.
Анархия-мама сынов своих любит
Вне форума


На функциональщине денег не заработает, изучается очень трудно, один язык не похож на другой (как с явы можно легко перейти на шарп), отсутствуют нормальные среды разработки, нету нормальных библиотек, и еще раз, очень трудно изучается, так как в хаскеле a = a + a не совсем тоже самое, что и в шарпе, это рекурсивный вызов функции, в общем - закопать и не нужно. А если очень хочется функциональщины, используем руби:
((double = -> x { (x*x) };) print(double.(10)))Удовлетворен GNU/Linux (с) Linups_Troolvalds
13-значный пароль, состоящий из одних цифр, ломается за полчаса (с) Rector. Авторитетный Хакер у себя в классе
Я тебя просто отсюда выпилю. (с) Рехтур. Взламывает анусы по ойпи.
Вне форума


отсутствуют нормальные среды разработки
=
Нету Вижуал Студии
Вне форума


Как я понимаю функциональные языки проще в том плане, что у них спецификация в разы меньше? Если не ошибаюсь полное описание Хаскеля занимает всего 100 страниц. Только компенсируется это тем, что нужно иметь строго математическую манеру мышления чтобы понимать их лексику.
Я правильно понимаю?
Вне форума


30-09-11 17:03:54 SemyonKozakov пишет:
Babusha, утихомирься! Сам же знаешь, чем подобное для тебя в прошлый раз кончилось. Бан на три дня. Прошу тебя за этот срок обдумать, нужно ли подобным образом засорять ветки форума.
Да успокойся ты уже, в этом посте нет троллинга.
Я не игрушечный. Я, б*я, коллекционный! (с) Duke Nukem Forever
Я не специалист по [вставить название]. Мне главное концептуально решить задачу! (с) АхаRu.
Линукс - это альтернативная ОС о которой известно, что она не является ОС ну вот просто ни разу. (с) Linups_Troolvalds.
А с какого такого перепугу пользователей линукса должно быть больше 1%? (с) petrun
Вне форума
Нету Вижуал Студии
Вы будете смеяться, но есть. F#, например.
Вне форума


Вы будете смеяться, но есть. F#, например.
F#, сука, забавный (с). Имея полную интеграцию с плюшками .NET, например, он может работать полностью под silverlight или, что еще забавнее, WPF.
Возможностью такой интеграции (нативного использования прямо из языка) с такого рода средствами ни один другой функциональный язык в мире в данный момент времени похвастаться не может...
Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.
Вне форума


Tiphon
Вот только F#, как и ML, не чистый ФЯ.
Анархия-мама сынов своих любит
Вне форума


=
Нету Вижуал Студии
F# есть.
Добавлено спустя 10 ч 13 мин 49 с:
nesteruk.wordpress.com/2011/02/05/are-f … an-csharp/
Удовлетворен GNU/Linux (с) Linups_Troolvalds
13-значный пароль, состоящий из одних цифр, ломается за полчаса (с) Rector. Авторитетный Хакер у себя в классе
Я тебя просто отсюда выпилю. (с) Рехтур. Взламывает анусы по ойпи.
Вне форума


exception LexerException of string
let lexer_token_safe lexbuf =
try Lexer.token lexbuf
with Failure s -> raise (LexerException s)
let render tmppath finalpath tree =
let outtex = Util.mapjoin Texutil.render_tex tree in
let md5 = Digest.to_hex (Digest.string outtex) in
begin
let mathml = Mathml.render tree
and html = Html.render tree
in print_string (match (html,!Html.conservativeness,mathml) with
None,_,None -> "+" ^ md5
| Some h,Html.CONSERVATIVE,None -> "c" ^ md5 ^ h
| Some h,Html.MODERATE,None -> "m" ^ md5 ^ h
| Some h,Html.LIBERAL,None -> "l" ^ md5 ^ h
| Some h,Html.CONSERVATIVE,Some m -> "C" ^ md5 ^ h ^ "\000" ^ m
| Some h,Html.MODERATE,Some m -> "M" ^ md5 ^ h ^ "\000" ^ m
| Some h,Html.LIBERAL,Some m -> "L" ^ md5 ^ h ^ "\000" ^ m
| None,_,Some m -> "X" ^ md5 ^ m
);
Render.render tmppath finalpath outtex md5
endКод на функциональном языке. ВООБЩЕ НИХЕРА непонятно, как на _ЭТОМ_ вообще можно писать? Глаза сломаешь просто, вот по этому, F#, в основе которого OCaml и загибается из за ненужности. Перл и мой бенифак просто героем выразительности, чистоты синтаксиса и понятности кажется!
Отредактировано Luca (09-10-11 17:25:14)
Прошу поменьше мата
Удовлетворен GNU/Linux (с) Linups_Troolvalds
13-значный пароль, состоящий из одних цифр, ломается за полчаса (с) Rector. Авторитетный Хакер у себя в классе
Я тебя просто отсюда выпилю. (с) Рехтур. Взламывает анусы по ойпи.
Вне форума


Перепиши на руби, тогда и говори.
Как я могу это переписать, если я не могу разобрать этого говнокод?
Удовлетворен GNU/Linux (с) Linups_Troolvalds
13-значный пароль, состоящий из одних цифр, ломается за полчаса (с) Rector. Авторитетный Хакер у себя в классе
Я тебя просто отсюда выпилю. (с) Рехтур. Взламывает анусы по ойпи.
Вне форума


Babusha, поясни, почему ты считаешь функциональные языки плохими. Аргумент нипаняятнаа прошу не приводить, так как понятность программного кода зависит от опыта программиста.
Из за огромного порога вхождения из за глупого синтаксиса, основанного на фанатическом "функциональном" стиле, который якобы наиболее близкий к математике. К примеру, моим первым языком был Си (ну я его знал совсем поверхностно), потом я выучил руби, после этого я без затруднений понимал PHP, Perl, Python, Java, C# и куча еще, как видишь, я когда взялся за C# совсем крепко, решив писать компилятор и виртуальную машину для бреинфака, он мне дается очень просто, а все мои знания основаны на простом синтаксисе руби и си. Я так смогу изучать просто функциональный язык?
Отредактировано Babusha (09-10-11 20:44:05)
Удовлетворен GNU/Linux (с) Linups_Troolvalds
13-значный пароль, состоящий из одних цифр, ломается за полчаса (с) Rector. Авторитетный Хакер у себя в классе
Я тебя просто отсюда выпилю. (с) Рехтур. Взламывает анусы по ойпи.
Вне форума


Babusha, поясни, почему ты считаешь функциональные языки плохими. Аргумент нипаняятнаа прошу не приводить, так как понятность программного кода зависит от опыта программиста.
Поддержу предыдущего оратора. В "стандартных" ЯП синтаксис команд как можно сильнее приближен к разговорному языку. А в функциональных получается, извините, хрень. Я, конечно, понимаю что таким образом экономятся сотни строк "ненужного" кода, но всё это идёт в ущерб читаемости этого самого кода. Современные же IDE позволяют не обращать внимание на "многабукафф", так как во всех них есть автоподстановка как единичных команд, так и целых стандартных блоков кода. А эффективность оптимизации исполняемого кода уже давно зависит не от программиста, а от компилятора.
Я не игрушечный. Я, б*я, коллекционный! (с) Duke Nukem Forever
Я не специалист по [вставить название]. Мне главное концептуально решить задачу! (с) АхаRu.
Линукс - это альтернативная ОС о которой известно, что она не является ОС ну вот просто ни разу. (с) Linups_Troolvalds.
А с какого такого перепугу пользователей линукса должно быть больше 1%? (с) petrun
Вне форума


Из за огромного порога вхождения
Неправда ваша. Моим первым самостоятельно изученным языком был Scheme (классический ФЯ с мозгоразрывным синтаксисом). Выучил на вполне неплохом уровне за полтора-два месяца попутно с пинанием баклуш на форумах.
из за глупого синтаксиса
Чем же он так туп?
я выучил руби, после этого я без затружднений понимал PHP, Perl, Python, Java, C# и куча еще
На уровне реализации "Hello World"? В этом нет особой заслуги. Чтобы понимать язык чуть глубже, нужно вникнуть в его тонкости. Можете проверить и портануть какой-нибудь ваш код с руби на жабу ту же. Узнаете много нового.
А в функциональных получается, извините, хрень.
Мне после начала изучения Python и Java все больше и больше нравится синтаксис Scheme. Он красив. В нем подход к любому оператору всегда унифицирован и выглядит как вызов функции. В то время как в других языках городится целое скопище синтаксических конструкций. Да и с практикой синтаксис любьго языка будет понятен.
We'll force you to be nice to each other
Kill you before you kill each other
Вне форума


Неправда ваша. Моим первым самостоятельно изученным языком был Scheme (классический ФЯ с мозгоразрывным синтаксисом). Выучил на вполне неплохом уровне за полтора-два месяца попутно с пинанием баклуш на форумах.
Вот по этому ФЯ и хуита, мне C# реально учить даже не пришлось, пошел как будто я его всю жизнь знаю, клянусь, так и было!
Чем же он так туп?
Ну как в хачзсцкеле fun = fun + fun это рекурсивный вызов функции, очень непривычно, неправда ли?
На уровне реализации "Hello World"? В этом нет особой заслуги. Чтобы понимать язык чуть глубже, нужно вникнуть в его тонкости. Можете проверить и портануть какой-нибудь ваш код с руби на жабу ту же. Узнаете много нового.
Ничего сложного. Сложность скорее в том, что придется переписывать с самого начала, т.к. подход к написанию на яве не очень похож на руби.
Мне после начала изучения Python и Java все больше и больше нравится синтаксис Scheme. Он красив. В нем подход к любому оператору всегда унифицирован и выглядит как вызов функции. В то время как в других языках городится целое скопище синтаксических конструкций. Да и с практикой синтаксис любьго языка будет понятен.
Просто ради интереса, покажи реальный пример кода где ФП и включая Scheme будет круче чем тот же код на Ruby & C# ?
Удовлетворен GNU/Linux (с) Linups_Troolvalds
13-значный пароль, состоящий из одних цифр, ломается за полчаса (с) Rector. Авторитетный Хакер у себя в классе
Я тебя просто отсюда выпилю. (с) Рехтур. Взламывает анусы по ойпи.
Вне форума


Ну как в хачзсцкеле fun = fun + fun это рекурсивный вызов функции, очень непривычно, неправда ли?
Обычная тонкость языка. В каждом языке есть что-то свое, иначе они были бы как две капли воды, не?
Просто ради интереса, покажи реальный пример кода где ФП и включая Scheme будет круче чем тот же код на Ruby & C# ?
Что значит круче? Реальные примеры в сети есть.
We'll force you to be nice to each other
Kill you before you kill each other
Вне форума


Обычная тонкость языка. В каждом языке есть что-то свое, иначе они были бы как две капли воды, не?
Согласен, но оно нужно?
Что значит круче? Реальные примеры в сети есть.
Или примеры кода или до свидания.
Удовлетворен GNU/Linux (с) Linups_Troolvalds
13-значный пароль, состоящий из одних цифр, ломается за полчаса (с) Rector. Авторитетный Хакер у себя в классе
Я тебя просто отсюда выпилю. (с) Рехтур. Взламывает анусы по ойпи.
Вне форума


Babusha, сам найдешь, следующий.
We'll force you to be nice to each other
Kill you before you kill each other
Вне форума


Babusha, сам найдешь, следующий.
ФП слился, уря!
Хотя
(* 10 20 30 40)выглядит няшно.
Отредактировано Babusha (09-10-11 23:33:15)
Удовлетворен GNU/Linux (с) Linups_Troolvalds
13-значный пароль, состоящий из одних цифр, ломается за полчаса (с) Rector. Авторитетный Хакер у себя в классе
Я тебя просто отсюда выпилю. (с) Рехтур. Взламывает анусы по ойпи.
Вне форума
[ Сгенерировано за 0.011 сек, 7 запросов выполнено - Использовано памяти: 1.8 Мбайт (Пик: 1.88 Мбайт) ]