- Автобиография
- Реферат
- Библиотека
- Ссылки
- Отчет о поиске
- Инд. задание: 'Мой путь ко вселенной Java.'
Тема магистерской работы:
Индивидуальное задание
Мой путь ко вселенной Java
Если остановиться хотя бы на минутку и оглянуться назад, на пройденный за последние несколько лет путь, можно различить ту самую дорожку, которая нас сюда привела, хотя, скорее всего, никакая это оказалась бы ни дорожка, а прорубленная через чащу тропинка со следами единственного прошедшего там человека - себя. Так бывает всегда, когда нет направляющего, проводника - цепляешься за все, что хотя бы отдаленно может указывать направление - и продолжаешь двигаться, куда-то вперед, а потом назад, а потом .... ???
Именно такая история и случилась со мной 8 лет назад, когда мне привезли мой первый компьютер - я загорелся желанием писать, программировать - в голове возникали уже грандиозные планы, супер-мега проекты, которые и сейчас у меня вызывают улыбку. Все, что я знал до этого (бейсик и паскаль) никуда не годилось для создания сколько-нибудь удобоваримых интерфейсов и графики - и вот, я, вооружившись стопкой книжек по всевозможным API, SDK и эдиторам, начал искать тот единственно правильный путь, который выведет меня в программисты. Меня штормило и бросало из стороны в сторону - я занимался абсолютно всем, обилие книжек только усугубляло положение, которое и без того было достаточно шатким - было очень, очень много вопросов, на которые я не мог найти ответа (у меня тогда еще не было интернета :) ). Последним ударом по моему самолюбию стал Win32API - для меня тогда это был просто тихий ужас: проведя неделю перед компьютером, в итоге сделав простенький пользовательский интерфейсик с подобием 2D графики, я осознал, что это тупик - конец всех моих усилий: если это и есть программирование, то оно явно не для меня - писать вручную сотню строк кода чтобы отобразить на форме несчастную кнопочку, которая может нажиматься! Нет уж, есть занятия и поинтересней.
На этом и закончился мой недолгий набег на джунгли программирования графики; я продолжал заниматься учебными алгоритмическими задачками, но выходить за их рамки у меня уже не было никакого желания.
Время шло, но проблема оставалась - серьезное программирование находилось за гранью моих возможностей, однако процесс по-тихоньку двигался сам по себе: у меня много хороших друзей программистов - через меня продолжали проходить потоки информации по многим направлениям информатики. Постепенно настал момент, когда дальнейшее движение стало возможным - появились ранее недоступные средства разработки и, самое главное, новый источник информации - интернет. Процесс должен был развиваться - я чувствовал реальную необходимость в вузуализации своих идей и проектов, их представлении в виде клиентских программ, средств разработки и отладки, но все шло очень медленно, через силу - терпеть не могу возвращаться к старым задачам, от которых когда-то отказался. Мне нужно было что-то новое, что-то, чем я до сих пор не занимался - и я его нашел - этим новым оказалась Java.
По счастливому случаю, вместо узенькой маленькой области программирования, которая мне нужна была на тот момент, я открыл для себя целую вселенную - я не представляю где она заканчивается и есть ли у нее граница - так, как оно и должно быть для вселенной.
На данный момент я занимаюсь Java уже несколько лет, раньше это воспринималось многими моими знакомыми как очередное бесполезное увлечение. Электроника! Твоя специальность электроника, при чем тут программирование? Но они резко изменили свою точку зрения, когда столкнулись с проблемой, с которой когда-то боролся я - визуализация и представление задачи для пользователя.
Огромное количество приборов и устройств, разработанных и только проектируемых, предполагают подключение к компьютеру - это один из наиболее простых и дешевых вариантов реализации задач управления и контроля над устройством, следовательно, необходима клиентская программа. Вряд ли пользователь захочет работать с чем-либо, что запускается из командной строки или в DOS-mode, поэтому необходим интерфейс, удобный и функциональный, но, самое главное, графический!
Java - уникальный язык - он объединяет в себе мощь огромного количества библиотек и утилит с удобством и красотой архитектуры для программиста, это язык для быстрой разработки, он позволяет сосредоточиться на решаемой задаче, а не на средствах ее решения.
Многие из моих проектов нашли достаточное визуальное подкрепление в Java, благодаря этому они не были заброшены и забыты, а до сих пор используются. Некоторые из них предназначались для отладки и тестирования, например RS232-connector для общения с контроллером по протоколу USART - просто незаменимая штука для отладки и автоматического тестирования работы собираемой системы. Другие представляли из себя законченные пользовательские интерфейсы под спроектированное железо, например для платы многоканального измерителя температуры была сделана графическая визуализация показаний термодатчиков (картинка ниже).
Представление информации для пользователя - одна из важнейших задач проектирования, которая ни в коем случае не может быть проигнорирована. Как показывает практика, конечного пользователя мало интересует электронная часть устройства (принципиальные схемы, качество монтажа, разводки), пользователь всего этого обычно не видит, а первое, с чем он начинает работать и что ему бросается в глаза - это пользовательский интерфейс, его удобство, простота, расширяемость. Именно по интерфейсу часто оценивается все устройство -не справедливо, конечно, он оно так и есть.
Одним из неоспоримых достоинств Java является ее открытость - вы нигде больше не найдете такого количества проработанных открытых проектов (имеется ввиду open-source) как здесь. Многие винят ее в том, что для Java уже почти все написано и в ней не остается работы для программиста - это совсем не так - так пишут те, кто никогда не работал над большими проектами. Зачем придумывать то, что уже давно придумано, Java библиотеки - это результаты трудов огромного количества программистов во всем мире - поэтому глупо пытаться реализовать самостоятельно все от начала и до конца - это бессмысленная потеря времени и сил, гораздо разумнее заниматься своим делом и вносить свой вклад в копилку мировой интеллектуальной собственности.
© ДонНТУ, Снисарь Николай Александрович, 2008