Rambler's Top100 Service Этот текст распечатан с домашней странички Андрея Калинина (www.kalinin.ru).
Оригинал статьи находится по этому адресу: http://www.kalinin.ru/programming/cpp/23_07_00_c.shtml


Новый язык программирования от Microsoft: C#

23.07.00

Честно говоря, когда я первый раз об этом услышал, я подумал что это чья-то дурацкая шутка. Но нет, действительно, фирма Microsoft создала новый язык программирования, сделанный на основе C и C++ (и, как выяснится позже, Java), который она назвала C# (C sharp).

<
Цитата

C# is a modern, object-oriented language that enables programmers to quickly build a wide range of applications for the new Microsoft .NET platform, which provides tools and services that fully exploit both computing and communications.

Очень оригинально, не правда ли? Что бы реально посмотреть язык программирования, я возьму программу "Hello, world!" из C# Language Reference:

using System;
class Hello
{
   static void Main() {
      Console.WriteLine("Hello, world");
   }
}
    

Все-таки, что-то это очень сильно напоминает... я так думаю, что читатель этих строк уже догадался, что. Да --- Java, и никаких сомнений. Итак, что имеется в наличии:

Принципиальное, на мой взгляд, отличие от Java --- наличие компилятора в машинный код. То есть, можно предположить, что программы на C# будут выполняться несколько быстрее, чем написанные на Java (я знаю о том, что в GNU Compiler Collection входит компилятор Java, но это немного не то).

Вообще, можно говорить о том, что Microsoft учла традиционные нарекания в сторону Java в своем новом языке. Например, оставлена от C++ перегрузка операторов.

Компания Microsoft утверждает, что создала язык для написания переносимых web-приложений и пытается всячески показать свою собственнную активность в этом направлении. В частности, компания Microsoft направила запрос на стандартизацю C#.

В принципе, понятно, зачем все это нужно. Компании Microsoft, несомненно, понадобился свой язык программирования такого же класса, как и Java. Пускать же Java к себе в Microsoft никто не собирался, вот и получился C#. Понятно, что в данном случае язык программирования сам по себе представляет достаточно малую ценность, потому что Java хороша своей переносимостью, а переносимость ей обеспечивает мощная и обширная стандартная библиотека, используя которую нет необходимости вызывать какие-то системно- или аппаратно-зависимые куски кода. Поэтому на текущий момент ничего определенного сказать о судьбе C# нельзя --- хотя бы потому, что у него пока что нет подобной библиотеки.

Тем не менее, в ближайшие несколько лет будет очень интересно следить за развитием C# и Java. В принципе, еще недавно казалось, что уже невозможно вытеснить Java из своей ниши инструмента для относительно простого создания переносимых приложений, но вот, Microsoft решилась на эту попытку. Учитывая то, что в свое время было очевидно главенство Netscape на рынке броузеров, ожидать можно всего.

Резюме

Конечно же, ожидать того, что прямо сейчас C# наберет какую-то популярность достаточно глупо. Во-первых, пока что этот компилятор входит только в MS Developer Studio 2000, которой еще нет, и не факт, что владельцы Developer Studio 98 будут обрадованы тому, что им придется покупать DevStudio 2000 для работы с новым языком программирования. Во-вторых, Java существует уже достаочно долго, что бы вокруг нее образовался достаточно сильный конгломерат заинтересованных в ее благополучии фирм и компании Microsoft будет очень сложно что-то изменить в этом. В-третьих, ничего не понятно с переносимостью приложений, написанных на этом языке программирования --- ведь кроме заявлений MS больше ничего нет. Я обязательно попытаюсь попробовать компилятор C# как только он попадет ко мне в руки, но пока что я со скептицизмом отношусь к подобным заявлениям.

Ссылки по теме

http://msdn.microsoft.com/vstu C# Introduction and Overview --- страничка на MSDN.
http://msdn.microsoft.com/libr C# Reference --- предварительная документация.

©2000-2001 by Andrey L. Kalinin,
andrey@kalinin.ru