Re[6]: Какой функциональный язык стоит изучать?
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.03.07 14:47
Оценка: :)
Здравствуйте, Mirrorer, Вы писали:

M>Лично я их запомнил через 10 минут игры со списками в интерпретаторе.


Лично рад за тебя. У большинства же людей память не столь фотогрфична и они лучше запоминают вещи которые можно логически обосновать или ассоциировать с чем либо.

VD>>
VD>>x : y : t
VD>>

VD>>
M> list comprehensions конечно удобнее для работы со списками чем функции.
M>+1

Это не "list comprehensions". Это просто сахар. А вот как раз list comprehensions на мой взгляд не очень прост для запоминания.

VD>>А на XML стал ЯП и его предлагаю как первый язык?

M>Никак нет, не стал.

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

M>Макросы — мура ? Позволю себе не согласится сударь


Не позволю. Напомню еще раз о сути вопроса. Изучение макросов не входит в понятие "обучение ФП".

M>Синтаксис языка пределно прост.


У Брэйнфака он еще проще. Давай на этом основании признаем Брэйнфак самым прстым языком?

M> Можно даже сказать что он отсутсвует.

M>Достоинство это или недостаток каждый решает для себя.

Речь не о себе. А о обучении. Моря скобок и невнятные названия в примерах (особенно для человека привыкшого к Паскале- и/или С-подобному синтаксису) никак не способствуют упрощению восприятия.

M> Я считаю что для обучения это больше плюс, чем минус. Сущностей которыми приходится оперировать очень мало.


Это заблуждение. Сущностей ровно столько же. Ни if/else, ни вызовы методов никуда не исчезают. Просто из "кодируют" весьма причудливым обрзом. И непривыкшему человеку эту "кодировку" прийдется еще привыкать распозновать.

M> Есть список он же и функция.


Ты когда нибудь пытался объяснить этот факт непосвященному? А сам то сколько "тупил" пока не "въехал" в подобные вещи?

VD>>Ой ли? Берем IO-монаду и захриначиваем мега-императивный код.

M>Как ты думаешь сколько нужно времени человеку чтобы разобраться как работать с монадами ?
M>Пока человек доберется до монад ему придется пользоваться pure functional вещами.

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

Но дело даже не в этом. Дело в том, что для ученика язык исходно не существует. Так что если ты скажем не раскажешь ему о наличии императивных конструкций, то и воспользоваться он ими не сможет. Стало быть чистота языка никак не влияет на понимание концепций.

Более того. Человек уже знаком с концепциями ИП и ему ероще будет изучить отличие в подходах, чем осваивать "полностью новый мир".

VD>>Я начал работать над проектом Интеграции Немерла с VS 2005 в гордом одиночестве (кстати, твое сообщение украло у меня 15 минут от работы над ней, хорошо, что я пареллельно поел ).

M>[Offtopic]
M>Если бы для интеграции не нужно было качать 100 метровый СДК каждый месяц, то одним разработчиком интеграции стало бы больше
M>[/Offtopic]
Рельно раз в два месяца. Ну, да неужели так плохо с Интернетом в твоих краях?

M>Неужели я со стороны похож на непримиримого функциональщика ?

Я в общем. Меня просто задолбали маньякальные проявления этого сообщества.

VD>>Так что конечно изучение Немерле (не могу сказать за ОКамл, так как серьезных проектов на нем не вел, но по идее и он тоже) это ужасный язык с точки зрения функциональщиков. Он можно сказать вероломный.

M>А теперь в огород Немерле полетят большие камни, несмотря на то, что язык мне очень нравится.
M>Он еще не достиг стабильной версии это раз.

Это чистейшая отмазка. Ни на изучение, ни на использование этот факт влияния не оказывает. Вон D уже 1.0 и что с того толку? Он находится в куда менее завершенном состоянии.

M> Для тебя это может не быть не имеет большого значения. Но у кого-то могут быть другие мысли на этот счет.


Отмазкой это может быть. Мне тоже когда что-то в лом делать прооще придумать почему это можно не делать.

M>У него очень слабо с документацией. Те же Хаскелл и Scheme имеют кучу документации, статей туториалов, даже видеолекций. В случае с Немерле ситуация выглядит очень печально.


Начнем с того, что как раз на русском информации по Немерлу пожалуй будет по больше чем по Хаскелю или Эрлангу. Я тут лично постарался .
На мой взгляд информции для обучения более чем достаточно. Вводной статьи за глаза хватает чтобы человеку знающему C# начать его использовать. А мастерство один фиг приходит только на практике.

В общем, все кто хотел уже это сделали. Так что тут скорее нужно говорить о недостаточной мотивации.

M>Я бы сам не против написать пару статей про применение N. допустим в сравнении с C# 3.0 Но меня сдерживает отсутсвие нормального описания языка.


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

M> То что оно где-то существует в голове разработчиков или людей которые с ними общаются это здорово конечно. Но хотелось бы увидеть его собранном в одном месте.


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

M>З.Ы. предлагаю тему Haskell/Scheme дальше не развивать.


Дык я просто заметил, что высказывание о том, что Scheme является лучшим ЯП для изучения ФЯ, особенно при условии, что человек просил "практический язык" мягко говоря натянута.

Твои аргументы по Немерлу тоже несостоятельны, так как все кто брался за его использование успешно освоили его функциональные фичи. А вот примеров когда люди брались за изучение ФП на базе Схемы и Хаскеля и бросали это дело так его и неосилив я видел не мало. Если бы это было не так, то вокруг ходили бы толпы Лиспорей и Хаскелистов, а С++-ники и C#-щики прятались бы по углам боясь поднять голову.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.