Ruby @ восходящее солнце

> Блокировка-то глобальная для всех потоков.
Но это им не мешает прекрасно работать на 1ядерной машине без потерь ресурсов.
На многоядерке отстой, согласен.

Но PHP не умеет этого совсем.
 
Но тем не менее, пример контейнера(c++):
Понятно. Спасибо, обязательно посмотрю детали.

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

Может тогда стоит подумать о том, что в зависимости от языка некоторые вопросы вообще не возникают?
 
Может тогда стоит подумать о том, что в зависимости от языка некоторые вопросы вообще не возникают?
У меня возникали такие задачи. Пришлось часть кода переписывать в питон, в итоге - дублирование.
Поэтому сравнение некорректно.
 
Duck typing в языке с дин. типизацией я не считаю равноценной заменой, так как это очень небезопасно(ошибку можно поймать только в runtime).
А разве со специальным (ad hoc) полиморфизмом вызов конкретной ф-ии не зависит от того, параметр какого типа она получает? Мало того, на эти вызовы влияют возможные преобразования типов. То есть смотря на код, мы не можем предсказать какой именно вызов произойдет, пока мы не узнаем точно тип аргументов. Я всегда думал, что подобная возможность это один из самых лучших методов выстрелить себе в ногу, разве нет? А если да, то наличие такой возможности в языке скорее зло, чем преимущество.
 
извиняюсь. вообще-то я перепутал параметрический и специальный (ad hoc) полиморфизм.

-~{}~ 10.03.10 12:09:

Кстати, сам по себе параметрический параметризм не панацея, если используются методы полученных параметром объектом или перезагрузка используемых операторов для получаемого в параметре типа.
 
а я думал параметрический полиморфизм это что-то типа того :)
PHP:
#include <iostream>

template<class T>
class omg : public T
{
        typedef T base_class;
public:
        void method()
        {
                static_cast<base_class*>(this)->method();
                std::cout << "OMG!!!" << std::endl;
        }
};

class hello
{
public:
        void method()
        {
                std::cout << "Hello ";
        }
};

int main()
{
        omg<hello> x;
        x.method();
        return 0;
}
 
Автор оригинала: nerezus
А честно, если бы выбор ЯП мне довелся не 4 года назад, а сейчас, то я даже не смотрел бы в сторону PHP и выбрал бы питон для веба.
почему не ruby? уточни выбор пал бы на 3 ветку или 2.* ?
 
DYPA 2.* - под третью нет джанго.

> почему не ruby?
Общее количество библиотек питона больше, библиотеки качественнее(см. Qt). Ну и синтаксис нравится больше.
 
nerezus

По питону - тоже будет секция.. копите денежку.. всего 3000 руб на 17мая..
Скоро запустим регистрацию...
 
Автор оригинала: Sherman
Еще один маленький примерчик на скорую руку(java):

http://www.everfall.com/paste/id.php?k7qo6yaztpk2
Ну ты же понимаешь, что это совершенно несовместимо с динамической типизацией :)

и что строгой типизации ни в php ни в питоне никогда не будет.
 
Ну почему не будет. Вот смог же facebook как-то сие сделать? Насколько я понимаю, у них ведь все типы вычисляются в compile time? ;-)
 
Я не вникал в исходники hiphop, но именно так себе его работу и представляю. То есть на момент выполнения откомпилированной программы, все типы должны быть известны, а иначе как hiphop "перевел" php var -> c++ type ?
 
А. Ну точно. Там где не получается вывести тип, используют что-то типа boost::variant. Из доки.

4. Variant class

Variant type is union of all other types. When type inference fails to find
out a symbol's type, it will automatically have Variant type.

Variant class itself serves as both a "smart pointer wrapper" class and a
countable class, so to make it a compact and reference-count-aware data
structure.
 
Сверху