Залепа №3. Майкрософт - антиглобалист!

C# - мега-объектно-ориентированный язык. Настолько ориентированный, что создатели решили насовсем отказаться от глобальных объектов, хотя в классическом ООП на этот счет нет таких строгих правил.

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

Но давайте лучше рассмотрим КАК это выглядит на практике.

Думаю, никто не будет спорить, что в любой программе есть функции, не привязанные к какому-то определенному объекту, т.е. по-сути глобальные (например та же Main()). Так же есть и объекты, не являющиеся членами других объектов, т.е. тоже глобальные. В C# глобальных объектов быть не может, поэтому вышеописанные пасажиры насильно всунуты в классы-обертки, а свою истинную глобальность выдают только наличием волшебного слова "Static".

Но объясните мне, дураку, в чем такое мега-отличие между обычной глобальной переменной от той же переменной с атрибутом static и засунутой в псевдо-класс, который представляет собой просто бесполезную оболочку?

Скажете - это для разделения, чтоб не возникало конфликтов имен? Но чем гениев из мелкософта не удовлетворили обычные (и именно для этого и созданные!) пространства имен? Ну разве это:

Пример кода:
namespace MyVariables
{
    int a, b, c;

    void ThisIsMyFunc(string par) {...};
}

хуже чем это:

Пример кода:
namespace MyNamespace
{
    public class МойНафигЗдесьНеНужныйКласс
    {
        public static int a,b,c;

        public static void ThisIsMyFunc(string par) {...};
    }
}

Меня пол-часа бил истерический хохот, когда я впервые увидел вот эту супер-ООП-конструкцию:

Пример кода:
static class Program
{
    static void Main(){...}
}

Может в мелкософте ЭТО считают вершиной своих достижений, мне же кажется, что ЭТО - просто чушь.


22 октября 2008, 20:27
Майкрософт - антиглобалист!
Полность согласен. Что отсутствии глобальных функций и переменных, констант - чушь в C#. Казалось небольшое отличие от C++, но как мешает

Kot =email=

Адрес заметки: http://fit-media.com/post_1197554266.html


Если вы не можете отправить комментарий, то прочтите как это исправить здесь

Обязательные для заполнения поля помечены карандашом.


Ваш комментарий к статье:
cod

email при указании не будет опубликован.
Адреса с http:// преобразуются в ссылки автоматически.
Для этого отделяйте их от текста ПРОБЕЛАМИ с обеих концов.
Теги запрещены.

Этот сайт полностью окупает себя, хотя его ТИЦ=10, а PR=2. Хотите знать, как он это делает? Хотите чтобы Ваш сайт чарез пол-часа тоже начал на полном автопилоте приносить деньги?
Регистрируйся здесь и здесь и начинай получать деньги со своего сайта!