LINUX.ORG.RU
ФорумTalks

кто более опенсорсный, Java или C#?

 , , ,


0

3

Почитал тут тему Как установить и настроить javafx? и у меня вопрос, как сейчас вообще софт-то разрабатывать? C++ сложный, Rust нестабильный, Haskell мозголомный… (JavaScript слабопоточный, Python вообще ошибка проектирования)

★★★★

Последнее исправление: Dimez (всего исправлений: 2)
Ответ на: комментарий от iZEN

JNI — это стандарт программирования для использования нативного кода (созданного на языке C) из Java-программ.

.NET позволяет использовать динамические библиотеки на Си напрямую без всяких дополнительных интерфейсов и врапперов. А JNI неуклюжий и и требует код специально под него.

Это потеря изначально заложенного принципа Java — Write once, run anywhere.

Свободный проект не может навязывать придерживаться каких-либо принципов.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от iZEN

Это потеря изначально заложенного принципа Java — Write once, run anywhere.

И кстати сама Java также не придерживается этого принципа. Многие приложения требуют многостраничные Bash скрипты для запуска или какие-то EXE файлы. Сравните например с HTML/Javascript, там такой проблемы в принципе быть не может потому что продуманы абстракции.

X512 ★★★★★
()
Ответ на: комментарий от X512

А JNI неуклюжий и и требует код специально под него.

В смысле? Утилитой из JDK получаешь исходник Java-класса-враппера над .DLL/.SO и работаешь с ним, как с библиотекой сишных функций — точно так же, как в Си работаешь с сигнатурами функций из заголовочного.h-файла чужого кода.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

.NET позволяет работать напрямую с любыми *.so/dll не написанными специально под .NET и с меньшим количеством кода. Покажите как вы через JNI будете работать например с libgtk без дополнительных врапперов на Си? А в .NET запросто.

X512 ★★★★★
()
Ответ на: комментарий от iZEN

Вот я и новорю что Java несвободная проприетарщина даже если исходники отрыты. Какой толк от открытых исходников если за их переиспользование или изменение не укладывающиеся в идеологию Oracle засудят?

X512 ★★★★★
()
Ответ на: комментарий от iZEN

Если кто-то выпустил нестандартную JVM и начал её всем пихать, не спрося разрешения у автора

Может мне для того, чтобы написать свой компилятор Си, надо спросить разрешения у Кернигана и Ричи?

cvs-255 ★★★★★
()
Ответ на: комментарий от iZEN

Microsoft выпустила свою JVM без библиотеки Swing, но со своими расширениями COM (для использования апплетов в OLE-контейнерах приложений) и AWT в качестве стандартных визуальных компонентов с COM-обёртками, за что в своё время и поплатилась.

если я выпущу компилятор Си, в стандартной бибилиотеке которого не будет функции printf(), меня засудят?

cvs-255 ★★★★★
()
Ответ на: комментарий от cvs-255

Может мне для того, чтобы написать свой компилятор Си, надо спросить разрешения у Кернигана и Ричи?

Если вы будете позиционировать и распространять свой продукт как «Компилятор языка Си», то возникнут вопросы у потребителей на тему того, насколько он поддерживает стандарты. А вы будете вынуждены приводить доказательства этого. Для Java, чтобы она называлась Java, существует система тестов соответствия Technology Compatibility Kit (TCK), которые обязаны пройти все вендоры платформы Java. Насчёт Си не знаю.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

Если мой компилятор не пиойдет тест на соответствие стандарту си, максимум что мне грозит - порицание и неиспользование. Никто меня не засудит

cvs-255 ★★★★★
()
Ответ на: комментарий от iZEN

Для Java, чтобы она называлась Java, существует система тестов соответствия...

Это вы сейчас про какую из них написали?

anc ★★★★★
()
Ответ на: комментарий от cvs-255

если я выпущу компилятор Си, в стандартной бибилиотеке которого не будет функции printf(), меня засудят?

А вот если Rust в самоволку, то засудят:

Uses that require explicit approval

  • Distributing a modified version of the Rust programming language, compiler, or the Cargo package manager with modifications other than those permitted above and calling it Rust or Cargo requires explicit, written permission from the Rust Foundation. We will usually allow these uses as long as the modifications are (1) relatively small and (2) very clearly communicated to end-users.

https://foundation.rust-lang.org/policies/logo-policy-and-media-guide/

Драма: «Debian violating Rust Trademark (as serious a situation as «iceweasel»)» (27.06.2022). Но по знакомству сделали одно исключение для Debian и, якобы, для производных тоже. (Но это до поры до времени, т.к. юридически торговая марка Rust по-прежнему не совместима с DFSG из-за накладываемых ограничений, какие бы единичные исключения из них не были сделаны):

gag ★★★★★
()
Ответ на: комментарий от gag

Замечательный повод выбирать Си, а не раст

cvs-255 ★★★★★
()
Ответ на: комментарий от anc

Это вы сейчас про какую из них написали?

SAP JVM, Oracle OJVM, JamVM, IBM J9, Eclipse OpenJ9.

iZEN ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.