несложный ФЯ с человеческим лицом
От: dmz Россия  
Дата: 26.03.08 05:06
Оценка:
Привет,


а нет ли ФЯ с относительно несложным синтаксисом, в первую очередь для обучения, который бы годился, как замена питона для всякого рода скриптинга, ну и например, что бы на нем писать всякого рода вычислительные задачи ( кластеризация информации на странице, etc).

Хочется что-то вроде питона, но с настоящими list-comprehensions, паттерн-матчингом (особенно), гарантированной развертки tail recursion. Эрланг кажется тяжеловесным для этой задачи, плюс тормозной файловый ввод-вывод и регекспы / слабая поддержка строк. OCaml кажется несколько сложным, т.е. он явно сложнее эрланга. А есть еще что-нибудь (про nemerle знаю, но оно, судя по всему пока нестабильно?)

Идеально, конечно, было бы что-то вроде питона, но декларативный и с нужными фичами.
Re: несложный ФЯ с человеческим лицом
От: Zert  
Дата: 26.03.08 05:18
Оценка:
Всё-таки, посмотри OCaml. Он, естественно, сложнее Erlang'а (проще его некуда), но он имеет самое человечное лицо из всех языков ФП.
Re: несложный ФЯ с человеческим лицом
От: dr.Chaos Россия Украшения HandMade
Дата: 26.03.08 05:57
Оценка: 11 (2) +3
dmz wrote:

> Идеально, конечно, было бы что-то вроде питона, но декларативный и с

> нужными фичами.

Haskell очень простой и понятный язык ИМХО, если не лезть в устройство монад
и прочие дебри ТК, а относится к ним как к DSL. На нём кажись даже море
админских утилит написано.
Posted via RSDN NNTP Server 2.1 beta
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re: несложный ФЯ с человеческим лицом
От: nikov США http://www.linkedin.com/in/nikov
Дата: 26.03.08 06:58
Оценка: +3
Здравствуйте, dmz, Вы писали:

dmz>а нет ли ФЯ с относительно несложным синтаксисом, в первую очередь для обучения


Посмотрите F#.

Гибридный (функционально-императивный) язык на платформе .NET, родственный с OCaml.
Есть карринг, оптимизация хвостовой рекурсии, автоматическая генерализация, list/sequence comprehensions, pattern matching. Планируют приделать классы типов.

Microsoft планирует включать его в стандартную поставку Visual Studio, сейчас поддержка в Visual Studio ставится отдельным инсталлятором.
Re[2]: несложный ФЯ с человеческим лицом
От: dmz Россия  
Дата: 26.03.08 07:04
Оценка:
Здравствуйте, nikov, Вы писали:

N>Здравствуйте, dmz, Вы писали:


dmz>>а нет ли ФЯ с относительно несложным синтаксисом, в первую очередь для обучения


N>Посмотрите F#.


А он есть под Mono?

N>Microsoft планирует включать его в стандартную поставку Visual Studio, сейчас поддержка в Visual Studio ставится отдельным инсталлятором.


На Маке с Ubuntu в качестве единственной ОС это не очень актуально, но все равно спасибо.
Re[3]: несложный ФЯ с человеческим лицом
От: nikov США http://www.linkedin.com/in/nikov
Дата: 26.03.08 07:10
Оценка:
Здравствуйте, dmz, Вы писали:

N>>Посмотрите F#.


dmz>А он есть под Mono?


Да.

http://research.microsoft.com/fsharp/manual/compiler.aspx (последний параграф)
http://www.palladiumconsulting.com/blog/sebastian/2007/04/f-mono-and-mac-os-x-warmups.html
Re[3]: несложный ФЯ с человеческим лицом
От: Mirrorer  
Дата: 26.03.08 07:10
Оценка:
Здравствуйте, dmz, Вы писали:

N>>Посмотрите F#.


dmz>А он есть под Mono?

Можно посмотреть
здесь
Re[3]: несложный ФЯ с человеческим лицом
От: dotneter  
Дата: 26.03.08 07:35
Оценка:
dmz>А он есть под Mono?

http://research.microsoft.com/fsharp/release.aspx
Talk is cheap. Show me the code.
Re: несложный ФЯ с человеческим лицом
От: Gaperton http://gaperton.livejournal.com
Дата: 26.03.08 08:08
Оценка:
Здравствуйте, dmz, Вы писали:

dmz>Хочется что-то вроде питона, но с настоящими list-comprehensions, паттерн-матчингом (особенно), гарантированной развертки tail recursion. Эрланг кажется тяжеловесным для этой задачи, плюс тормозной файловый ввод-вывод и регекспы / слабая поддержка строк.


Для ввода-вывода надо пользоваться file — он не тормозной. Тормозной — только io. Насчет быстрых регэкспов и бинарных строк — скоро (в ближайшем релизе — ждать осталось месяцы) выйдет EEP9, который сильно изменит арифметику по строкам и регэкспам.

dmz>Идеально, конечно, было бы что-то вроде питона, но декларативный и с нужными фичами.


Собственно, это как раз Эрланг. Либо, если что-то вроде питона — то бери Схему.
Re[2]: несложный ФЯ с человеческим лицом
От: dr.Chaos Россия Украшения HandMade
Дата: 26.03.08 08:33
Оценка:
Gaperton wrote:

> Здравствуйте, dmz, Вы писали:

>
> dmz>Хочется что-то вроде питона, но с настоящими list-comprehensions,
> паттерн-матчингом (особенно)
, гарантированной развертки tail
> recursion. Эрланг кажется тяжеловесным для этой задачи, плюс тормозной
> файловый ввод-вывод и регекспы / слабая поддержка строк.
> Для ввода-вывода надо пользоваться file — он не тормозной. Тормозной -
> только io. Насчет быстрых регэкспов и бинарных строк — скоро (в ближайшем
> релизе — ждать осталось месяцы) выйдет EEP9, который сильно изменит
> арифметику по строкам и регэкспам.
>
> dmz>Идеально, конечно, было бы что-то вроде питона, но декларативный и с
> нужными фичами.
>
> Собственно, это как раз Эрланг. Либо, если что-то вроде питона — то бери
> Схему.

А как в Scheme с выделенным?
Posted via RSDN NNTP Server 2.1 beta
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[3]: несложный ФЯ с человеческим лицом
От: Gaperton http://gaperton.livejournal.com
Дата: 26.03.08 09:41
Оценка:
Здравствуйте, dr.Chaos, Вы писали:

>> Собственно, это как раз Эрланг. Либо, если что-то вроде питона — то бери

>> Схему.

DC>А как в Scheme с выделенным?


Петтерн-матчинг какой-то, кажется, в последних версиях спецификации схемы был. А насчет компрехэншнс — не знаю, но там его вероятно можно прикрутить. макросы, типа, и все такое.

Ну, напильником обработать эту схему, и нормально пойдет. Хотя я бы в данной ситуации взял Эрланг, а не искал странного.
Re[4]: несложный ФЯ с человеческим лицом
От: dmz Россия  
Дата: 26.03.08 10:11
Оценка:
G>Петтерн-матчинг какой-то, кажется, в последних версиях спецификации схемы был. А насчет компрехэншнс — не знаю, но там его вероятно можно прикрутить. макросы, типа, и все такое.

Нунафик. Хаскел (который оказался похож на эрланг) или эрланг, действительно.

G>Ну, напильником обработать эту схему, и нормально пойдет. Хотя я бы в данной ситуации взял Эрланг, а не искал странного.


Да возможно с ним все не так страшно, хотя как-то рука не поднимается его использовать для задач анализа данных и вообще рассчетных задач.
Re[4]: несложный ФЯ с человеческим лицом
От: dr.Chaos Россия Украшения HandMade
Дата: 26.03.08 10:25
Оценка:
Gaperton wrote:

>>> Собственно, это как раз Эрланг. Либо, если что-то вроде питона — то бери

>>> Схему.
>
> DC>А как в Scheme с выделенным?
>
> Петтерн-матчинг какой-то, кажется, в последних версиях спецификации схемы
> был. А насчет компрехэншнс — не знаю, но там его вероятно можно
> прикрутить. макросы, типа, и все такое.
>
> Ну, напильником обработать эту схему, и нормально пойдет. Хотя я бы в
> данной ситуации взял Эрланг, а не искал странного.

Просто для обучения Scheme очень хорошо подходит, но докручивать руками лист
компрехеншнс и паттерн-матчинг в целях обучения это жесть . Я понимаю что
русские программисты настолько суровы... но всё же . Поэтому и
посоветовал Хаскел, синтаксис у него простой и понятный, возможно даже
проще и понятней чем у Ерланга, но за счёт классов типов, монад,
ленивости ... более сложен в освоении.

Хотя для целей обучения советовал бы изучать параллельно 2 ФЯ: 1 со
статической типизацией другой с динамической, для сравнения подходов.
Posted via RSDN NNTP Server 2.1 beta
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re: несложный ФЯ с человеческим лицом
От: _pk_sly  
Дата: 26.03.08 12:12
Оценка:
Здравствуйте, dmz, Вы писали:

dmz>Хочется что-то вроде питона, но с настоящими list-comprehensions, паттерн-матчингом (особенно), гарантированной развертки tail recursion. Эрланг кажется тяжеловесным для этой задачи, плюс тормозной файловый ввод-вывод и регекспы / слабая поддержка строк. OCaml кажется несколько сложным, т.е. он явно сложнее эрланга. А есть еще что-нибудь (про nemerle знаю, но оно, судя по всему пока нестабильно?)


странно, но именно Nemerle и приходит на ум.

слухи о его нестабильности несколько преувеличены. это же открытый проект, про его баги говорят и его баги фиксят.
в компиляторе Visual C++ тоже есть баги. о них все знают, молчат и ждут сервис-паков но он не считается "нестабильным".

что до самого языка Nemerle, то он достаточно стабилен (в отличии от, например, D).
Re[2]: несложный ФЯ с человеческим лицом
От: Аноним  
Дата: 26.03.08 13:44
Оценка:
Здравствуйте, Zert, Вы писали:

Z>Всё-таки, посмотри OCaml. Он, естественно, сложнее Erlang'а (проще его некуда), но он имеет самое человечное лицо из всех языков ФП.


Простите, коллега, но лицо OCaml напоминает лицо человека, умершего от сифилиса.
Re[3]: несложный ФЯ с человеческим лицом
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 26.03.08 15:19
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Простите, коллега, но лицо OCaml напоминает лицо человека, умершего от сифилиса.


Это почему так?
Re[4]: несложный ФЯ с человеческим лицом
От: Аноним  
Дата: 26.03.08 15:51
Оценка: -2
Здравствуйте, D. Mon, Вы писали:

DM>Здравствуйте, Аноним, Вы писали:


А>>Простите, коллега, но лицо OCaml напоминает лицо человека, умершего от сифилиса.


DM>Это почему так?


Вы посмотрите на дизайн языка. Мне он больше всего напоминает перл. Такое ощущение, что фичи добавлялись в язык по желаниию левой задней ноги собаки разрабочика, совершенно не думая о том, как они лягут на уже существующие черты. В результате получается не продуманная, стройная система, основанная на теории (как, например, Haskell ),а эклектичная помойка из приблуд, которые могли кому-то однажды пригодиться. Для обучения его нельзя применять под страхом смерти. Впрочем, меня щас перенесут в СВ...
Re[5]: несложный ФЯ с человеческим лицом
От: Gaperton http://gaperton.livejournal.com
Дата: 26.03.08 19:13
Оценка:
Здравствуйте, dmz, Вы писали:

dmz>Да возможно с ним все не так страшно, хотя как-то рука не поднимается его использовать для задач анализа данных и вообще рассчетных задач.


Рассчетных задач, говоришь? Из функциональных — Хаскель или OCaml. OCaml для именно рассчетных задач должен подойти лучше.
Re: несложный ФЯ с человеческим лицом
От: BulatZiganshin  
Дата: 26.03.08 21:56
Оценка:
Здравствуйте, dmz, Вы писали:

как тут недавно упоминали, Q — хаскель для начинаюших. начни с http://switch.dl.sourceforge.net/sourceforge/q-lang/qnutshell-0.5.pdf , а далее http://q-lang.sourceforge.net

ещё один:
Kaya is a compiled scripting language, distributed for free under the
GNU GPL. It is statically typed, meaning that the compiler will help
you by checking for consistent variable usage and reporting errors
before you run your program. It also uses type inference, meaning that
the types of variables are worked out by the compiler, so there is no
need for you to declare local variables, or use type casts.

см. http://kayalang.org/tutorial


вообще, было бы интересно написать такой учебник по хаскелю, чтоб люди перестали его бояться
Люди, я люблю вас! Будьте бдительны!!!
Re[2]: несложный ФЯ с человеческим лицом
От: Schade Россия  
Дата: 26.03.08 22:31
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>вообще, было бы интересно написать такой учебник по хаскелю, чтоб люди перестали его бояться


Это точно. Он не столько сложен, сколько непривычен.
А вот учебника "с человеческим лицом" я так и не видел. И практически все прочитавшие то что есть остаются при твердом убеждении, что Haskell — какой-то фанатичный неудобный язык, а монады — всего лишь идиотский способ имитации императивности.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.