Чтобы технология завоевала популярность, надо ее не только создать, но еще и научить людей ею пользоваться. В России принято считать, что научиться программированию можно и по книгам, однако подобный путь не всегда самый короткий. В каталоге учебных курсов, предлагаемых компанией RedLab, сказано следующее: "Подсчитано, что стоимость курсов намного меньше тех затрат, которые понесет организация, если ее сотрудник будет осваивать все самостоятельно". По словам генерального директора RedLab Руслана Смелянского, на Западе все понимают значение тренингов и необходимость получения сотрудниками компаний практических навыков. Однако в России это приходится постоянно объяснять.

Учебные курсы, разработанные RedLab, оказывают компаниям реальную помощь в освоении передовых технологий. С декабря 1996 года предлагаются два новых курса, посвященных языку программирования Java. Смелянский считает, что появление Java ознаменовало новый этап программирования: "Java несет совершенно новую технологию. Новизна ее заключается в том, что она включает элемент интерпретации".

На заре вычислительной техники языки программирования также были интерпретируемыми. Типичный пример такого подхода - Ассемблер, в котором каждой команде соответствовал машинный код, а компьютер можно было рассматривать в качестве аппаратного интерпретатора кода. Когда появились языки программирования высокого уровня, скрывающие от разработчика ПО особенности аппаратуры, их команды стали настолько сложными, что интерпретация потребовала высокой вычислительной мощности компьютеров. Разработчикам пришлось прибегнуть к другому типу трансляции высокоуровневых языков программирования - компиляции, которая имела и обратную сторону: скомпилированные программы стало невозможно переносить на другие платформы. Это породило проблему совместимости, которая, впрочем, тогда еще не была столь актуальной, нежели сейчас.

С развитием компьютерных сетей, увеличением вычислительной мощности компьютеров и их ресурсов возникла потребность в интерпретируемом языке, позволяющем за счет небольшого снижения производительности получить многоплатформенную и универсальную вычислительную среду. "Люди поняли, - продолжает свою мысль Смелянский, - что уровень развития аппаратуры и системного ПО на сегодняшний день таков, что можно использовать интерпретацию - и она будет эффективна. Объем памяти и вычислительная мощность современного компьютера достаточно велики для того, чтобы использовать часть ресурсов для обеспечения удобства работы. Свежесть взгляда компании Sun Microsystems заключается в осознании того факта, что настал момент смены парадигмы вычислений".

Собственно, проблема создания такой технологии, как Java, известна давно - под названием "проблема языка ABC". Подобным термином обозначался язык программирования, на который можно было бы преобразовывать программы, написанные на других языках программирования, и в дальнейшем использовать эти программы на всех существующих платформах. Фактически, наиболее близко к реализации подобного языка подошла именно технология Java, а точнее ее часть - байт-код. Именно его разработка и использование - то принципиальное отличие, которое выделяет Java из всех остальных языков программирования высокого уровня.

Однако, чтобы технология стала популярной, важно заинтересовать в ней тех, кто способен вкладывать деньги в ее развитие. Без крупных проектов невозможно успешное развитие ни одной даже самой перспективной технологии. По словам Смелянского, Java в России начнет всерьез развиваться лишь тогда, когда ею заинтересуются банки или нефтегазовые корпорации. На Западе именно такие организации проявляют повышенный интерес к Java.

Отсутствие в России серьезных проектов, реализованных на Java, является, по мнению Смелянского, основной причиной, по которой курсы по Java пока не пользуются большой популярностью. Если за другие курсы (например, по системному администрированию или безопасности) специалисты готовы платить даже из своего кармана, с уверенностью полагая, что затраты окупятся, то у специалистов по Java такой уверенности до сих пор нет. По оценкам Смелянсткого, в центре обучения RedLab подготовку по Java прошли не более 30 человек. Причем среди них не было представителей компаний, постоянно направляющих специалистов на обучение. Впрочем, Sun собирается открывать несколько Java-центров, где, видимо, потребуется достаточно много сертифицированных специалистов.

За прошедший год курсы по Java организовывались только два раза, причем численность каждой из групп не превышала 12 человек. Обучение проводилось по программе, авторизованной компанией Sun, и после его окончания вручались соответствующие сертификаты. Более подробную информацию о курсах, предлагаемых RedLab, можно найти во врезке "Курсы по Java в RedLab". Сейчас готовятся новые курсы - по технологии JavaBeans и распределенным вычислениям (стандарт CORBA, спецификации RMI и другие), а также и семинар по Java-технологии. Все курсы авторизованы Sun. Помимо обучения собственно языку Java, RedLab также собирается организовать курсы, посвященные инструменту разработки Java-приложений JBuilder.

Кроме авторизованных курсов, сотрудником компании Андреем Санниковым прочитан курс лекций для студентов Московского государственного университета. Предполагалось, что курс прослушают 20 человек, однако записалось на него 286 студентов, а успешно сдали экзамены около 180. Курс основан на спецификации JDK 1.1 и требовал от слушателей знания основ объектно-ориентированного программирования. Лекции по изучению этих основ также читаются в МГУ (например, "Технология программирования" и "Языки программирования").

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

Чтобы сделать технологию популярной, недостаточно ее просто создать. Она должна появиться именно тогда, когда в ней есть заинтересованность. Это полностью относиться и к Java, так как она возникла в тот момент, когда резко возросли потребности в многоплатформенных системах и распределенных вычислениях. Именно эта ситуация и обеспечила популярность Java. Если есть потребность в технологии, то будет и желание вкладывать в нее деньги и обучать специалистов - и технология продолжит свое развитие.

Тел./факс компании RedLab: (095) 939-4671, 939-2596


Курсы по Java в RedLab

SL-230. Основы программирования на языке Java

Продолжительность курса - 2 дня.

Курс предназначен для программистов, предполагающих использовать язык Java при разработке надежных, переносимых, распределенных сетевых приложений, работающих в различных оконных системах, а также для администраторов, использующих Java-приложения для улучшения интерактивных качеств Web-серверов. По окончании курса слушатели смогут:

  • использовать язык HTML для описания страниц своего Web-сервера;
  • создавать Java-приложения с использованием компьютерной анимации, звуковых и видеоэффектов;
  • подключать Java-приложения к Web-страницам;
  • применять концепцию объектно-ориентированного программирования;
  • создавать оконные Java-приложения;
  • работать с графикой, звуком и мышью;
  • работать с библиотекой классов.

    SL-270. Разработка приложений на языке Java

    Продолжительность курса - 3 дня.

    Курс предназначен для разработчиков, знакомых с современными языками программирования и объектно-ориентированными технологиями. По окончании курса слушатели научатся:

  • создавать приложения, использующие анимацию;
  • проектировать и реализовывать графический оконный интерфейс пользователя;
  • создавать автономные оконные Java-приложения;
  • разрабатывать многопоточные приложения;
  • создавать Java-приложения, использующие файловый ввод/вывод;
  • создавать Java-приложения, реализующие сетевое взаимодействие "клиент-сервер" на базе стека протоколов TCP/IP.

    Все курсы проводятся опытными инструкторами, прошедшими подготовку и имеющими соответствующие сертификаты. В центре есть три аудитории с установленными в них станциями SPARCstation, каждая из которых рассчитана максимум на 12 человек.

    Источник: Каталог курсов Авторизованного центра обучения RedLab