OberonCore
https://forum.oberoncore.ru/

Эрланг как первый ФЯ и параллельно с ИЯ
https://forum.oberoncore.ru/viewtopic.php?f=72&t=3078
Страница 1 из 1

Автор:  Илья Ермаков [ Пятница, 17 Декабрь, 2010 18:32 ]
Заголовок сообщения:  Эрланг как первый ФЯ и параллельно с ИЯ

Наметился интерес вырастить программиста, владеющего Эрлангом.
Есть и кандидат - один второкурсник, которому ФП "припёрло".

Вопрос: есть ли какой-то набор материалов, который мог бы сгодиться для изучения Эрланга как первого ФЯ, при этом с учётом того, что студент только осваивает программирование как таковое?

Английский... с английским у них всех не очень, как правило, но если уж будет складный и доходчивый материал, и то хорошо.

Автор:  Илья Ермаков [ Пятница, 17 Декабрь, 2010 18:38 ]
Заголовок сообщения:  Re: Эрланг как первый ФЯ и параллельно с ИЯ

Другой вопрос... Байт-код Эрланга где-то специфицирован?

Автор:  Alexey Veselovsky [ Пятница, 17 Декабрь, 2010 18:59 ]
Заголовок сообщения:  Re: Эрланг как первый ФЯ и параллельно с ИЯ

Мой личный опыт показывает что очень неплохо до ерланга с неделю или около того помучать мозг хаскелем (для этого в принципе достаточно вот этой статьи: http://rsdn.ru/summary/4216.xml). После этого ерланг идет удивительно легко (срабатывает эффект козла :-) ). Правда это не есть мой первый язык. Но первый функциональный. Ну или около того.

Также на rsdn.ru есть перевод одной вводной статьи по ерлангу. В статье есть ошибки (причем в оригинале тоже). В общем и в целом мне она не очень нравится, но если с английским не настолько хорошо, чтобы начать читать книжку, то и она сгодится: http://rsdn.ru/article/erlang/GettingSt ... Erlang.xml

Она хороша именно как вводная. Обзор. Я с неё начинал ерланг (потому как не смог сразу найти нужную литературу).

Книги (на инглише) по ерлангу могу порекомендовать и даже выслать в электронном виде.

Также показано залезть erlang@conference.jabber.ru
Также показана рускоязычная рассылка (ака мыллист). Вообще рускоязычное комьюнити ерланга довольно сильное.

Журнал Практика ФП тоже показана в принципе. Это на русском.

Спецификации на байткод современный нет. По кр. мере я не нашел. Но я вроде бы нашел проектик где он должен быть описан. Займусь после того, как покончу тем, или иным образом со статьёй.

PS. Следует очень четко понимать, что ерланг это не чистокровный ФЯ. Это скорее императивщина сильно замаскированная под функциональщину. Т.е. в отличае от того же хаскеля или окамла, тут лямбда-исчисление не лезет из всех щелей. А алгебраических типов данных почитай нет совсем. Но ерланг это прекрасный инструмент для решения конкретных задач определенного класса. Простой и удобный.

Сейчас вот проект. Сервер -- ерланг. Клиент -- один из диалектов ECMAScript'a. К ерлангу притензий в общем то нет. После ECMAScript'a хочется помыть руки. ECMAScript даже и близко не функциональный. Но и не нормальный императивный. И статическая типизация его не спасает. Помесь бульдога с носорогом. Жуткая.

Автор:  Илья Ермаков [ Пятница, 17 Декабрь, 2010 19:40 ]
Заголовок сообщения:  Re: Эрланг как первый ФЯ и параллельно с ИЯ

Спасибо. Посмотрю, подумаю.

Alexey Veselovsky писал(а):
Журнал Практика ФП тоже показана в принципе. Это на русском.


Угу, в последнем номере сравнивали с Node.js :)

Цитата:
PS. Следует очень четко понимать, что ерланг это не чистокровный ФЯ. Это скорее императивщина сильно замаскированная под функциональщину. Т.е. в отличае от того же хаскеля или окамла, тут лямбда-исчисление не лезет из всех щелей. А алгебраических типов данных почитай нет совсем. Но ерланг это прекрасный инструмент для решения конкретных задач определенного класса. Простой и удобный.


Вот всё это и хорошо. А интересы "подготовить" студента не теоретические, а довольно "временно-рыночные". Теоретическими интересами я бы на другое, кроме развития на базе ББ, не стал разбрасываться :)

Цитата:
Сейчас вот проект. Сервер -- ерланг. Клиент -- один из диалектов ECMAScript'a. К ерлангу притензий в общем то нет. После ECMAScript'a хочется помыть руки. ECMAScript даже и близко не функциональный. Но и не нормальный императивный. И статическая типизация его не спасает. Помесь бульдога с носорогом. Жуткая.


Не знаю, у меня от JS ощущение "обычных Смоллтоков". Со всеми вытекающими плюсами и минусами. По сравнению с ПХП гораздо более цивилизованная вещь. Правда я, как обычно, не работаю с чужим кодом и чужими code-styles. Хотя представляю, что там народ ухитряется наворачивать, дай им такой язык, да ещё jQuery какие-нибудь.
Вообще, ощущение "ассемблера". Т.е. такой динамической объектной "низкоуровщины", на которой всё приходится имитировать руками.
К таким вещам у меня нет негатива обычно, отношение нейтральное.
Не люблю, когда в язык много "умностей" заложено, а если "тупой как пробка" - то это ещё не страшно.

Автор:  Илья Ермаков [ Пятница, 17 Декабрь, 2010 19:59 ]
Заголовок сообщения:  Re: Эрланг как первый ФЯ и параллельно с ИЯ

Ну а вообще их байткод что из себя, примерно, представляет? Он императивный или функциональный?

И на каких платформах их виртуальная машина бегает?

Автор:  Alexey Veselovsky [ Пятница, 17 Декабрь, 2010 20:07 ]
Заголовок сообщения:  Re: Эрланг как первый ФЯ и параллельно с ИЯ

Илья Ермаков писал(а):
Ну а вообще их байткод что из себя, примерно, представляет? Он императивный или функциональный?

А что значит функциональный? ;-) Данные там иммутабельны в любом случае, если мне склероз не изменяет. Лямбд там нет.

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

Илья Ермаков писал(а):
И на каких платформах их виртуальная машина бегает?

Что подразумевается под платформой? ОСь? Винда, мак, линукс, freebsd, openbsd и т.п.

Архитектура процессора? На x86, amd64, arm бегает точно.

Как следствие из всего этого, оно вполне пускается например на телефонах с андроидом (потому что это линукс + arm).

Автор:  Geniepro [ Пятница, 17 Декабрь, 2010 21:14 ]
Заголовок сообщения:  Re: Эрланг как первый ФЯ и параллельно с ИЯ

http://erlanger.ru/ -- неплохой вроде ресурс по Ерлангу на русском. Есть переводы документации: http://erlanger.ru/wiki/index.php/Заглавная_страница


http://www.erlang.org/pipermail/erlang- ... 20653.html
Как я понял, спецификация байткода может меняться от платформы к платформе и от релиза к релизу. А исторически байткод ерланговой ВМ происходит от прологовской Warren Abstract Machine.
Старый документ (от 2000г): File format for Beam R5 and later

Автор:  Geniepro [ Пятница, 17 Декабрь, 2010 21:44 ]
Заголовок сообщения:  Re: Эрланг как первый ФЯ и параллельно с ИЯ

Alexey Veselovsky писал(а):
PS. Следует очень четко понимать, что ерланг это не чистокровный ФЯ. Это скорее императивщина сильно замаскированная под функциональщину. Т.е. в отличае от того же хаскеля или окамла, тут лямбда-исчисление не лезет из всех щелей. А алгебраических типов данных почитай нет совсем. Но ерланг это прекрасный инструмент для решения конкретных задач определенного класса. Простой и удобный.

Ерланг весьма близок к ООП в понимании Алана Кея, одного из родоначальников ООП:

1. Все сущности -- объекты (в ерланге роль объектов выполняют процессы).
2. Объекты общаются, посылая и принимая сообщения.
3. Объекты имеют собственную память.

4. Каждый объект является экземпляром класса, который тоже является объектом (и тоже является экземпляром, но уже метакласса).
5. Класс имеет свою память, разделяемую между экземплярами класса.

Ну, классов и их иерархий в ерланге нет, как не было и в ранних версиях смоллтока.

Автор:  Alexey Veselovsky [ Пятница, 17 Декабрь, 2010 22:30 ]
Заголовок сообщения:  Re: Эрланг как первый ФЯ и параллельно с ИЯ

Ну, вообще то в ерланге есть такие извращения, как параметризируемые модули, ну и про behaviours, на которых построено OTP, забывать не стоит :-)

Автор:  Alexey Veselovsky [ Пятница, 17 Декабрь, 2010 22:38 ]
Заголовок сообщения:  Re: Эрланг как первый ФЯ и параллельно с ИЯ

Geniepro писал(а):
Как я понял, спецификация байткода может меняться от платформы к платформе и от релиза к релизу.

Не правильно. Т.е. от платформы к платформе он не меняется.
От релиза к релизу.. Я не помню чтобы что-то менялось обратно не совместимо, за последние несколько лет.

Автор:  Geniepro [ Пятница, 31 Декабрь, 2010 12:55 ]
Заголовок сообщения:  Re: Эрланг как первый ФЯ и параллельно с ИЯ

Презентация "Кое-что про Erlang, а также OCaml, Haskell, Perl, PHP, C и C++" Лев Валкин, 2010
Доклад об опыте использования Эрланга и Окамля в проекте, начинавшемся на перле и сях.

ЗЫ. Осторожно, на 21 стр. демотиватор "Белки-истерички" с матом (в адрес явных аннотаций типов).

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/