Ответ 1
В качестве короткого ответа я бы сказал: "Да, действительно".
В качестве долгого ответа я бы сказал: "Да, это действительно так, но есть некоторые важные различия, которые вы также можете описать.
У банка есть некоторые качества, которые сильно отличаются от драгоценного камня. JAR представляют собой упакованные исполняемые библиотеки, которые обычно должны явно объявлять зависимость в ходе выполнения Java-программы во время вызова (объявляя банку как зависимость при вызове java-интерпретатора). В банке накладывается небольшая структура, отличная от нескольких четко определенных мест для файлов (например, структура каталогов должна отражать путь к пакету).
A Gem - это дескриптор для постоянной установки библиотеки в систему, а также пакет функциональности, доступный для объявления зависимости во время выполнения. У драгоценного камня есть строгий синтаксис версий, как часть его определения, и драгоценные камни, как правило, распространяются из нескольких централизованных хранилищ, которые прикладывают приличные усилия для обеспечения уникальности в именах драгоценных камней. Самоцветы могут явно заявлять свои зависимости от других драгоценных камней. (Контраст с JAR, где вы должны убедиться, что у вас есть все зависимости для фляги, удовлетворенной во время вызова, а банки не принимают явную ответственность за объявление зависимостей или разрешение). Кроме того, есть некоторые дополнительные функции, встроенные в инструмент драгоценных камней, которые могут быть весьма удобными, например, вы можете объявить исполняемый файл по умолчанию для драгоценного камня, который будет вызываться, если пользователь хочет "запустить камень", и вы можете объявить набор модулей тестирования для драгоценного камня, так что пользователь, который устанавливает драгоценный камень, может обеспечить его функциональность.
Также вы можете рассказать своим ученикам, что RubyGems - это инструмент, созданный независимо от самого языка Ruby, и что он приносит пользу после того, как многие из неудобств и жалоб, возникших из-за управления банками, были хорошо раскрыты с лет разработки Java.