Информация об изменениях

Сообщение C# - from indians by indians от 22.05.2015 9:15

Изменено 22.05.2015 9:16 a_g_99

Господа, я не уверен было уже или нет. Думаю что да, прошу прощения за возможное повторение.
Читаю подобные темы и неудержимо тянет на гомерический хохот
http://rsdn.ru/forum/dotnet/6006483.flat.1
Автор: Sinix
Дата: 07.04.15

http://rsdn.ru/forum/dotnet/6053731.flat.1
Автор: Sinix
Дата: 20.05.15


"С# такая няшечка, в нем столько красивых рюшечек...". Все это в целом мило, но что насчет реально нужных фич, которые имеют действительно сильные
проверенные временем ОО-языки?
Простейший пример оператор const в С++ в применении к функциям (Constant Member Functions).

Пример на С#:

public sealed class World
{
    ...
    private hkpWorld physicsWorld;
    ...
    
    public World()
    {
        //initialize world's physics and geometry with default values
        setupWorld(defaultGravity, defaultSize, defaultBorderBehaviour);
    }

    ...
    public hkpWorld getWorld()
    {
        //Yellow!!!
        //I'm Rajesh, I got Phd in India and now I'm going to fix one bug!
        
        hkpWorldCinfo worldInfo = new...;
        //let's change gravity from 9.8f to 10 because...
        worldInfo.m_gravity = 10;
        physicsWorld = new hkpWorld(worldInfo);
        ...
        //Hello, I'm mapnik and I see this code
        //FUUUUUUCK!!!
        return physicsWorld;
    }
    ...
}


И пример на С++, не допускающий подобного:

class World {
public:
    World(){
        //initialize world's physics and geometry with default values
        setupWorld(defaultGravity, defaultSize, defaultBorderBehaviour);
    }
    ~World();

    //No Radjesh you can't :)))            
    hkpWorld*    getWorld() const { return physicsWorld; };
    ...

private:
    ...
    hkpWorld *        physicsWorld;
    ...
};


Очень правильный механизм "защиты от дурака".

Discuss, господа, discuss
C# - from indians by indians
Господа, я не уверен было уже или нет. Думаю что да, прошу прощения за возможное повторение.
Читаю подобные темы и неудержимо тянет на гомерический хохот
http://rsdn.ru/forum/dotnet/6006483.flat.1
Автор: Sinix
Дата: 07.04.15

http://rsdn.ru/forum/dotnet/6053731.flat.1
Автор: Sinix
Дата: 20.05.15


"С# такая няшечка, в нем столько красивых рюшечек...". Все это в целом мило, но что насчет реально нужных фич, которые имеют действительно сильные проверенные временем ОО-языки?
Простейший пример оператор const в С++ в применении к функциям (Constant Member Functions).

Пример на С#:

public sealed class World
{
    ...
    private hkpWorld physicsWorld;
    ...
    
    public World()
    {
        //initialize world's physics and geometry with default values
        setupWorld(defaultGravity, defaultSize, defaultBorderBehaviour);
    }

    ...
    public hkpWorld getWorld()
    {
        //Yellow!!!
        //I'm Rajesh, I got Phd in India and now I'm going to fix one bug!
        
        hkpWorldCinfo worldInfo = new...;
        //let's change gravity from 9.8f to 10 because...
        worldInfo.m_gravity = 10;
        physicsWorld = new hkpWorld(worldInfo);
        ...
        //Hello, I'm mapnik and I see this code
        //FUUUUUUCK!!!
        return physicsWorld;
    }
    ...
}


И пример на С++, не допускающий подобного:

class World {
public:
    World(){
        //initialize world's physics and geometry with default values
        setupWorld(defaultGravity, defaultSize, defaultBorderBehaviour);
    }
    ~World();

    //No Radjesh you can't :)))            
    hkpWorld*    getWorld() const { return physicsWorld; };
    ...

private:
    ...
    hkpWorld *        physicsWorld;
    ...
};


Очень правильный механизм "защиты от дурака".

Discuss, господа, discuss