Цікаво, що легкі, embeddable віртуальні машини мають тенденцію плодитись сильніше. Моя гіпотеза: власна копія JVM в програмі буде значно рідшою, ніж копія CPython, і тим більше lua.
Та сама логіка працює щодо статично лінкованих програм так само: в них купа дубльованих і трохи різних версій одних і тих самих бібліотек, тільки що ми навіть не можемо побачити, копія чого саме запечена в купу великих бінарників.
Так, Linux shared libraries і перевикористання пакунків це справді аномалія і дуже багато роботи, щоб протестувати це все разом.
Edit: про недоліки VMs додам ще про те, що embedded VMs створюють ефект внутрішньої платформи, де раптово перестають ефективно працювати інструменти для машинного коду, без VM-specific tooling все різко стає непрозорим: профайлинг, дебаг, security audits. І навіть коли воно є, зробити корисні висновки стає складніше.
no subject
Та сама логіка працює щодо статично лінкованих програм так само: в них купа дубльованих і трохи різних версій одних і тих самих бібліотек, тільки що ми навіть не можемо побачити, копія чого саме запечена в купу великих бінарників.
Так, Linux shared libraries і перевикористання пакунків це справді аномалія і дуже багато роботи, щоб протестувати це все разом.
Edit: про недоліки VMs додам ще про те, що embedded VMs створюють ефект внутрішньої платформи, де раптово перестають ефективно працювати інструменти для машинного коду, без VM-specific tooling все різко стає непрозорим: профайлинг, дебаг, security audits. І навіть коли воно є, зробити корисні висновки стає складніше.