Языки
программирования
В настоящее время в
мире существует несколько сотен реально
используемых языков программирования.
Для каждого есть своя область применения.
По этому критерию можно
выделить следующие уровни языков
программирования:
- машинно-независимые (языки высокого уровня).
Машинные
языки
и
машинно-ориентированные
языки
— это
языки
низкого
уровня,
требующие
указания
мелких
деталей
процесса
обработки
данных.
Языки
же
высокого
уровня
имитируют
естественные
языки,
используя
некоторые
слова
разговорного
языка
и
общепринятые
математические
символы.
Эти
языки
более
удобны
для
человека.
Языки высокого уровня
делятся на:
- процедурные (алгоритмические) (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов; для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения;
- логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;
- объектно-ориентированные (Object Pascal, C++, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над нами. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути описывает часть мира, относящуюся к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.
Алфавит
— это
фиксированный
для
данного
языка
набор
основных
символов,
т.е.
"букв
алфавита",
из
которых
должен
состоять
любой
текст
на
этом
языке
— никакие
другие
символы
в
тексте
не
допускаются.
Синтаксис
— это
правила
построения
фраз,
позволяющие
определить,
правильно
или
неправильно
написана
та
или
иная
фраза.
Точнее
говоря,
синтаксис
языка
представляет
собой
набор
правил,
устанавливающих,
какие
комбинации
символов
являются
осмысленными
предложениями
на
этом
языке.
Семантика
определяет
смысловое
значение
предложений
языка.
Являясь
системой
правил
истолкования
отдельных
языковых
конструкций,
семантика
устанавливает,
какие
последовательности
действий
описываются
теми
или
иными
фразами
языка
и,
в
конечном
итоге,
какой
алгоритм
определен
данным
текстом
на
алгоритмическом
языке.
Чтобы
работать
с
компьютерами
первого
поколения,
программисты
писали
свои
программы
в
машинных
кодах
(machine
language)
– то
есть
с
помощью
одних
только
нулей
и
единиц.
Конечным
пользователям
приходилось
тесно
взаимодействовать
с
программистами,
которым,
в
свою
очередь,
чтобы
разрабатывать
приложения
в
машинных
кодах,
приходилось
даже
думать
в
той
манере,
как
работают
компьютеры.
Программирование
с
помощью
двоичного
кода
(все
операции,
такие
как
сложение,
вычитание
и
прочие,
а
также
сами
данные,
переводились
в
последовательность
0
и
1)
было
очень
медленным
и
трудоемким
процессом.
С развитием аппаратного обеспечения компьютеров, увеличивалась скорость обработки и емкость памяти. Это привело к изменениям в языках программирования – они стали проще и понятнее для людей. Языки программирования в своем развитии прошли практически те же стадии, что и сами компьютеры (см. Поколения компьютеров в Гл. 1). Диаграмма на Рис. 2.6 показывает, как происходило развитие языков программирования вместе с поколениями компьютеров за последние 50 лет. Основная тенденция – увеличение простоты взаимодействия пользователя с аппаратным и программным обеспечением компьютеров.

Машинные
коды
были
языком
программирования
первого
поколения.
Второе
поколение
ознаменовалось
появлением
в
начале
50х
годов
языка
программирования
Ассемблера
(assembly
language).
Вместо
одних
только
нулей
и
единиц,
программисты
теперь
могли
пользоваться
операторами,
которые
были
похожи
на
слова
английского
языка.
Компилятор
преобразовывал
эти
выражения
в
машинные
коды.
Вместе с появлением компьютеров третьего поколения, развитие языков программирования также вступило в новую фазу. Период с середины 50-х до 70-х годов отмечен появлением первых языков программирования высокого уровня (high-level languages). Эти языки впервые позволили ученым (прежде всего, математикам) работать с компьютерами. Язык программирования FORTRAN позволял довольно легко определять переменные и использовать для вычислений математические выражения. Для языков высокого уровня, таких как FORTRAN и COBOL, понадобились более быстрые, высокоэффективные компиляторы, поскольку при преобразовании исходного кода, выходные программы получались большими.
Четвертое поколение языков программирования зародилось в конце 70-х, а развитие их продолжается по сей день. Эти языки существенно уменьшили время разработки ПО и позволили выполнять эту работу даже людям без технического образования, и не прибегая к помощи профессиональных программистов. Сегодня для выполнения многих задач программирование как таковое вообще не требуется. Например, появление приложений электронных таблиц (spreadsheets), таких как Microsoft Excel, позволяет обычным пользователям обрабатывать финансовую информацию и управлять большими массивами данных. В 60-х и 70-х годах так просто, без применения языков программирования, использовать возможности компьютеров было невозможно.
Вместе с появлением компьютеров третьего поколения, развитие языков программирования также вступило в новую фазу. Период с середины 50-х до 70-х годов отмечен появлением первых языков программирования высокого уровня (high-level languages). Эти языки впервые позволили ученым (прежде всего, математикам) работать с компьютерами. Язык программирования FORTRAN позволял довольно легко определять переменные и использовать для вычислений математические выражения. Для языков высокого уровня, таких как FORTRAN и COBOL, понадобились более быстрые, высокоэффективные компиляторы, поскольку при преобразовании исходного кода, выходные программы получались большими.
Четвертое поколение языков программирования зародилось в конце 70-х, а развитие их продолжается по сей день. Эти языки существенно уменьшили время разработки ПО и позволили выполнять эту работу даже людям без технического образования, и не прибегая к помощи профессиональных программистов. Сегодня для выполнения многих задач программирование как таковое вообще не требуется. Например, появление приложений электронных таблиц (spreadsheets), таких как Microsoft Excel, позволяет обычным пользователям обрабатывать финансовую информацию и управлять большими массивами данных. В 60-х и 70-х годах так просто, без применения языков программирования, использовать возможности компьютеров было невозможно.
Большинству
менеджеров не нужно быть профессиональными
программистами, но они должны понимать,
как происходила эволюция программного
обеспечения, чтобы выбрать верную
платформу для создания информационной
системы организации. Здесь мы коротко
опишем наиболее популярные языки
программирования высокого уровня.
Многие
программисты
продолжают
использовать
Ассемблер,
так
как
этот
язык
программирования
дает
им
полный
контроль
над
аппаратным
обеспечением
компьютера
и
генерирует
очень
эффективный
исполняемый
код.
Как
и
машинные
коды,
Ассемблер
(см.
Рис.
2.7)
разрабатывается
под
определенные
типы
компьютеров
и
микропроцессоров.
Несмотря
на
описанные
преимущества,
программирование
на
этом
языке
требует
больших
затрат
времени,
он
труден
для
изучения
и
понимания;
программы,
написанные
на
Ассемблере
трудно
отлаживать.
Ассемблер
сегодня
используется
в
основном
для
написания
системного
ПО.
FORTRAN
– FORmula
TRANslator
(Рис.
2.8)
был
спроектирован
в
1956
году
в
основном
для
инженеров,
математиков
и
ученых,
которые
имеют
в
основном
дело
с
формулами
и
проблемами,
ориентированными
на
вычисления.
На
FORTRANе
можно
довольно
просто
описывать
сложные
вычисления,
манипулировать
массивами
и
распечатывать
выходные
множества
чисел.
Хотя
на
этом
языке
было
написано
немало
бизнес-приложений,
он
не
очень
подходит
для
частых
операций
ввода-вывода
и
работы
со
списками.
FORTRAN
сравнительно
легко
осваивается,
но
его
синтаксис
очень
требователен
к
точности
ввода
операторов,
что
вызывает
частые
ошибки
и
делает
сложной
отладку
программ.
COBOL
– Common
Business-Oriented
Language
(Рис
2.9)
– общий
язык
для
приложений,
ориентированных
на
бизнес
и
коммерцию.
COBOL
был
разработан
в
начале
60-х
годов,
для
того
чтобы
было
легче
писать
программы
для
бизнеса,
которые
могли
использоваться
в
таких
видах
деятельности
как
обработка
заказов,
ведение
бухгалтерии,
планирование
производства
и
т.д.
Данные,
которыми
оперирует
COBOL
– это,
прежде
всего,
записи,
файлы,
таблицы
и
списки.
Программы,
написанные
на
языке
COBOL,
относительно
понятны
даже
неспециалистам.
COBOL
и
FORTRAN
были
первыми
языками,
которые
действительно
сделали
программирование
доступным
для
обычных
людей.
Машинные
коды
и
ассемблер
были
слишком
тяжелыми
для
изучения
и
трудными
в
использовании
для
любой
степени
применения.
Десятки тысяч студентов университетов в 60-х и начале 70-х годов впервые получили FORTRAN для обучения разработке простых программ. Пришло это через вводный курс по информатике либо как часть инженерного или математического учебного плана, но, обучившись языку FORTRAN, они познакомились с истинным значением слова компьютер. Позже большинство из них поняли, что огромный компьютерный мир постоянно меняется, но FORTRAN все еще нужен им для написания программ, которые решают их производственные проблемы. Даже сегодня в научном и инженерном сообществе язык FORTRAN еще достаточно распространен и превалирует над многими языками.
Десятки тысяч студентов университетов в 60-х и начале 70-х годов впервые получили FORTRAN для обучения разработке простых программ. Пришло это через вводный курс по информатике либо как часть инженерного или математического учебного плана, но, обучившись языку FORTRAN, они познакомились с истинным значением слова компьютер. Позже большинство из них поняли, что огромный компьютерный мир постоянно меняется, но FORTRAN все еще нужен им для написания программ, которые решают их производственные проблемы. Даже сегодня в научном и инженерном сообществе язык FORTRAN еще достаточно распространен и превалирует над многими языками.
BASIC
(Beginners
All-purpose
Symbolic
Instruction
Code)
был
создан
в
1964
году
для
обучения
студентов
колледжей
использованию
компьютеров.
Вероятно,
сегодня
BASIC
– один
из
самых
используемых
языков
программирования.
Это
простой
язык,
который
недавно
подошел
к
такому
уровню
развития,
при
котором
его
можно
использовать
даже
для
построения
больших
систем
высокой
производительности.
Слабая
сторона
BASICа
– то
что
он
выполняет
все
задачи
одинаково,
без
оптимизации
кода.
Хотя
BASIC
прост
и
привлекателен,
ему
очень
не
хватает
формальной
структуры,
которая
делает
язык,
подобный
C
и
C++,
более
подходящим
для
больших
проектов.
Названный
в
честь
Блеза
Паскаля,
французского
математика
и
философа,
язык
программирования
Pascal
был
разработан
швейцарским
профессором
компьютерных
наук
Никлаусом
Виртом
в
конце
60-х.
Программирование
на
Pascal
стало
весьма
популярным
на
платформе
микрокомпьютеров,
в
основном
благодаря
тому,
что
в
сочетании
с
высокоэффективным
выходным
кодом,
генерируемым
компилятором
этого
языка,
программы,
написанные
на
нем
занимают
немного
места
в
памяти.
Благодаря
наличию
возможностей
обработки
сложных
массивов
данных
и
набору
простых,
но
мощных
команд,
Pascal
применяют
в
основном
для
обучения
будущих
профессионалов
навыкам
программирования.
Для
начинающих
Pascal
слишком
сложен,
а
профессионалы
для
разработки
сложных
приложений
предпочитают
C.
Язык
С
(читается
"си")
был
разработан
в
начале
70-х
в
AT&T
Bell
Labs.
На
сегодня
эти
языки
являются
фактически
единственным
выбором
для
построения
операционных
систем
и
сложных
приложений,
таких
как
электронные
таблицы,
компиляторы,
сетевые
утилиты,
коммерческие
приложения
и
проч.
Операционные
системы
UNIX,
Linux
и
Windows
большей
частью
написаны
на
C,
даже
компилятор
C
написан
на
C.
Эти
мощные
и
сложные
языки
генерируют
быстрый
и
эффективный
код.
Работать
на
C
можно
на
любых
компьютерах
– от
микроЭВМ
до
мэйнфреймов.
Программист,
владеющий
С,
имеет
полный
контроль
над
средой
разработки
и
может
заставить
компьютер
делать
практически
все,
что
ему
нужно.
С
сильно
потеснил
COBOL
в
приложениях
для
бизнеса,
но
основная
область
его
применения
– коммерческие
пакеты
прикладных
программ
для
микрокомпьютеров
– серверов,
рабочих
станций
и
ПК.
Как
и
ожидалось,
эти
языки
очень
сложны,
и
для
того,
чтобы
овладеть
навыками
программирования
на
С,
одного
желания
мало
– нужен
талант,
как
и
в
случае
работы
с
Ассемблером
и
машинными
кодами.
В
компьютерном
мире
было,
по
крайней
мере,
две
неудавшиеся
попытки
разработать
и
внедрить
некий
универсальный
язык.
Первая,
в
середине
60-х,
ознаменовалась
изобретением
IBM
языка,
названного
PL/1.
Не
так
давно
Министерство
обороны
США
постановило
разработать
язык,
который
должен
был
затем
получить
статус
стандарта.
Это
усилие
было
не
более
успешным,
чем
попытка
IBM
продвинуть
PL/1,
заменяющий
сотни
языков
программирования,
широко
используемых
во
всём
мире.
PL/1
(Programming
Language
1)
был
разработан
компанией
IBM
в
1964
году.
Это
очень
мощный,
но
и
очень
сложный
многоцелевой
язык
программирования.
Он
пригоден
для
проектирования
как
научных,
так
и
бизнес-приложений
и
даже
операционных
систем
(огромная
операционная
система
MULTICS
была
написана
на
PL/1).
IBM,
бывшая
в
то
время
безоговорочным
лидером
в
мире
компьютеров,
провозгласила,
что
PL/1
стратегически
необходим
всем
компаниям.
Однако,
попытка
создать
универсальный
язык
провалилась
– программисты
не
желали
переучиваться
с
COBOLа
и
FORTRANа
на
абсолютно
новый
язык,
а
коммерческие
компании
не
хотели
тратить
миллионы
долларов
на
перепроектирование
своих
приложений,
написанных
на
COBOLе
и
FORTRANе.
Другую
попытку
создать
компьютерный
эсперанто
предприняло
в
1980
году
Министерство
обороны
США.
Отдав
привилегию
разрабатывать
язык,
названный
ADA,
международному
сообществу,
правительство
начало
обсуждать
заключение
контрактов
на
его
использование.
Язык
предполагалось
использовать
прежде
всего
для
разработки
программного
обеспечения
систем
вооружений.
Предполагалось,
что
он
будет
одинаково
эффективен
для
различных
аппаратных
платформ.
Специалисты,
работавшие
в
правительстве
США,
надеялись,
что
именно
ADA
станет
удачной
заменой
языкам
программирования,
применявшихся
в
бизнесе.
Но
этого
не
случилось
по
тем
же
причинам,
что
и
с
PL/1
– природа
языка
ADA
весьма
сложная.
Несмотря
на
привлекательность
в
некоторых
нюансах,
в
решении
других
проблем
ADA
сильно
ограничен.
В
1984
г.
началось
повальное
увлечение
системами
искусственного
интеллекта
(ИИ).
Считалось,
что
спустя
несколько
лет,
специалисты
компьютерной
сферы
наконец-то
научат
компьютеры
обучаться
самостоятельно.
Встраивая
ИИ
в
приложения,
можно
будет
в
конце
концов
избавиться
от
программирования
как
такового.
Программные
средства
будут
самостоятельно
адаптироваться
к
потребностям
пользователей,
а
фирмы
работать
с
системами,
создавшими
сами
себя.
Сегодня
в
это
верится
с
трудом.
В
течение
последующих
пяти
лет
интерес
к
ИИ
начал
постепенно
угасать.
Тем
не
менее,
именно
в
этой
сфере
нашли
применение
языки
Prolog
и
LISP.
LISP
был
создан
в
конце
50-х
годов
математиком
Джоном
Маккарти
(John
McCarthy),
который
ориентировал
этот
язык
на
формирование
из
вводимых
символов,
которые
в
свою
очередь
являлись
операторами,
переменными
и
значениями
данных,
значащих
списков.
LISP
больше
подходит
для
манипулирования
такими
списками,
чем
для
решения
громоздких
числовых
задач.
Prolog,
разработанный
в
1970
году,
также
подходил
для
этих
целей.
Отличается
же
Prolog
от
LISP
в
основном
тем,
что
с
первым
можно
работать
на
обычных
компьютерах,
а
второй
работает
лучше
на
машинах,
специально
созданных
для
работы
с
LISP.
К
языкам
четвертого
поколения
относятся
программные
инструменты,
которые
позволяют
пользователям
разрабатывать
программы,
обладая
минимальными
техническими
навыками,
а
также
новые
средства
разработки,
которые
повышают
производительность
труда
программистов.
Языки
четвертого
поколения
постепенно
становятся
менее
процедурными
или
даже
непроцедурными
в
сравнении
с
обычными
языками
программирования.
Процедурный
язык
требует
описания
последовательных
шагов,
или
процедур,
которые
"говорят"
компьютеру,
что
нужно
сделать
и
каким
образом
это
должно
быть
сделано.
Непроцедурные
языки
требуют
от
пользователя
только
указания,
что
надо
сделать,
без
подробного
описания,
как
это
должно
быть
выполнено.
Таким
образом,
с
помощью
непроцедурного
языка
можно
выполнить
некоторую
задачу,
описав
меньшее
число
шагов,
чем
при
решении
той
же
задачи,
пользуясь
процедурным
языком.
Существует семь категорий языков четвертого поколения: языки запросов, генераторы отчетов, графические языки, языки программирования очень высокого уровня, пакеты прикладных программ, а также некоторые виды программ для персональных компьютеров. На Рис. 2.10 показана схема этих приложений и даны примеры некоторых известных программ каждой из категорий.
Существует семь категорий языков четвертого поколения: языки запросов, генераторы отчетов, графические языки, языки программирования очень высокого уровня, пакеты прикладных программ, а также некоторые виды программ для персональных компьютеров. На Рис. 2.10 показана схема этих приложений и даны примеры некоторых известных программ каждой из категорий.
Некоторые
из
средств
разработки
четвертого
поколения
по-прежнему
ориентированы
на
профессиональных
программистов,
но
большинство
предназначено
для
обычных
пользователей.
|
Языки
запросов
(query
languages)
являются
языками
высокого
уровня,
которые
предназначены
для
извлечения
информации
из
баз
данных.
Обычно
эти
языки
интерактивны,
работают
в
реальном
режиме
времени
и
способны
формировать
запросы
к
нестандартизированным
данным.
Часто
они
бывают
тесно
связанными
с
системами
управления
базами
данных
и
некоторыми
другими
программами
для
ПК.
С
помощью
языка
запросов
можно
выполнять
поиск
необходимой
информации
в
базе
данных,
используя
простые
или
сложные
критерии
отбора,
с
последующим
выводом
результатов
поиска
на
экран
монитора
или
печатающее
устройство.
Языки
запросов
имеют
различные
синтаксис
и
структуру,
некоторые
из
них
поддерживают
не
только
поиск
информации,
но
и
динамическое
обновление
данных.
Пример
обычного
пользовательского
запроса,
выполненный
с
помощью
двух
различных
языков
запросов,
Query-by-Example
и
FOCUS,
вы
можете
видеть
на
Рис.
2.11.
Генераторы
отчетов
(report
generators)
– это
программные
инструменты
для
создания
пользовательских
отчетов.
Генераторы
отчетов
способны
извлекать
информацию
из
отдельных
файлов
или
баз
данных
и
создавать
на
основе
этой
информации
отчеты
различных
видов.
Как
правило,
эти
инструменты
дают
большую
свободу
в
оформлении
информации,
чем
языки
запросов.
Некоторые
мощные
генераторы
отчетов
позволяют
произвести
над
данными
различные
вычисления,
например,
вычислить
итоговую
сумму
или
среднее
значение.
Большинство
генераторов
отчетов
сегодня
входят
в
системы
управления
базами
данных.
Графические
языки
(graphical
languages)
позволяют
извлекать
данные
из
файлов
и
баз
данных
и
отображать
найденную
информацию
в
графическом
виде
(с
помощью
графиков
и
диаграмм).
Большинство
подобных
инструментов
могут
выполнять
над
данными
арифметические
и
логические
операции.
Примерами
популярных
графических
языков
могут
служить
SAS,
Harvard
Graphics
и
Lotus
Freelance
Graphics.
Генераторы
приложений
(application
generators)
содержат
запрограммированные
модули
кода,
которые
могут
генерировать
целые
приложения,
существенно
ускоряя
обработку.
Пользователь
может
указать,
что
он
хочет
получить,
и
генератор
приложений
создаст
соответствующий
программный
код
для
ввода,
проверки,
обновления,
обработки
и
вывода
данных.
Большинство
полнофункциональных
генераторов
приложений
содержат
полный
интегрированный
набор
инструментов
разработки:
систему
управления
базами
данных,
словарь
данных,
язык
запросов,
генератор
графики,
генератор
отчетов,
инструменты
поддержки
и
моделирования
принятия
решений,
средства
защиты,
а
также
язык
программирования
высокого
уровня.
Для
особых
ситуаций,
когда
требуемый
код
не
может
быть
получен
с
помощью
имеющихся
модулей
разработки,
во
многих
генераторах
приложений
предусмотрены
пользовательские
выходы
(user
exits),
куда
можно
вставлять
программный
код,
написанный
пользователем.
Языки
программирования
очень
высокого
уровня
(very
high-level
programming
languages)
служат
для
генерирования
программного
кода
с
меньшим
количеством
инструкций,
чем
у
обычных
языков,
таких
как
FORTRAN
или
COBOL.
Программы,
разрабатываемые
с
применением
языков
очень
высокого
уровня,
могут
созданы
в
более
короткие
сроки.
Хотя
некоторые
возможности
этих
языков
могут
быть
использованы
обычными
пользователями,
они
все
же
создавались
для
повышения
производительности
труда
профессиональных
программистов.
Окно
Организаций
показывает,
как
Канадская
телефонная
компания
использовала
один
из
таких
языков,
Magic,
для
решения
некоторых
задач.
Возрастание
потенциала
программного
обеспечения,
а
также
потребность
компаний
в
создании
гибких
и
быстрых
систем,
привели
к
возникновению
новых
методов
разработки
приложений.
Примерами
новых
технологий
создания
ПО
могут
служить
объектно-ориентированное
программирование
и
язык
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 остается языком не для пользователей, а для профессионалов
Язык Java был специально разработан для использования в Интернет, но он также может быть использован в качестве основного языка программирования для разработки корпоративных приложений. Любой компьютер, удовлетворяющий стандартам работы в Интернет, может соединиться через локальную или глобальную сеть с другим компьютером, подключенным к Интернет. Причем неважно, принадлежат эти компьютеры к одной или разным платформам. Таким образом, Java – это кросс-платформенная технология, позволяющая выполнять Java-программы на различных компьютерных системах, независимо от того, какие микропроцессоры или операционные системы эти компьютеры используют.
Поскольку Java является технологией, ориентированной на использование в сетях, разработчики Sun уделили много внимания проблеме обеспечения безопасности. Однако, это не спасает пользователей от проблем – уже существуют Java-вирусы, очень опасные именно потому, что появляются и выполняются они на компьютере незаметно для пользователя, ну и конечно, как и положено Java-программам, ничего после себя не оставляют – ни программ, ни данных, ни самих себя. К недостаткам Java можно также отнести большую сложность в освоении этой технологии. Создатели Java сами не заметили, как их язык программирования постепенно по сложности приблизился к C, так что пока Java остается языком не для пользователей, а для профессионалов

Комментариев нет:
Отправить комментарий