работа :-( тут, вроде, и кусок маленький (задача всего-то "отложено грузить гугл/яндекс/прочую рекламу"), а блять если получится — целую статью напишу, так уж много говна поел
Единственный популярный язык с прототипным ООП (красивая концепция), очень хорошие JIT-компиляторы в браузерах, вместе с HTML5 хорошая альтернатива сраному flash.
Не за что, обращайся :) Сам седня натаскал материальчиков по p2p и wireless networks. Меня больше в эту сторону всегда тянуло. Теги fault tolerance, scalability, self-organization. :)
да уже даже PyPy обогнал этот ваш jit. а в javascript нету даже разбиения на модули, отчего ты можешь написать себе namespace как обновление словаря, присвоение его члену или еще сотней способов. в результате, к примеру, парсеру документации понять что к чему очень сложно. ну и ООП там тебе никакого, прототипы говно какое-то.
Извините, но "плохой синтаксис" — это субъективное понятие. Он непротиворечивый и понятный (второе тоже субъективно). Может у тебя есть претензии к самой грамматике ?
он громоздкий, добавляющий вложенность (то есть если у тебя несколько операций, где возможна ошибка — ты делаешь еще один отступ), ну а в Java, если не ошибаюсь, еще и на каждый exception по блоку своему (сразу несколько нельзя ловить), но это такое. finally тоже говно, в Go ты пишешь defer l.Close() и знаешь, что l закроется в конце функции, очень уютно. ну а ошибки обрабатываются вот так: conn, e := net.Dial("tcp", "localhost:1234") if e != nil { fmt.Fprintf(os.Stderr, "Could not connect: %s\n", e) os.Exit(1) } типа просто функция вторым членом возвращает ошибку, и не надо ничего никуда оборачивать в try
Он существенно не сильно медленнее плюсокода. При прямых руках на обоих языках можно писать сходный по быстродействию (и даже, пожалуй, по потреблению памяти) код.
>>ну а в Java, если не ошибаюсь, еще и на каждый exception по блоку своему (сразу несколько нельзя ловить) Exception Inheritance же.
defer l.Close() — scoped guard шоле ? Хы. В Java finally блоки для этого (мне, кстати, очевидней, если я вижу finally после блока исключений, а не это в начале).
conn, e := net.Dial("tcp", "localhost:1234") — а это гуд, завидую всяким пистонистам вообще за x, y = y, x, эх.
ну, у них есть еще panic/recover — больше похожие на try/except (я еще не копал, потому что go мне пока совсем не всрался), но мне не нравятся эксепшны именно их вложенностью на каждый чих
Зачем ты вообще окунаешься в это говно?
работа :-( тут, вроде, и кусок маленький (задача всего-то "отложено грузить гугл/яндекс/прочую рекламу"), а блять если получится — целую статью напишу, так уж много говна поел
Чего это говно ?
@kb://*javascript.
нене, это еще цветочки. где-то была целая книжечка с разделами красивыми. сейчас спрошу ссылку.
Олсо, спасибо за еще один фап-пак :3
Единственный популярный язык с прототипным ООП (красивая концепция),
очень хорошие JIT-компиляторы в браузерах,
вместе с HTML5 хорошая альтернатива сраному flash.
А еще у посонов вполне заруливает LuaJIT:
http://habrahabr.ru/blogs/algorithm/1138...
http://habrahabr.ru/blogs/algorithm/1132... (Здесь объяснили, почему на Lua первый бенч был зафейлен).
Ничо, скоро гугль Dash запилит, с блекджеком и понями.
Не за что, обращайся :) Сам седня натаскал материальчиков по p2p и wireless networks. Меня больше в эту сторону всегда тянуло. Теги fault tolerance, scalability, self-organization. :)
да уже даже PyPy обогнал этот ваш jit. а в javascript нету даже разбиения на модули, отчего ты можешь написать себе namespace как обновление словаря, присвоение его члену или еще сотней способов. в результате, к примеру, парсеру документации понять что к чему очень сложно. ну и ООП там тебе никакого, прототипы говно какое-то.
Кстати, очень буду рад, если хорошо запилят. А то их Go остался какой-то игрушкой для гиков.
Go годный язык, там запилили нормальные эксепшны и finally. и вообще он юникс-вейный.
Чем плохи exceptions и finally в Java SE ?
синтаксисом
Хаскель — годный. C++ — годный (для мазохистов вроде меня). Все остальное от лукавого.
мазохисты от лукавого
R!
Извините, но "плохой синтаксис" — это субъективное понятие. Он непротиворечивый и понятный (второе тоже субъективно). Может у тебя есть претензии к самой грамматике ?
кстати, а каков хаскель по скорости? как обыкновенное интерпретируемое говно? я как-то вообще нигде не слышал ничего на эту тему
С++ как раз по части синтаксиса — бида, бида. Что многозначность const, что многозначность static, эх...
... что многозначность default, что многозначность delete, что...
Ты наркоман шоле. Он компилируемый.
он громоздкий, добавляющий вложенность (то есть если у тебя несколько операций, где возможна ошибка — ты делаешь еще один отступ), ну а в Java, если не ошибаюсь, еще и на каждый exception по блоку своему (сразу несколько нельзя ловить), но это такое. finally тоже говно, в Go ты пишешь
defer l.Close()
и знаешь, что l закроется в конце функции, очень уютно. ну а ошибки обрабатываются вот так:
conn, e := net.Dial("tcp", "localhost:1234")
if e != nil {
fmt.Fprintf(os.Stderr, "Could not connect: %s\n", e)
os.Exit(1)
}
типа просто функция вторым членом возвращает ошибку, и не надо ничего никуда оборачивать в try
А что там с default ? Это же вроде только в С++11 появилось. Или уже с чем-то пересекается ?
В смысле? В C++0x default может быть в контексте switch'а, а может заставлять компилер генерировать дефолтовые реализации разных функций-членов.
я не узнавал, потому что похуй было. ок. короче пойду гуглить о haskell benchmark
Он существенно не сильно медленнее плюсокода. При прямых руках на обоих языках можно писать сходный по быстродействию (и даже, пожалуй, по потреблению памяти) код.
блеать, так что, это язык моей мечты? в чем подвох? или надо продать душу в анальное рабство?
Надо понимать монады, трихомонады и все *морфизмы.
>>ну а в Java, если не ошибаюсь, еще и на каждый exception по блоку своему (сразу несколько нельзя ловить)
Exception Inheritance же.
defer l.Close() — scoped guard шоле ? Хы. В Java finally блоки для этого (мне, кстати, очевидней, если я вижу finally после блока исключений, а не это в начале).
conn, e := net.Dial("tcp", "localhost:1234") — а это гуд, завидую всяким пистонистам вообще за x, y = y, x, эх.
Тьфу, я про свич не подумал, да.
И учнуть теорию категорий, я так думаю.
language shootout не открывается, а всё что нашел по-быстрому — http://hi.baidu.com/railscn/blog/item/35...
там хаскель компилированный, конечно, не так уж быстр, но и не медленный. короче вполне себе.
Вообще, гавно. Такие операции должны быть асихнронными by design :3
> *морфизмы
ну, у них есть еще panic/recover — больше похожие на try/except (я еще не копал, потому что go мне пока совсем не всрался), но мне не нравятся эксепшны именно их вложенностью на каждый чих
Ну нам о некоторых морфизмах рассказывали в контексте общей аглебры и теории графов, например, не ссылаясь на обособленный раздел. Поэтому и уточнил.
Ты хаскельца в любом случае поботай, он няша и котик и хорошо ломает мозг. Я после него и на плюсцах по-другому писать стал.
MPLненько ? :)
Да даже и не mpl-ненько, просто... Да фиг знает даже, как сказать )
да, я собираюсь. сначала хочу хотя бы пару проектов на питоне дописать годных чисто чтоб не мучали меня они, дальше буду можт и хаскель.