bash.im ithappens.me zadolba.li
11591

Долог самурая путь к библиотеке

Ещё одна деталь к японскому менталитету.

Вообще-то я на Джаве не программирую. На С++ больше. Но поскольку на Андроиде пользовательские приблуды пишут на этой самой Джаве, а охренеть какой японской «это ж, блин, %businessName%!» захотелось поиметь нашу библиотеку на своём телефоне, то откомпилил я её, написал JNI-прокладку между С++ и Джавой, приложил пример и выкатил японским друзьям попользоваться.

Через месяц пришёл от японцев вопрос: «А можно ли вашу библиотеку грузить из произвольной папки?» А хрен его знает. Сроду так далеко в Джаву не лазил. Погуглил — и нашёл системную функцию, которая именно этим и занимается — грузит либу по абсолютному пути. Задумался. Мысль о том, что андроидные разработчики из такой серьёзной фирмы не знают Джаву, в голову не пришла. Поэтому вопрос в моей голове трансформировался: «Если мы будем грузить библиотеку из другой папки, не нарвёмся ли мы на грабли, которые вы заботливо для нас разложили?» Таковых граблей не было, и я честно ответил: «Можно, грузите из любой папки, разрешаю». И забыл.

Месяца через два приходит истеричное письмо от японцев. Дескать, мы вас третий месяц просим написать функцию, а вы динамите! Удивился, но решил не связываться, поскольку времени было мало. В результате родился шедевральный код:

void LoadLibraryFromAbsolutePath( String path )
{
  System.load( path );
}

Код был отослан в Японию. Через день пришло письмо с благодарностью. Кроме шуток — абсолютно серьёзная и искренняя благодарность. Если бы у нас в конторе не смогли написать три строчки такого кода и отдали бы на аутсорс, уволили бы весь отдел.

Как можно программировать на Джаве без знания основных функций языка, для меня загадка. Равно как загадкой остаётся, как таких программеров наняли на работу и почему в Японии нет Гугла.