(Untitled)

Oct 12, 2012 19:46

Меня ведь читают любители функциональных языков? Какие полезные коробочные продукты (т.е. те, которыми можно пользоваться, не имея никакого представления о реализации) на них написаны ( Read more... )

Leave a comment

tonsky October 12 2012, 17:30:13 UTC
Как это nosql базы нет? А Riak? А CouchDB прости господи?

Reply

bydl0coder October 12 2012, 18:00:11 UTC
Вот, у вас больше читателей, задайте вопрос, почему коробки на эрланге есть, а на других языках нет?

Reply

tonsky October 12 2012, 18:07:29 UTC
Я для себя объясняю так, что ерланг он про инжиниринг вообще, а все остальное про маргинальные эксперименты. Т.е. чем эрленг для базы данных лучше питона понятно, но чем тот же хаскелль лучше - уже не очень. Эрленг мог бы и нефункциональным быть (наверное).

Reply

bydl0coder October 12 2012, 19:34:07 UTC
Мое знакомство с эрлангом ограничивается тестовым заданием Эха, а с хаскелем попыткой написать программу для диссертации знакомого. Пока вывод такой - эрланг - это плохой язык с хорошим рантаймом (которого я не увидел), а хаскел наоборот.

Reply

ermouth October 12 2012, 19:55:27 UTC
про "плохой язык с хорошим рантаймом" - это гут.

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

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

эрланг - промышленное решение под реальные задачи. просто так вышло, что оно хорошо подошло много подо что ещё.

Reply

lionet October 13 2012, 02:20:20 UTC
Эрланг - хороший язык. Странноватый в синтаксисе, но хороший:
1. Однозначно читается. Нет оверлоадинга операторов. Это гуд. Это хорошо для работы в группе, для код-ревью.
2. Очень простой язык и синтаксис - язык реально проще и однозначнее всех остальных промышленных языков. Проще питона, проще C, и уж естественно, проще C++.
3. Из-за его функциональности и concurrency-ориентированности, он позволяет избегать каких-то ошибок, которые возникают достаточно часто. В частности, no shared state - это фишка именно языка, а не рантайма. Это гуд.

Ну и рантайм неплохой, к тому же. Интроспекция всякая явно лучше, чем у хаскеля.

Reply

bydl0coder October 13 2012, 03:15:26 UTC
Упс. Теперь надо протрезветь и сформулировать достойный ответ.

Reply

bydl0coder October 15 2012, 10:07:37 UTC
Мне как раз не нравятся совсем уж простые языки, хочется сахара всякого. Проблемы в освоении дает концептуальная сложность, а всякие мелкие фишечки не приятны и не сильно замедляют. Ну и рекорды совсем не понравились.

Reply

lionet October 15 2012, 17:18:57 UTC
Я очень сознательно разделяю языки для работе в команде, и для индивидуального потребления.

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

Но в команде важно другое. В команде важно, чтобы любой человек мог читать код любого другого, хотя бы на уровне кода. Концептуальная сложность концептуальной сложностью, но чтобы до неё дойти, нужно хотя бы суметь продраться через синтаксис и идиомы. Если в команде два человека, не дай бог, выучат разные подмножества мощного инструмента (C++, Perl, Haskell), так и до концептуальной сложности не дойдёт - твои коллеги при code review застрянут на ближайшей запятой.

Поэтому мне нравится Haskell, C++, Perl. Но мне лично. Но для групповой разработки как минимум последние два применимы гораздо хуже, чем Erlang.

Reply

bydl0coder October 16 2012, 04:15:59 UTC
На то вы и генерал! Вообще, когда изучаю сложный язык, типа скалы (скала еще и концептуально сложная) или руби, то от всех этих красот плююсь, потому что работать надо, а не закорючки изучать, зато потом...

Reply

lionet October 16 2012, 04:52:36 UTC
Практика показывает, что "зато потом" в коллективе никогда не заканчивается. Приходит новый народ и косячит. Более того, ты приходишь на свой же код и косячишь, так как ты и ты через полгода - это два разных человека.

Reply

bydl0coder October 16 2012, 05:19:58 UTC
Так на входе можно проверять, знает человек язык или нет, это несложно. Если их в проекте пять, то другое дело, конечно.

Reply

lionet October 16 2012, 05:32:28 UTC
Фильтр по критерию "знает язык" очень плохой.

Reply

bydl0coder October 16 2012, 05:46:37 UTC
Так не единственный же. Экзамены на знание языка устраивают как плохие конторы, куда никто особо не рвется, так и хорошие, куда очередь стоит. Значит, можно часть людей отсеивать и как-то жить при этом.

Reply

zhengxi October 12 2012, 18:51:08 UTC
Ну если такие продукты считать коробками, то на скале они тоже есть.
Kafka например

Reply


Leave a comment

Up