воскресенье, 16 октября 2011 г.

erlang

Так и не понял, куда надо ставить ударение. Erlang или erlAng? Импортные и я ставим на первый слог, москвичи и часть русских на второй. Хотя в русской вики четко стоит на первый слог.

Москвичи вообще ставят ударение на второй слог, везде. Будучи летом на школе, я заметил у человека на бейджике знакомую фамилию. Спрашиваю, не приходится ли он родственником Роме Ж.? Он не в курсе о таком, но внезапно из того, что я правильно поставил ударение "ЖУйков", предположил что я из того же региона, совпало до республики. Тесно в мире, из 70 участников - 30 импортных, и чисто по ударению в фамилии можно определить регион. В Москве его все заколебали с "ЖуйкОв".

Когда у Армстронга и коллеги просили, "если бы вы начинали сначала, много ли бы поменяли?". Они ответили, "Да... Многое. (Пауза в 10 секунд.) Возможно у нас были бы даже типы. (дикий ржач)". В этом месте меня тоже порвало.

Из всей типизации есть только арность, и что-то подобие интерфейса (что модуль должен реализовывать). А то, что в качестве аргумента может участвовать что угодно - очень плохо. Так что без eUnit (очевидно название) не обойтись.

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

Все довольно просто и лаконично, так что понятие среда разработки редуцируется до текстового редактора. Дебажить функциональщину пока не приходилось, ибо оно работает так, как написано. А пишется все чисто и ясно.

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

Внутренне - своя ВМ, что довольно легко разбирается с миллионом потоков, управлением памяти и прочими гадостями. Хвастаться девятью девятками по устойчивости могут лишь единицы. Они могут.

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

erlang стоит того, чтобы его посмотреть. А еще лучше использовать. Жалко, что типов нет.

Комментариев нет: