- Перспективы развития технологий программирования
- Контрольные вопросы
- Эволюция и перспективы языков программирования
- Перспективы развития языков программирования
- Стремление к совершенству
- Нацеленность на эффективность
- Повышение сложности задач
- Продление жизненного цикла ПО
- Самый первый и самый популярный
- Fortran
- Java
Перспективы развития технологий программирования
Развитие информационных технологий сопровождается появлением новых и совершенствованием существующих подходов к программированию. Все разрабатываемые технологии создания программ должны поддерживаться языками программирования. Увеличение сложности решаемых задач требует создания новых, более мощных, ориентированных на проблемную область, языков программирования. Кроме того, языки программирования должны обеспечивать продление жизненного цикла программ.
По мнению многих исследователей, развитие языков программирования в ближайшее время будет двигаться в направлении все большей абстракции, изменения уровня детализации и наибольшего упрощения. Это приведет к повышению надежности процесса создания программ и уменьшению количества допускаемых разработчиками ошибок.
Рассмотрим еще некоторые направления развития языков программирования.
В последнее время в связи развитием Интернет-технологий широкое распространение получили языки сценариев или скрипты. Первоначально эти языки использовались в качестве внутренних управляющих языков в различных сложных системах. В настоящее время многие из них уже вышли за пределы своего изначального применения и используются во многих областях.
Наиболее распространенными скриптовыми языками являются:
- • JavaScript — создан в компании Netscape Communications в качестве языка для описания сложного поведения веб-страниц;
- • VBScript — создан в корпорации Microsoft во многом в качестве альтернативы JavaScript;
- • Perl создавался в помощь системному администратору операционной системы Unix для обработки различного рода текстов и выделения нужной информации. Развился до мощного средства работы с текстами.
Характерные особенности скриптовых языков:
- • инерпретируемость (компиляция невозможна или крайне нежелательна);
- • простота синтаксиса;
- • легкая расширяемость.
В настоящее время получили развитие программно-аппаратные комплексы, позволяющие организовать параллельное выполнение различных частей одного и того же вычислительного процесса. Для организации подобных вычислений требуется поддержка со стороны языков программирования. Некоторые языки общего назначения содержат элементы поддержки параллелизма, однако для программирования истинно параллельных систем требуются специальные средства.
Язык Occam был создан в 1982 г. и предназначен для программирования многопроцессорных систем распределенной обработки данных. Он описывает взаимодействие параллельных процессов в виде каналов — способов передачи информации от одного процесса к другому.
В 1985 г. была предложена модель параллельных вычислений Linda. Основной ее задачей является организация взаимодействия между параллельно выполняющимися процессами. Это достигается за счет использования глобальной области данных. Один процесс может поместить туда некоторую совокупность данных, а другой — ожидать появления в области необходимой порции данных. Следует отметить, что Linda — это модель параллельных вычислений, она может быть добавлена в любой язык программирования.
В настоящее время дальнейшее развитие получает парадигма объектно-ориентированного программирования. В частности, в рамках этой парадигмы можно выделить аспектно-ориентированное (АОГ1) и субъектно-ориентированное (СОИ) программирование.
В современном ПО, как правило, можно выделить определенные части, или аспекты, отвечающие за ту или иную функциональность, реализация которой рассредоточена по коду программы, но состоит из схожих кусков кода. АОП предполагает наличие языковых средств, позволяющих выделять сквозную функциональность в отдельные модули. Это позволяет упрощать работу (отладку, модифицирование, документирование и т.д.) с компонентами программной системы и снижать сложность системы в целом.
СОИ — это метод построения сложных систем как композиции субъектов. Субъект — приложение, способное самостоятельно реализовывать задачу, имеющую несколько путей решения. В отличие от объекта, субъект может сам выбирать этот путь, т.е. способен корректировать последовательности своих действий для достижения поставленной цели. Стратегия управления такими приложениями должна основываться не на конкретных командах операционной системы, а на инструкциях. При управлении объектами используются их отдельные методы, субъекту же указывается номер инструкции, на основании которой он функционирует, и он самостоятельно будет управлять своими методами, чтобы достичь результата.
Контрольные вопросы
- 1. Какие этапы эволюции прошли технологии программирования?
- 2. Какие языки и методы программирования вы знаете?
- 3. Какие языки программирования называются языками высокого уровня?
- 4. Какая модель построения программ лежит в основе технологии процедурного программирования?
- 5. Каковы основные методы процедурного программирования?
- 6. На чем основывается концепция объектно-ориентированного программирования?
- 7. Каковы основные принципы объектно-ориентированного программирования?
- 8. Что такое компонентные технологии и CASE-технологии?
- 9. В чем преимущества и недостатки языков сценария?
- 10. Какова область применения языков параллельных вычислений?
Эволюция и перспективы языков программирования
Фото: IBM 704, для которой изначально и разрабатывался Fortran. Wikimedia Commons, public domain
Все используемые на сегодняшний день языки программирования можно разделить на пять поколений.
- Первое относится к 50-х годам прошлого века. На этот период приходится появление машинно-зависимых языков низкого уровня, в том числе языка Ассемблер (Assembler).
- С конца 50-х годов и в течение следующих 10-ти лет возрастает скорость разработки, повышается надежность программ.
- В 60-е – 70-е происходит всплеск повышения труда программистов. Появляются универсальные языки программирования с помощью которых удается решать самые разноплановые задачи. Их отличительными особенностями становятся относительная простота, независимость от какого-то конкретного компьютера, использование сложных и мощных синтаксических конструкций.
- С 70-х годов начинают создаваться языки, ориентированные на реализацию крупных проектов, повышение их надежности и скорости создания. Появляются объектно-ориентированные языки.
- Начиная с середины 90-х отрасль пополняется языками программирования для интернета (XML, Perl, HTML, PHP).
Перспективы развития языков программирования
Говоря о тенденциях развития языков программирования, для начала стоит обозначить те движущие силы, которые способствовали их эволюции и продолжают оказывать существенное влияние на их дальнейшее развитие.
Стремление к совершенству
ЯП является тем незаменимым инструментом, который служит программисту для создания ПО – это прописная истина, с которой сложно не согласиться. Чем лучше язык программирования, тем более совершенную программу удается написать.
Нацеленность на эффективность
Создание ПО во многом можно сравнить с производством, где среди прочих важнейших факторов, определяющими являются: производительность труда команды разработчиков, издержки и качество конечного продукта. Все разрабатываемые технологии создания программ должны поддерживаться языками программирования.
Повышение сложности задач
С каждым днем задачи, решаемые с использованием компьютеров, становятся все сложнее и разнообразней. Это приводит к тому, что лучшие умы планеты в лице талантливых разработчиков, стремятся к созданию новых, более мощных, ориентированных на проблемную область, языков программирования.
Продление жизненного цикла ПО
Языки программирования должны помогать разработчикам в нелегкой борьбе за продление жизненного цикла программ. Ведь не актуальный, морально и технически устаревший продукт мало кому интересен.
Выделить общую тенденцию развития языков программирования не так просто. При этом можно предположить, что этот процесс в ближайшее время будет двигаться в направлении все большей абстракции. Основные программы программирования будут стремиться к изменению уровня детализации, наибольшему упрощению. Это приведет к повышению надежности процесса создания ПО как такового и уменьшению количества допускаемых разработчиками ошибок.
Самый первый и самый популярный
Fortran
Одним из первых ЯП является Фортран (FormulaTranslation). Созданный в 50-х годах прошлого века, он по-прежнему остается актуальным. Столь завидное долголетие языку во многом обеспечили простота и накопление значительного объема данных.
Сегодня Fortran используется в различных областях наук, в том числе для решения математических и физических задач, для разного рода научных и инженерных расчетов, для моделирования погоды и климата и т.д. Это жестко-стандартизированный язык, который без проблем переносится на различные платформы.
Изначально выразительные средства Фортран были довольно ограниченны. Однако на пути своего развития он дополнялся разноплановыми лексическими конструкциями. Причем многие из них характеризуют функциональное, структурное и даже объектно-ориентированное программирование.
Java
К появлению, без преувеличения, наиболее используемого и востребованного ЯП современности, привело стремление разработчиков создавать программы, которые не зависели бы от типа компьютера и операционной системы. Java не только отвечает за выполнение программ, которые распространяются посредством Web-страниц, но и поддерживает все средства новых ИТ. Рекомендуем начать учить джаву с нашего бесплатного интенсива по java-программированию.
Сочетая в себе языки С и С++, Java объективно является наиболее мощным инструментом для создания кроссплатформенных приложений. Можно сказать, что принцип его работы заключен в выражении: «Write Once, Run Anywhere».Согласно данным TIOBE ЯП Java стал самым популярным в 2015 году.
Несмотря на все отличия и субъективные особенности языков Fortran и Java, оба они являются результатом эволюционных процессов, сотрясающих мир программирования. Эти языки продолжают решать сложнейшие задачи, остаются востребованными и продолжают развиваться. Что будет дальше посмотрим, ведь эволюция — естественный процесс, предотвратить который невозможно.
Фортрану не учим, зато учим Java: профессия «Java-разработчик».