Тут стоит отметить, что в самом Руби лямбда и блок - разные вещи, хотя с точки зрения лямбда-исчисления, рубишный блок - как раз и есть лямбда-функция :)
смотря с каким качеством и какими кодеками сжимать:) *оу, еще codecs hell обязательно будет%)*
но верхний предел качества однозначно можно будет поднять выше - за счет трафика в большинстве случаев:)
идея хороша, но как всегда - для Windows "родными" будут форматы WMV, для Mac - QuickTime, для пингвинукса - Ogg, и т.д....
то есть, придется сохранять видео в трех форматах для обеспечения максимальной совместимости%)
Для себя я бы вычеркнул MacOS X Server из списка серверных операционных систем. А вот как десктоп - отлично.
Почему?
- медленно (ядро не походит для серверных задач никаким боком).
- неудобно (именно потому, что многие вещи управляются в GUI. мне проще все конфигурить в vi)
- нет ничего такого, что он умеет, а другие ОС - нет.
По поводу надежности самого железа - я ставил XServe под PowerPC G4, так что все могло измениться с переходом на intel, но тогда оно было уж слишком хрупкое и не приспособленное для серьезной нагрузки.
Ну и цена. XServe дороже аналогичного сервера от Sun. (а вот Solaris, напротив, в определенных ситуациях - вещь очень даже неплохая. но тут главное - не лупить из пушки по воробьям :))
А вот Linux или FreeBSD - вопрос скорее личного выбора. Что знаешь лучше - то и ставишь, если оно подходит для выполнения конкретной задачи.
Для C++ пробовал Wt, но штука своеобразная - по сути, event-driven ajax framework %)
То есть, внутри гораздо больше напоминает Qt (сигналы/слоты), чем привычные веб-фреймворки.
Мое имхо - если уж использовать C++, то писать все с нуля, и добиваться максимальной производительности, затачивая код под конкретный проект.
Из движков шаблонов смотрю в сторону teng, он отпарсенные темплейты компилит в свой хитрый байт-код, и еще и кэшировать умеет. Плюс к тому же работает с разными языками - то есть можно быстренько написать proof of concept и если все гут, то писать уже C++-версию.
Еще думаю про использование HAML - с ним верстать получается гораздо быстрее, и работать он умеет как отдельный парсер. Да и вообще думаю в сторону какого-нить libhaml, которого пока еще нет, но ведь можно сделать:)
а по поводу фреймворков - из них хороши только те, что предоставляют защиту от закона дырявых абстракций, иначе придется кучу времени убить на пляски с бубном, чтобы пробраться на более низкий уровень %)
О сложности использования.
Не так давно пробовал, насколько просто можно писать под C++ FastCGI-шные веб-приложения.
Оказалось, не сложнее, чем на любом другом языке (не путать с фреймворками, где вся эта радость уже out-of-the-box крутится и просит только веб-сервер правильно настроить).
Для себя сделал вывод - имея команду хороших C++-разработчиков "с нуля" проекты можно писать в сравнимые с остальными языками сроки.
О производительности.
Средняя скорость выполнения C++-программы быстрее Java.
Подробнее сравнить можно на сайте Computer Language Benchmarks Game (http://shootout.alioth.debian.org/gp4/benchmark.php?test=all), и сделать вывод, что Java - самая быстрая технология после языков, которые компилят native code.
Но этот вопрос в отношении веба скорее решается грамотным кэшированием, кластеризацией и инвестициями в железо.
О распространенности.
Количество существующих наработок в области веб-разработки под Java однозначно больше, чем под C++, к тому же больше опытных разработчиков и коммьюнити более информативное.
О безопасности.
На C++ гораздо легче наделать ошибок, приводящих к серьезным проблемам с безопасностью - на каждом шагу подстерегает переполнение буфера и выполнение произвольного кода с привилегиями веб-сервера.
Java-машина - среда изолированная, и через нее гораздо сложнее нанести вред ОС сервера. Но в коде Java-машины вполне может быть дыра, которую найти и ликвидировать своими силами гораздо сложнее, чем в собственном C++-коде.
но верхний предел качества однозначно можно будет поднять выше - за счет трафика в большинстве случаев:)
то есть, придется сохранять видео в трех форматах для обеспечения максимальной совместимости%)
отключил. зашел. охренел. закрыл. включил обратно.
там действительно страшно, и я туда больше не вернусь %)
не пробовали?
Кого не устраивает - ставить себе такую штуку не будут :)
Почему?
- медленно (ядро не походит для серверных задач никаким боком).
- неудобно (именно потому, что многие вещи управляются в GUI. мне проще все конфигурить в vi)
- нет ничего такого, что он умеет, а другие ОС - нет.
По поводу надежности самого железа - я ставил XServe под PowerPC G4, так что все могло измениться с переходом на intel, но тогда оно было уж слишком хрупкое и не приспособленное для серьезной нагрузки.
Ну и цена. XServe дороже аналогичного сервера от Sun. (а вот Solaris, напротив, в определенных ситуациях - вещь очень даже неплохая. но тут главное - не лупить из пушки по воробьям :))
А вот Linux или FreeBSD - вопрос скорее личного выбора. Что знаешь лучше - то и ставишь, если оно подходит для выполнения конкретной задачи.
Sphinx и стемминг поддерживает, и с нагрузкой справится
То есть, внутри гораздо больше напоминает Qt (сигналы/слоты), чем привычные веб-фреймворки.
Мое имхо - если уж использовать C++, то писать все с нуля, и добиваться максимальной производительности, затачивая код под конкретный проект.
Из движков шаблонов смотрю в сторону teng, он отпарсенные темплейты компилит в свой хитрый байт-код, и еще и кэшировать умеет. Плюс к тому же работает с разными языками - то есть можно быстренько написать proof of concept и если все гут, то писать уже C++-версию.
Еще думаю про использование HAML - с ним верстать получается гораздо быстрее, и работать он умеет как отдельный парсер. Да и вообще думаю в сторону какого-нить libhaml, которого пока еще нет, но ведь можно сделать:)
а по поводу фреймворков - из них хороши только те, что предоставляют защиту от закона дырявых абстракций, иначе придется кучу времени убить на пляски с бубном, чтобы пробраться на более низкий уровень %)
О сложности использования.
Не так давно пробовал, насколько просто можно писать под C++ FastCGI-шные веб-приложения.
Оказалось, не сложнее, чем на любом другом языке (не путать с фреймворками, где вся эта радость уже out-of-the-box крутится и просит только веб-сервер правильно настроить).
Для себя сделал вывод - имея команду хороших C++-разработчиков "с нуля" проекты можно писать в сравнимые с остальными языками сроки.
О производительности.
Средняя скорость выполнения C++-программы быстрее Java.
Подробнее сравнить можно на сайте Computer Language Benchmarks Game (http://shootout.alioth.debian.org/gp4/benchmark.php?test=all), и сделать вывод, что Java - самая быстрая технология после языков, которые компилят native code.
Но этот вопрос в отношении веба скорее решается грамотным кэшированием, кластеризацией и инвестициями в железо.
О распространенности.
Количество существующих наработок в области веб-разработки под Java однозначно больше, чем под C++, к тому же больше опытных разработчиков и коммьюнити более информативное.
О безопасности.
На C++ гораздо легче наделать ошибок, приводящих к серьезным проблемам с безопасностью - на каждом шагу подстерегает переполнение буфера и выполнение произвольного кода с привилегиями веб-сервера.
Java-машина - среда изолированная, и через нее гораздо сложнее нанести вред ОС сервера. Но в коде Java-машины вполне может быть дыра, которую найти и ликвидировать своими силами гораздо сложнее, чем в собственном C++-коде.
ну и, как всегда, YMMV:)