Интернет магазин китайских планшетных компьютеров



Компьютеры - Сравнение C Sharp и Java - Реализации

24 апреля 2011


Оглавление:
1. Сравнение C Sharp и Java
2. Реализации
3. Использование



JVM и CLR

Существуют многочисленные реализации JVM практически для всех присутствующих на рынке платформ. Разработкой JVM занимаются такие корпорации, как IBM, Sun Microsystems, Bea и ряд других. Следует отметить, что Sun выпускает свою JVM как под своей собственной лицензией, так и под модифицированной лицензией GPLv2.

Java Web Start и апплеты обеспечивают удобное, лёгкое и безопасное средство распространения настольных приложений, причём эффективность её байткодового представления вкупе с агрессивными технологиями сжатия, такими как pack200, делают Java средством распространения сетевых приложений, неприхотливым к полосе пропускания.

C# тоже является кроссплатформенным стандартом. Его первичная платформа — Windows, но существуют и реализации для других платформ, самая значительная из которых — проект Mono. Однако платформы, отличные от Windows не поддерживаются официальным производителем.

Технология ClickOnce предлагает функциональность, подобную Java Web Start, но она имеется только для клиентов Windows. Internet Explorer на Windows умеет показывать элементы интерфейса .NET Windows Forms, что даёт апплетоподобную функциональность, но ограничено конкретным браузером.

Стандартизация

Развитие этих двух языков, и также их API, двоичных форматов и сред выполнения управляется по-разному.

C# определён стандартами ECMA и ISO, которые задают синтаксис языка, формат выполнимых модулей и библиотеку базовых классов. Стандарты не включают многие новые библиотеки, реализованные Microsoft поверх стандартного каркаса, такие как библиотеки для баз данных, GUI и веб-приложений. Однако Microsoft формально согласилось не преследовать в судебном порядке проекты сообщества за реализацию этих библиотек.

На сегодняшний день никакая составная часть среды Java не стандартизуется Ecma, ISO, ANSI или какой-либо другой сторонней организацией стандартов. В то время как Sun Microsystems сохраняет неограниченные исключительные юридические права на модификацию и лицензирование своих торговых марок Java, Sun добровольно участвует в процессе, называемом Java Community Process, который позволяет заинтересованным сторонам предлагать изменения в любые Java-технологии Sun через консультации и экспертные группы. По правилам JCP, любое предложение по изменению в JDK, среде выполнения Java или спецификации языка Java может быть односторонне отвергнуто Sun, потому что для его одобрения требуется голос «за» со стороны Sun. От коммерческих участников JCP требует членских взносов, в то время как некоммерческие организации и частные лица могут участвовать в нём бесплатно.

Лицензия

В то время как «Java» — торговая марка Sun trademark, и только Sun может лицензировать имя «Java», существуют многочисленные свободные проекты, частично совместимые с Sun Java. Например, GNU Classpath и GNU Compiler for Java поставляют свободную библиотеку классов и компилятор, частично совместимые с текущей версией Sun Java. В конце 2006 года Sun объявила, что весь исходный код Java, за исключением закрытого кода, на который они не сохраняют права, будет выпущен к марту 2007 года в качестве свободного программного обеспечения под видоизменённой лицензией GPL. Sun в настоящее время распространяет свою HotSpot Virtual Machine и компилятор Java под лицензией GPL, но на стандартную среду выполнения Java сейчас нет свободной лицензии. Поскольку Sun сохранит право собственности на свой исходный код Java, выпуск под лицензией GPL не запретит Sun распространять несвободные или неоткрытые версии Java, или давать на это лицензии другим.

C#, среда выполнения CLI и большая часть соответствующей библиотеки классов стандартизированы и могут свободно реализовываться без лицензии. Уже реализовано несколько свободных систем C#, в том числе Mono и DotGNU. В проекте Mono также реализованы многие нестандартные библиотеки Microsoft путём изучения материалов Microsoft, аналогично GNU Classpath и Java. Целью проекта Mono является избежать посягательств на какие-либо патенты или копирайты, и проект может свободно распространяться и использоваться под лицензией GPL. Microsoft в настоящее время распространяет Shared source-версию своей среды выполнения .NET для некоммерческого использования .



Просмотров: 4620


<<< Сервлет
OpenOffice.org Draw >>>