bash.im ithappens.me zadolba.li
9888

Java: расслабьтесь и получайте удовольствие

18 сентября 2012, 07:15

Я обычный студент. Учусь на специальности, гордо называющейся «компьютерная инженерия», в небезызвестном Киевском политехническом вузе. Учусь хорошо, да и самообразованием не брезгую: читаю книги, экспериментирую.

И вот решил я как-то написать программку для небезызвестной мобильной операционной системы, где всё и вся пишется на Java. Всё было хорошо, пока мне не понадобилось обработать массив чисел, выполнив над ним несколько простых арифметических действий. Какие тут могут быть проблемы?

Вы не поверите, но массив размером 30 на 50 значений обрабатывается почти полсекунды. А мне нужно обрабатывать массивы с миллионами значений. Как? Я понимаю, что я запускаю эту программу на мобильном телефоне, но на дворе 2012 год — даже телефон с такой задачей должен справляться в разы быстрей! Я ума не приложу, как можно было написать такой медленный интерпретатор Java. Ну да ладно, вопрос решаем — нам доступна возможность переписать критичные к быстродействию куски кода на C. Всё, что для этого нужно, — доустановить часть SDK. Но, видимо, создатели этого SDK думали не лучше создателей системы, ибо в нагрузку он требует пачку плагинов, которые нужно как-то связать. Как это сделать — нигде не написано. Простите, может кому-то и понятно, как это делать, но если я никогда раньше не встречался с этим, неужели нельзя написать простой мануал на десять строчек? Хорошо, методом проб и ошибок я за двое суток осилил установку. Вроде все работает.

Перед тем как приступать к работе, надо разобраться, как же слепить код на Java и на С в одном приложении. Что мы сделаем? Правильно, воспользуемся примером, идущим в нагрузку к SDK. О нет, вы не поверите: после выполненной шаг за шагом сборки проекта при запуске он вылетает с ошибкой, никакой информации о которой не даёт даже дебаггер.

Кто это всё создавал, я не знаю. Десяток мануалов с разных сайтов ничего толком не разъяснили. Суть работы системы непонятна, даже сэмпл-проект «Hello world» не запускается. Может, стоит бросить всю эту хрень и заняться разработкой под мобильные и не очень «форточки»? Уже ведь не раз читал на программистских форумах, что все developer tools у обвиняемых во всех смертных грехах мелкомягких работают исправно, не требуют танцев с бубном при установке и идут с толковой документацией в нагрузку. А опенсорсом пусть занимаются те, у кого нет ребёнка и есть много свободного времени.