2010-04-06 2 views
0

Я всегда слышу, что Java с открытым исходным кодом является большим преимуществом, но я не вижу, как Java, являющийся open-source, должен привлекать меня к использованию, а не к .NET, который является закрытым. This website имеет некоторые Q & Разделы (В чем смысл этих разработок для отрасли? в частности), которые дают небольшую информацию, но являются бесплатными единственным (или самым большим) преимуществом для Java, являющегося открытым исходным кодом?Java - это open-source, ну и что?

Поскольку я новичок, есть ли кто-либо из вас, профессионалы, заметили какое-либо существенное различие, так как было сделано изменение?

EDIT:

Пожалуйста игнорировать .NET часть этого вопроса, я просто использовать его в качестве сравнения. Что мне действительно нужно, так это знать, какая польза от использования open-source была для Java.

+0

Я искушен в флаг, как субъективный и аргументированного, но готов дать ему преимущество сомнение, так как это может привести к некоторым интересным ответам. Что думают другие? – johnc

+0

Вы, вероятно, должны сделать этот вопрос wiki сообщества, так как он не имеет определенного ответа. Просто нажмите «Изменить» и отметьте флажок под текстом вопроса. –

+2

@ johnc: Я проголосовал за закрытие. Mono kinda задает вопрос спорный, поэтому я не думаю, что из него может получиться что-то полезное ... Посмотрим. –

ответ

6

Если вы являетесь основным пользователем, для вас, вероятно, нет непосредственной выгоды.

Тем не менее, база Java с открытым исходным кодом упрощает для людей адаптацию к большему количеству требований ниши, которые поставщик закрытого источника не видит необходимости в поддержке. Меньшие поставщики (или проекты с открытым исходным кодом) могут придумать решения для этих особых потребностей.

Например, Java работает на самых разных платформах и в операционных системах, большинство из которых поддерживаются компаниями, отличными от Sun (предоставлено, это было даже до того, как он был с открытым исходным кодом).

есть какие-либо из вас профи заметили каких-либо серьезных различий, так как изменение было сделано

Мне нравится тот факт, что дистрибутивы Linux теперь включают «официальный» Sun JVM и JDK, вместо того, чтобы установить его отдельно или использовать «в основном совместимую» альтернативную реализацию, которая была предоставлена.

+0

«Мне нравится тот факт, что в дистрибутивы Linux теперь включены« официальные »Sun JVM и JDK, вместо того, чтобы устанавливать их отдельно или использовать« в основном совместимую »альтернативную реализацию, которая была предоставлена». Спасибо, это та информация, которую я ищу. Что-то о том, что Java является открытым исходным кодом, что на самом деле было преимуществом для платформы. У вас есть ссылка на любую литературу по этому вопросу? – ubiquibacon

1

Java и .Net - это оба стандарта, для которых каждый может написать реализацию с открытым исходным кодом. .Net 3.0 просто не имеет полных версий с открытым исходным кодом.

Независимо от открытости, разница для вас (и причина, по которой многие люди выбирают Java вообще) является переносимостью. Есть гораздо больше реализаций Java, и большинство из них закрыты.

Java может создавать приложения для мобильных телефонов. Java может создавать веб-приложения. Java работает на Mac. Не .Net.

Sun просто рекламирует упрощение и стандартизацию, которые может обеспечить общий ядро ​​с открытым исходным кодом. Но если вы внимательно посмотрите на связанную вами страницу, вы увидите, что она использует будущее время.

+4

Не Моно с открытым исходным кодом, не говоря уже о другой ОС, кроме Windows? – johnc

+3

«Реализация Java, которую вы или ваши пользователи фактически используете, не обязательно с открытым исходным кодом». Хорошая точка. Mac JVM, конечно же, не является (хотя он предположительно в основном основан на коде Sun) – Thilo

+1

@Potatocorn: Даже аргумент портативности становится спорным. Несколько приложений Gnome теперь используют Mono. Сколько приложений Java вы видите в дистрибутивах Linux? –

4

Не совсем справедливо сказать, что .NET закрыт исходным кодом - среда разработки Microsoft .NET и средства разработки закрыты.

Mono - это реализация многих вещей в мире .NET с открытым исходным кодом - CLR и C# являются самыми большими.

+1

.NET - продукт Microsoft, хотя Mono - нет. Это похоже на вызов Ford (закрытый источник) Chevy (open-source) только потому, что вы меняете эмблему. – ubiquibacon

+0

@mmsmatt: конечно, но вы никогда не знаете, как долго он будет оставаться «открытым». Мигель де Иказа, самый большой «верующий» .Net, очень плохо говорит об этом SNAFU недавно: http://www.itwire.com/opinion-and-analysis/open-sauce/37880-microsoft-has-shot- net-architecture-in-foot-de-icaza Я был бы очень осторожен, когда речь заходит о том, чтобы доверять компании, которая последовательно играла грязно, и что ей было запрещено злоупотреблять своей монополией на сохранение и расширение своей монополии (это окончательный вердикт), чтобы обеспечить что-то «открытое» и сыграть красиво. Даже Иказа это понимает. Принял его годы, сказанные;) – SyntaxT3rr0r

3

Основная реализация .NET является закрытым исходным кодом, хотя существуют конкурирующие реализации с открытым исходным кодом.

Первичная реализация JVM является открытым исходным кодом, хотя существуют конкурирующие реализации с закрытым исходным кодом.

Стандарт для Java остается полностью под контролем Sun (Oracle). Другие могут предоставить информацию, но окончательные решения до Sun.

Стандарт CLR полностью контролируется ECMA и ISO. Microsoft может предоставить информацию, но окончательное решение зависит от органов стандартов. Если Microsoft сделали, игнорируйте их решение, остается открытым вопрос о том, останется ли этот стандарт актуальным.

1

Открытие источника JVM помогает переносить его на другие архитектуры, такие как ARM для встроенного использования.

0

Другие варианты. Гибкость. Java Community Process. Я думаю, что в основном снижение стоимости владения - Eclipse + ApacheServer + Linux - все бесплатно.

3

Улучшения OpenJDK, так как он был открытым кодом было неизмеримое, вот только некоторые из них:

  • Проект Zero, пополняемая Redhat, портировал Hotspot множество новых платформ, таких как PowerPC (32 и 64 бит), IA-64, ARM и zSeries, а также сделать будущие порты для других платформ намного проще. Акула подпроект также дал ему более высокую производительность на некоторых из этих платформ
  • OpenJDK была портирована на новые операционные системы, такие как Haiku и BSD
  • Many bugs были зарегистрированы и зафиксированы физическими лицами и компаниями
  • Apple имеет присоединился к проекту OpenJDK и порт MacOS находится в стадии разработки
  • так имеет IBM
  • различные инновационные проекты, такие как IcedRobot стало возможным
  • OpenJ DK jtreg тесты теперь доступны для других реализаций Java

Некоторые из прямых выгод для среднего Java программиста являются:

  • Вы можете найти и исправить ошибки в исходном коде JDK
  • Вы можете создавать пользовательские версии OpenJDK (например. лишить его вниз, чтобы сделать его меньше)
  • Вам не нужно платить лицензионные сборы, чтобы отправить OpenJDK на встроенных устройствах