[devel] Java: no magic wand

Igor Vlasenko =?iso-8859-1?q?vlasenko_=CE=C1_imath=2Ekiev=2Eua?=
Чт Янв 17 12:38:10 MSK 2008


On Wed, Jan 16, 2008 at 08:30:31PM +0300, Damir Shayhutdinov wrote:
> Вот основные тезисы:

Спасибо, буду комментировать:
 
> 0. Чтобы было проще понять нижеприведенное, подумайте над следующей аналогией:
> 
> a) jar-файл аналогичен файлу динамической библиотеки .so
> б) классы в jar-файлах аналогичны символам в динамических библиотеках .so
> 
> 1. Вводится понятие зависимости между .jar-файлами, и информация об
> этих зависимостях хранится в самих .jar-файлах в пока не оговоренном
> виде.

Хотел бы отметить, что аналогия недостаточно точная, 
и если ее уточнить, то выводы другие.

IMHO,
jar-файл аналогичен файлу статической библиотеки .a .
В статической библиотеке каждый .o файл независим от других,
и будь .o файлы глобально уникальными, на них можно было бы 
высчитывать fine-grained зависимости.
Просто в C для статических библиотек это никому не нужно.

А динамическая библиотека --- это нечто особенное, в ней
.o файлы кросс-линкованы и сплавлены в одно целое, наружу
торчит только интерфейс.

Поэтому там зависимость на часть библиотеки проставить нельзя,
и динамические библиотеки .so -- минимальная единица.

В jav'e же вполне реально вычислять точные зависимости 
(классов на классы) которые не раздувают /usr.

и 1) чем хороши внешние тесты, что в них можно иметь
оба вычислителя зависимостей (jar- и class- based)

2) достаточно вычислять/проверять зависимости
для jar c приложениями. Как я показывал в письме,
токрывшем тред, зависимости библиотек на библиотеки
вообще говоря, и не нужны.

Они возникают как особенность реализации менеджера
зависимостей.


-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine




Подробная информация о списке рассылки Devel