Re[8]: Что хорошего в Net?
От: criosray  
Дата: 06.10.07 22:48
Оценка: 9 (5) +2
Здравствуйте, Aquila, Вы писали:

J>>Если не хочешь подключать namespace (как во втором варианте) — вполне нормально. Естественно, обычно используют подключение namespace работы с формами.

J>>Что ты пытаешься доказать? Что даже показ MessageBox'a в .Net является сложной задачей?
A>Наоборот, я хочу доказать, как приятно, легко и просто программировать под него! Набираем System.Windows.Forms.MessageBox.Show("Hello world"); и выскакивает симпатичное окошко с приветственной надписью!

Представляешь!

А еще можно делать так:

        List<string> names = new List<string>();
        names.Add("Dave");
        names.Add("John");
        names.Add("Abe");
        names.Add("Barney");
        names.Add("Chuck");
        string abe = names.Find(name =>
                           name.Equals("Abe"));
        Console.WriteLine(abe);


Что там у нас в C++ было для этого? Ах, да... boost::lambda.

Можно и так:

var someVariable = new SomeClass();


Что делает? На этапе компиляции автоматически определяется тип переменной.



И так тоже можно:

  public Form1()
  {
    InitializeComponent();

    button1.Click += delegate(object sender, EventArgs e)
    {
      // The following code is part of an anonymous method.
      MessageBox.Show("You clicked the button, and " +
        "This is an anonymous method!");
    };
  }



И даже так можно:

var query =
    from c in listOfCustomers
    where c.City == "Sarasota"
    select new {c.Name,c.City};


и таки да! это все еще C#, compile-time, intellisense и т.д. все плюшки наши!

Да уж куда там .NET до C/C++. Подумаешь, кому нужны рефлексия (как следствие O/RM`ы, модульное тестирование, IoC и т.д. и т.д.), свойства, атрибуты, лямбда-выражения, анонимные методы, делегаты, итераторы, linq, версионность сборок (дружно машем ручкой dll-hell`у) и многое-многое другое...

Костыли типа того же boost для C++ наверно от хорошей жизни придумывают, да?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.