программистское
Очень интересная беседа-интервью Джо Армстронга (Erlang) и Саймона Пейтона Джонса (Haskell). Формат транскрипта на этом сайте мерзостный, но нормальный транскрипт можно прочитать здесь.
Цитата:
Давно хочу изучить Эрланг, кстати. Кажется, эта беседа убедила меня заняться этим в ближайшие месяц-два.
Цитата:
JA: I didn't really know what thread safety was in Java, so I wrote a little Java Swing thing and of a Java friend I asked: I wrote this Java process and it worked fine. I could create one window, and then I created 2 windows in a graphical program and I drew a rectangle in one and I drew a rectancle in the other and it crashed. And I said "Why did it crash?" And he said "Well the Swing library's not threadsafe". Now, what does that mean? It means if you got one thing that works, you do 2 of them in parallel, they interact in strange ways. I thought "How can you program like that? It's impossible to program!"
Давно хочу изучить Эрланг, кстати. Кажется, эта беседа убедила меня заняться этим в ближайшие месяц-два.
no subject
no subject
(no subject)
(no subject)
(no subject)
no subject
Я его планирую поковырять уже лет 6...
(no subject)
(no subject)
no subject
no subject
no subject
(no subject)
(no subject)
(no subject)
(no subject)
no subject
(no subject)
(no subject)
(no subject)
no subject
есть куски кода, которые на любом другом языке программирования представляли бы для себя ошибку безопасности. на эрланг - тупо приводят просто к crash данного процесса, что совершенно штатная ситуация. упал? молодетц. запись в лог - пользователю стандартную ошибку, процесс - либо перезапустить, либо просто забить.
манера программирования - let it crash - она очень сильно спасает ;) даже в "грязно" написаном коде.
no subject
(no subject)
(Anonymous) - 2009-09-29 19:12 (UTC) - Expand(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(Anonymous) - 2009-09-29 19:19 (UTC) - Expandno subject
no subject
че то лажа какая то, свинг - однопоточная штука что бы как раз траблов и не было
no subject
(no subject)
no subject
Скажи, а на J ты смотрел? Я тут развлекаюсь на eulerproject.net, там многие им балуются, выглядит страшновато, но любопытно, что за зверь.
no subject
Но ооочень красиво, и полезно прочитать его vocabulary с примерами, чтобы просто проникнуться тем, "как еще можно писать программы" и "в терминах чего еще их можно выражать" - это может пригодиться и за пределами J.
no subject
Если прикинуться дурачком и начать делать свои глаголы, то с каждым новым производительность будет падать, особенно если это переименованный примитив. Поэтому разработчики очень гордятся своим tacit programming, то есть превращением подпрограммы, а то и всей программы, в одну длинную функцию. Формула Герона выглядит вот так: [:%:[:*/-:@:(+/)-0,]
Поэтому я изучаю вместо J Q.
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
На J равно как и K уже года четыре хочу посмотреть, пока нет.
no subject
Возможно и не связано с вышеупомянутым...
"...One principle duct tape programmers understand well is that any kind of coding technique that’s even slightly complicated is going to doom your project. Duct tape programmers tend to avoid C++, templates, multiple inheritance, multithreading, COM, CORBA, and a host of other technologies that are all totally reasonable, when you think long and hard about them, but are, honestly, just a little bit too hard for the human brain." (http://www.joelonsoftware.com/items/2009/09/23.html) ()
Re: Возможно и не связано с вышеупомянутым...
надо хорошенько освоить инверсию этой технологии и начать зашибать бабки и славу в интернетах!
Re: Возможно и не связано с вышеупомянутым...
да, чуть усложнило в начале работу, но потом - 1) был отлично отслеживаемый протокол взаимодействия компонент, 2) создание каждого слоя можно отдать отдельному разработчику 3) многослойная система security рулит - потому что даже при ошибках в одном слое трудно пробиться через следующий :)))))
Re: Возможно и не связано с вышеупомянутым...
no subject
мне оч. понравился язык, но вот надо бы придумать задачу, какую-нибудь multi-actor симуляцию распределенную, чтоб осмысленность была =) На работе на нем никто не даст писать, понятно. (тебе, я так понимаю, тоже =))
no subject
Так вот с erlang я без труда в своей программе за час попробовал несколько вариантов concurrency и все работали! Без долгих размышлений - а вот тут нужен mutex, а тут соединить через очередь, а что делать если этот thread закончился, а тот еще не стартовал и не знает что должен открыть сокет снова.
no subject
Я спрашиваю, потому что у меня какое-то сложное отношение к ним. С одной стороны очень люблю и каждый день пользуюсь, и в программы люблю вставлять поиск или там rewrite rules на основе regexp, но вот когда доходит до того, чтобы в своем коде заменить цикл и strtok на regexp, меня всегда что-то останавливает.
(no subject)
no subject
Довольно вкусно выглядит, я в данный момент пытаюсь внимательно интересоваться