Функциональные языки (Страница 1) / Программирование / Форум StopLinux

Объявление

Kwork.ru - услуги фрилансеров от 500 руб.

#1 30-08-10 22:06:47

DonDublon3
Участник
Из Уфа
Зарегистрирован: 06-05-10
Сообщений: 641

Функциональные языки

Граждане!

У кого есть опыт работы с этим чудом, выскажитесь плиз.

Это действительно круто, как об этом говорят, или все-таки больше понт?

Уважаемые те, кто не работал с ФЯ - большая просьба, не флудить. Копипаста также не интересует, хочется послушать тех, кто реально это дело щупал.


"Фу бля, крохобор вонючий" (с) Svart Testare

Неактивен

#2 24-09-10 15:53:58

Linfan
Linux user
Зарегистрирован: 11-11-09
Сообщений: 1,653

Re: Функциональные языки

DonDublon3 пишет:

Это действительно круто, как об этом говорят, или все-таки больше понт?

В Питоне элементы функционального кодинга порой позволяют резко сократить объем кода и сделать его более читабельным. Но написание большого приложения полностью на ФЯ требует полного переключения сознания на стиль ФЯ. Говорить о том, что ФЯ типа silver bullet - думаю глупо, т.к. ООП для сложных архитектур ИМХО более приемлема.

Редактировался Linfan (24-09-10 15:54:47)


"но в отличие от вас не стремлюсь здесь перед всеми показаться умнее всех"
"Ну здесь много мосек, что ж поделаешь."
"народ после общения со мной умнеет что ли, становится более бдительным в сети"
(с) Великий Человек

Неактивен

#3 30-09-11 17:08:12

Дестер
Капитан
Зарегистрирован: 09-11-10
Сообщений: 705
Сайт
Windows 7Chrome 14.0.835.186

Re: Функциональные языки

Тема интересная, так что повторю вопрос DonDublon3'a.

DonDublon3 пишет:

У кого есть опыт работы с этим чудом, выскажитесь плиз.

Неактивен

#4 30-09-11 17:31:19

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
Windows 7Opera 11.51

Re: Функциональные языки

На функциональщине денег не заработает, изучается очень трудно, один язык не похож на другой (как с явы можно легко перейти на шарп), отсутствуют нормальные среды разработки, нету нормальных библиотек, и еще раз, очень трудно изучается, так как в хаскеле a = a + a не совсем тоже самое, что и в шарпе, это рекурсивный вызов функции, в общем - закопать и не нужно. А если очень хочется функциональщины, используем руби:

((double = -> x { (x*x) };) print(double.(10)))

Неактивен

#5 02-10-11 01:37:46

Mazzy
Посетитель зоопарка
Зарегистрирован: 06-05-10
Сообщений: 933
LinuxFirefox 7.0

Re: Функциональные языки

Babusha пишет:

отсутствуют нормальные среды разработки

=
Нету Вижуал Студии

Неактивен

#6 02-10-11 01:46:26

Luca
Участник
Зарегистрирован: 03-09-09
Сообщений: 1,413
Windows 7Firefox 7.0.1

Re: Функциональные языки

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

Я правильно понимаю?

Неактивен

#7 02-10-11 10:24:01

Дестер
Капитан
Зарегистрирован: 09-11-10
Сообщений: 705
Сайт
Windows 7Chrome 14.0.835.186

Re: Функциональные языки

Mazzy пишет:

Нету Вижуал Студии

Вы будете смеяться, но есть. F#, например.

Неактивен

#8 02-10-11 10:32:41

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354
Windows 7Chrome 14.0.835.186

Re: Функциональные языки

Дестер пишет:

Вы будете смеяться, но есть. F#, например.

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

Возможностью такой интеграции (нативного использования прямо из языка) с такого рода средствами ни один другой функциональный язык в мире в данный момент времени похвастаться не может...


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#9 03-10-11 01:04:59

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354
Windows 7Chrome 14.0.835.187

Re: Функциональные языки

petrun пишет:

Вот только F#, как и ML, не чистый ФЯ.

Ты борешься за чистоту расы?))


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#10 03-10-11 14:33:00

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
Windows 7Opera 11.51

Re: Функциональные языки

Mazzy пишет:

=
Нету Вижуал Студии

F# есть.

Добавлено спустя 10 ч 13 мин 49 с:
http://nesteruk.wordpress.com/2011/02/0 … an-csharp/

Неактивен

#11 09-10-11 16:06:09

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
Windows 7Opera 11.51

Re: Функциональные языки

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 18:25:14)

09-10-11 18:25:15 Luca пишет:

Прошу поменьше мата

Неактивен

#12 09-10-11 17:31:20

Дестер
Капитан
Зарегистрирован: 09-11-10
Сообщений: 705
Сайт
Windows 7Chrome 14.0.835.202

Re: Функциональные языки

Babusha пишет:

Ебать код на функциональном дерьме, пиздец, ВООБЩЕ НИХУЯ непонятно

Перепиши на руби, тогда и говори.

Неактивен

#13 09-10-11 17:43:06

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
Windows 7Opera 11.51

Re: Функциональные языки

Дестер пишет:

Перепиши на руби, тогда и говори.

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

Неактивен

#14 09-10-11 20:49:22

Дестер
Капитан
Зарегистрирован: 09-11-10
Сообщений: 705
Сайт
Windows 7Chrome 14.0.835.202

Re: Функциональные языки

Babusha, поясни, почему ты считаешь функциональные языки плохими. Аргумент нипаняятнаа прошу не приводить, так как понятность программного кода зависит от опыта программиста.

Неактивен

#15 09-10-11 21:23:56

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
Windows 7Opera 11.51

Re: Функциональные языки

Дестер пишет:

Babusha, поясни, почему ты считаешь функциональные языки плохими. Аргумент нипаняятнаа прошу не приводить, так как понятность программного кода зависит от опыта программиста.

Из за огромного порога вхождения из за глупого синтаксиса, основанного на фанатическом "функциональном" стиле, который якобы наиболее близкий к математике. К примеру, моим первым языком был Си (ну я его знал совсем поверхностно), потом я выучил руби, после этого я без затруднений понимал PHP, Perl, Python, Java, C# и куча еще, как видишь, я когда взялся за C# совсем крепко, решив писать компилятор и виртуальную машину для бреинфака, он мне дается очень просто, а все мои знания основаны на простом синтаксисе руби и си. Я так смогу изучать просто функциональный язык?

Редактировался Babusha (09-10-11 21:44:05)

Неактивен

#16 09-10-11 23:16:59

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
Windows 7Opera 11.51

Re: Функциональные языки

spoilt пишет:

Неправда ваша. Моим первым самостоятельно изученным языком был Scheme (классический ФЯ с мозгоразрывным синтаксисом). Выучил на вполне неплохом уровне за полтора-два месяца попутно с пинанием баклуш на форумах.

Вот по этому ФЯ и хуита, мне C#  реально учить даже не пришлось, пошел как будто я его всю жизнь знаю, клянусь, так и было!

spoilt пишет:

Чем же он так туп?

Ну как в хачзсцкеле fun = fun + fun это рекурсивный вызов функции, очень непривычно, неправда ли?

spoilt пишет:

На уровне реализации "Hello World"? В этом нет особой заслуги. Чтобы понимать язык чуть глубже, нужно вникнуть в его тонкости. Можете проверить и портануть какой-нибудь ваш код с руби на жабу ту же. Узнаете много нового.

Ничего сложного. Сложность скорее в том, что придется переписывать с самого начала, т.к. подход к написанию на яве не очень похож на руби.

spoilt пишет:

Мне после начала изучения Python и Java все больше и больше нравится синтаксис Scheme. Он красив. В нем подход к любому оператору всегда унифицирован и выглядит как вызов функции. В то время как в других языках городится целое скопище синтаксических конструкций. Да и с практикой синтаксис любьго языка будет понятен.

Просто ради интереса, покажи реальный пример кода где ФП и включая Scheme будет круче чем тот же код на Ruby & C# ?

Неактивен

#17 09-10-11 23:44:03

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
Windows 7Opera 11.51

Re: Функциональные языки

spoilt пишет:

Обычная тонкость языка. В каждом языке есть что-то свое, иначе они были бы как две капли воды, не?

Согласен, но оно нужно?

spoilt пишет:

Что значит круче? Реальные примеры в сети есть.

Или примеры кода или до свидания.

Неактивен

#18 10-10-11 00:32:42

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
Windows 7Opera 11.51

Re: Функциональные языки

spoilt пишет:

Babusha, сам найдешь, следующий.

ФП слился, уря!

Хотя

(* 10 20 30 40)

выглядит няшно.

Редактировался Babusha (10-10-11 00:33:15)

Неактивен

Kwork.ru - услуги фрилансеров от 500 руб.
Мой VPS с 2016 года !
✅ Виртуальные от 300 ₽/месяц, RAM 1-10GB, DISK 20-360 GB;
✅ Выделенные от 3000 ₽/месяц. RAM 4-64GB, DISK до 4TB;
✅ Intel Xeon, SSD, XEN, iLO/KVM, Windows/Linux, Администрирование;
✅ Бесплатно Full Backup и Anti-DDoS.





Подвал форума

Под управлением FluxBB
Модифицировал Visman

Яндекс.Метрика