Возрастание потенциала программного обеспечения, а также потребность компаний в создании гибких и быстрых систем, привели к возникновению новых методов разработки приложений. Примерами новых технологий создания ПО могут служить объектно-ориентированное программирование и язык Java.
Объектно-ориентированное программирование
Традиционные методы разработки программного обеспечения рассматривают данные и процедуры как независимые компоненты. Когда программисту необходимо сделать что-либо с отдельным массивом данных, он должен написать специально для этой операции отдельную процедуру. Процедуры работают с данными, которые им передает программа.
Что делает объектно-ориентированное программирование отличным от традиционного?
В объектно-ориентированном программировании (object-oriented programming) данные и предназначенные для их обработки процедуры соединяются в один объект (object). Объект, таким образом, представляет собой комбинацию данных и программного кода. Вместо передачи данных процедурам, программа посылает объекту сообщение (message) выполнить процедуру, уже встроенную в него. (В объектно-ориентированных языках программирования процедуры называются методами [methods]). То же сообщение может быть послано множеству других объектов, но каждый объект будет обрабатывать сообщение отлично от другого.
Например, объектно-ориентированное финансовое приложение может содержать объекты "Заказчик", которые отсылают сообщения объектам "Счет". Объекты "Счет", в свою очередь, могут содержать объекты "Наличные деньги", "Счета к оплате", "Оплаченные счета".
Данные объекта скрыты от других частей программы, и могут быть обработаны только внутри объекта. Способ обработки данных объекта может изменяться внутри самого объекта, не оказывая влияния на остальные части программы. В то же время, дочерние объекты могут наследовать свойства родительских, что упрощает процесс разработки приложений. Программисты могут сфокусировать свое внимание на том, что объект должен сделать, а объект решает, как это сделать. Поскольку данные объекта инкапсулированы (то есть, отделены) от других частей системы, каждый объект представляет собой отдельный программный блок, который может быть использован во многих различных системах без изменения исходного кода. Следовательно, можно предположить, что объектно-ориентированное программирование уменьшит время и стоимость разработки программного обеспечения, предоставив разработчикам повторно используемый код, который можно использовать на самых разных аппаратных платформах. Некоторые аналитики считают, что в будущем программирование сведется к созданию приложений на основе данных библиотек повторно используемого кода.
Объектно-ориентированное программирование привело к возникновению новой технологии, визуальному программированию (visual programming). При использовании визуального программирования программистам не нужно писать код программ. Вместо этого они с помощью мыши копируют необходимые объекты из библиотек или устанавливают связи между объектами простым рисованием линий.
Язык Java и революция в программном обеспечении
Java – язык программирования, разработанный в Sun Microsystems, способный ключевым образом изменить подходы к созданию приложений.
Традиционно, приложения выполняют, как правило, одну, главную функцию, но содержат множество других, дополнительных функций. Например, популярные текстовые редакторы включают помимо основных возможностей, таких как установка полей, абзацев, межстрочного интервала, написания букв, множество других функций – возможность работы с нумерованными и маркированными списками, верхним и нижним колонтитулами, графикой, почтовой рассылкой, проверкой орфографии и грамматики и многими другими. Кто-то пользуется некоторыми из этих возможностей, но никому из пользователей не нужны они все сразу. Некоторые приложения весьма требовательны к аппаратным возможностям компьютеров. Кроме того, часто программы могут запускаться только на тех типах компьютеров, для которых они были разработаны.
Технология Java
Java – это объектно-ориентированный язык программирования, комбинирующий данные и определенные функции обработки этих данных. Java сконструирован таким образом, что программист может создавать апплеты (applets) – крохотные Java-программки, каждая из которых выполняет одну небольшую функцию. К примеру, чтобы изменить данные о подчиненных какого-либо работника, вместо запуска целой персональной информационной системы, вы можете запустить только маленький апплет для выполнения именно этой операции. Теперь, если допустить, что ваша информационная система написана на Java и находится на сервере локальной сети вашей организации, а не на вашем ПК, все, что потребуется вашей программе – запросить у системы на сервере необходимые данные. Будут получены только те данные, которые вам необходимы. Когда вы закончите обработку, вы сохраните результаты работы на сервере, а ненужная уже информация автоматически исчезнет с вашего ПК. Заметьте, что такая система не потребует от пользователя забот, связанных с приобретением ПО, его установкой, настройкой, обновлением и аппаратной несовместимостью. Технология Java позволяет хранить все программное обеспечение в сети, загружать его на ПК при необходимости, а затем удалять с этого ПК, когда обработка закончена.
Язык Java был специально разработан для использования в Интернет, но он также может быть использован в качестве основного языка программирования для разработки корпоративных приложений. Любой компьютер, удовлетворяющий стандартам работы в Интернет, может соединиться через локальную или глобальную сеть с другим компьютером, подключенным к Интернет. Причем неважно, принадлежат эти компьютеры к одной или разным платформам. Таким образом, Java – это кросс-платформенная технология, позволяющая выполнять Java-программы на различных компьютерных системах, независимо от того, какие микропроцессоры или операционные системы эти компьютеры используют.
Поскольку Java является технологией, ориентированной на использование в сетях, разработчики Sun уделили много внимания проблеме обеспечения безопасности. Однако, это не спасает пользователей от проблем – уже существуют Java-вирусы, очень опасные именно потому, что появляются и выполняются они на компьютере незаметно для пользователя, ну и конечно, как и положено Java-программам, ничего после себя не оставляют – ни программ, ни данных, ни самих себя. К недостаткам Java можно также отнести большую сложность в освоении этой технологии. Создатели Java сами не заметили, как их язык программирования постепенно по сложности приблизился к C, так что пока Java остается языком не для пользователей, а для профессионалов.
Примеры прикладного программного обеспечения.
Менеджер загрузок
Менеджер загрузок предназначен для автоматизации и ускорения загрузок различных файлов из сети Internet. Как правило, программы такого класса умеют создавать несколько одновременных подключений к файлу, находящемуся на FTP или HTTP прокси-сервере, что уменьшает время скачивания, автоматически докачивать файлы, если по каким-либо причинам произошел обрыв связи, а также планировать работу на определенное время, что позволяет загружать файлы во момент наибольшей разгрузки сети. (Download Master)
Архиваторы
7-Zip
Архиватор 7-Zip — архиватор с высокой степенью сжатия. Поддерживает ZIP, 7z, RAR, CAB, GZIP, BZIP2 и TAR архивы. Степень сжатия для ZIP формата на 2-10 % выше, чем у PKZip/WinZip. Высокая скорость. Есть версия для командной строки и плагин для FAR Manager, который позволяет работать с архивами без внешних архиваторов.
WinRar — один из известнейших архиваторов, поддерживающий большое количество архивов. Прост в использовании, обладает высокой степенью сжатия файлов. Имеет возможность создавать самораспаковывающиеся архивы (SFX), добавлять информацию для восстановления, комментарий, блокировать архивы от изменений, а также разбивать архив на несколько томов (т.е. с возможностью создавать тома любого размера).
Плееры видео-файлов
Плееры видео-файлов — это программы, с помощью которых можно проигрывать wav, avi, mid, но и mp3, qt, avs, wms, wmf, wmv, wma, aiff и другие форматы.
В последнее время все большее распространение получает DivX — технология видеозаписи, позволяющая практически без потери качества получать видео-файлы значительно меньшего размера, чем DVD.
Bsplayer
Один из лидеров среди плееров, поддерживающих DivX. Хорошее качество воспроизведения, умение масштабировать изображение, небольшая нагрузка на процессор, поддержка субтитров, возможность просмотра фильма на нескольких языках — вот основные черты этого проигрывателя. И об интерфейсе: он прост, понятен и допускает свое изменение с помощью скинов.
JetAudio
Универсальный проигрыватель музыкальных и видео-файлов, риппер, конвертер и т.д., в общем, все в одном комплекте. Программа поддерживает практически все музыкальные форматы (т.е. MP3, MP2, WAV, MID, REAL AUDIO/VIDEO, S3M, MOD, MPG, AVI, MOV, Video/Audio CD, RealPlayer G2 и некоторые другие форматы мультимедийных файлов). Позволяет записывать аудио-компакт-диски или копировать их содержимое на жесткий диск ПК, а также накладывать на композиции различные эффекты. Программа поддерживает синхронизацию для караоке, имеется эквалайзер, конвертер форматов, редактор тэгов, кроссфейдинг, субтитры и т.д.
ICQ–клиенты
ICQ — это интернет-пейджер, предназначенный для обмена короткими текстовыми сообщениями между пользователями сети. ICQ привлекает прежде всего возможностью общения в режиме реального времени. Если вам необходимо что-то спросить у друга, либо просто перекинуться парой фраз, обсудить дела или просто познакомиться с людьми со всего мира, необходимо установить программу и зарегистрироваться. При регистрации в сети ICQ каждому пользователю назначается уникальный идентификационный номер (UIN). По этому номеру ваши друзья и знакомые могут найти вас среди миллионов других пользователей ICQ. После регистрации в контакт-лист программы (т.е. в список Ваших собеседников) можно добавлять пользователей ICQ, а также осуществлять поиск по соответствующим параметрам. При этом Ваш контактный лист хранится на сервере ICQ, что дает возможность загружать его с любого компьютера, где бы Вы ни находились.