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

nerezus

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

Но PHP не умеет этого совсем.
 

Fortop

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

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

Может тогда стоит подумать о том, что в зависимости от языка некоторые вопросы вообще не возникают?
 

nerezus

Вселенский отказник
Может тогда стоит подумать о том, что в зависимости от языка некоторые вопросы вообще не возникают?
У меня возникали такие задачи. Пришлось часть кода переписывать в питон, в итоге - дублирование.
Поэтому сравнение некорректно.
 

dimagolov

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

dimagolov

Новичок
извиняюсь. вообще-то я перепутал параметрический и специальный (ad hoc) полиморфизм.

-~{}~ 10.03.10 12:09:

Кстати, сам по себе параметрический параметризм не панацея, если используются методы полученных параметром объектом или перезагрузка используемых операторов для получаемого в параметре типа.
 

dr-sm

Новичок
а я думал параметрический полиморфизм это что-то типа того :)
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;
}
 

DYPA

Настоящая dypa (c)
Автор оригинала: nerezus
А честно, если бы выбор ЯП мне довелся не 4 года назад, а сейчас, то я даже не смотрел бы в сторону PHP и выбрал бы питон для веба.
почему не ruby? уточни выбор пал бы на 3 ветку или 2.* ?
 

nerezus

Вселенский отказник
DYPA 2.* - под третью нет джанго.

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

confguru

ExAdmin
Команда форума
nerezus

По питону - тоже будет секция.. копите денежку.. всего 3000 руб на 17мая..
Скоро запустим регистрацию...
 

fixxxer

К.О.
Партнер клуба
Автор оригинала: Sherman
Еще один маленький примерчик на скорую руку(java):

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

и что строгой типизации ни в php ни в питоне никогда не будет.
 

Sherman

Mephi
Ну почему не будет. Вот смог же facebook как-то сие сделать? Насколько я понимаю, у них ведь все типы вычисляются в compile time? ;-)
 

Sherman

Mephi
Я не вникал в исходники hiphop, но именно так себе его работу и представляю. То есть на момент выполнения откомпилированной программы, все типы должны быть известны, а иначе как hiphop "перевел" php var -> c++ type ?
 

Sherman

Mephi
А. Ну точно. Там где не получается вывести тип, используют что-то типа 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.
 
Сверху