Исходники.Ру - Программирование
Исходники
Статьи
Книги и учебники
Скрипты
Новости RSS
Магазин программиста

Главная » Статьи по программированию » C,С++ и C# - Все статьи »

Обсудить на форуме Обсудить на форуме

C++, C#, C?

Рассмотрим сначала, без лишних слов, два примера:

namespace HW; 
using System; 
class HW { 
	static void Main(String[] args) { 
		Console.WriteLine("Hello World!"); 
		} 
	} 
  
package HW; 
import java.lang.* 
class HW  { 
	public static void main(String[] args) { 
		System.out.println("Hello World!" 
		} 
	} 

Ну что, найдете 10 отличий? С трудом: Как видим, тенденция сближения различных языком программирования здесь проявляется как нигде отчетливо. Первый пример написан на новом языке C#, разработанном фирмой Microsoft, второй - на старой доброй Java.

Язык C# был выпущен в середине 2000 года группой программистов компании Microsoft под руководством небезызвестного в програмистских кругах человека Anders Hejlsberg. Того самого, кто создал Turbo Pascal и Delphi.

Хотя это и не признается официально, но язык C# явно создавался как альтернатива и как прямой конкурент Java. Это отчетливо видно как из приведенных примеров, так и из более детального анализа структуры двух языков.

Главная особенность нового языка (как и основное его достоинство) - это обилие средств для разработчика приложений - простой доступ к компонентам и низкоуровневым библиотекам платформы Win32, возможность использования системы обмена сообщениями с объектами и компонентами на базе XML и протокола SOAP.

Основой языка является, несомненно, C++. Однако, некоторые детали были позаимствованы из языка Java, как то пространства имен etc. Еще одно перекочевавшее из Java достоинство, это система автоматического управления памятью. На систему возложены функции выделения памяти для различных классов, и ее освобождения после прекращения использования классов. Реализация интерфейсов в C# идентична реализации в языке Java.

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

Технологии COM+ и Windows API полностью поддерживаются C#. Так как язык C# сам не содержит библиотек классов, то в нем появилась возможность использования библиотек других систем программирования, разработанных фирмой Microsoft, как, например, Visual Basic.

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

Второй недостаток - в среде исполнения, роль которой играет IL Common Language Runtime. Виртуальная машина Java имеет достаточную производительность, и неизвестно, будет ли выше эффективность первой. Ну, и третье - Java обладает значительно большим количеством средств для разработки многопоточных приложений.

Системные требования: пока доступна версия только под Windows 2000. Обязательно наличие IIS, Internet Explorer 5.5 и библиотеки MDAC 2.6. Пакет можно загрузить с сайта Microsoft: http://msdn.microsoft.com/code/sample.asp?url=/msdn-files/027/000/976/msdncompositedoc.xml

Каковы же перспективы этого хорошего начинания? Java, на сегодняшний день является стандартом, и этого не может отрицать даже Microsoft. И последним понадобится много времени, сил и денег для продвижения своего C# в качестве нового открытого стандарта. А для этого необходимо устранить вышеприведенные недостатки, что, конечно, сводит шансы на продвижение к минимуму.


Может пригодится:


Автор: http://www.cil.com.ua
Прочитано: 22644
Рейтинг:
Оценить: 1 2 3 4 5

Комментарии: (7)

Прислал: lord
вибирайте С#

Прислал: ivashkanet
Да что ви говорите Каким числом датирована эта статья? Работал ли автор с .Net непосредственно? Не хочется спорить, но: 1) Кроссплатформенность MS и нафик не нужна 2) Скоросто JIT-компилятора .Net ничем не уступает Java машине (если не ска

Прислал: robot
мне больше понравился Оберон 2 проще это раз (35 страниц), во вторых ООП (на тех же страницах). и быстрее всех. даже си шарп обгоняет. компилятор на всех языках есть.

Прислал: Лев
Извини,а как писать на C# в C++ какую команду вводить

Прислал: Макс
СЕЛЁДКА?!

Прислал: Konfetka
где можно найти исходники простых игрушек на C #

Прислал: Вадим
Статья порядочно устарела! Обновите!!!!!!

Добавить комментарий
Ваше имя*:
Ваш email:
URL Вашего сайта:
Ваш комментарий*:
Код безопастности*:

Рассылка новостей
Рейтинги
© 2007, Программирование Исходники.Ру