Языки и технологии программирования. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Языки и технологии программирования.



Технология программирования -совокупность методов и средств, используемых в процессе разработки программного обеспечения. Набор технологических инструкций включает:1)указание последовательности выполнения технологических операций; 2)перечисление условий, при которых выполняется та или иная операция; 3)описания самих операций, где для каждой операции определены исходные данные, инструкции, и др.

Модульное программирование предполагает выделение групп подпрограмм, использующих одни и те же глобальные данные, в отдельно компилируемые модули (библиотеки подпрограмм), например, модуль графических ресурсов. Связи между модулями осуществляются через специальный интерфейс, в то время как доступ к реализации модуля запрещен. Эту технологию поддерживают современные версии языков Pascal и С (C++), языки Ада и Modula. Объектно-ориентированное программирование (ООП) определяется как технология создания сложного программного обеспечения, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного типа (класса), а классы образуют иерархию с наследованием свойств. Взаимодействие программных объектов в такой системе осуществляется путем передачи сообщений. В наст.время созданы среды, поддерживающие визуальное программирование, например, Delphi, C++ Builder, Visual C++ и т. д.

Язык программирования (англ. Programming language) - система обозначений для описания алгоритмов и структур данных, определенная искусственная формальная система, средствами которой можно выражать алгоритмы. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполняет исполнитель (компьютер) под ее управлением.

Языки программирования низкого уровня Первым компьютерам приходилось программировать двоичными машинными кодами. Однако программировать таким образом - достаточно трудоемкая и сложная задача. Для упрощения этой задачи стали появляться языки программирования низкого уровня, которые позволяли задавать машинные команды в более понятном для человека виде. Для преобразования их в двоичный код были созданы специальные программы - трансляторы. Языки программирования высокого уровня (Фортран, Кобол, Алгол, Pascal, Java, C, C++, C#, Objective C, Smalltalk Delphi) Особенности конкретных компьютерных архитектур в них не учитываются, поэтому созданные программы легко переносятся с компьютера на компьютер. Разрабатывать программы на таких языках гораздо проще и ошибок допускается меньше. Значительно сокращается время разработки программы. Недостатком языков высокого уровня является больший размер программ по сравнению с программами на языке низкого уровня. Поэтому в основном языки высокого уровня используются для разработок программного обеспечения компьютеров и устройств, которые имеют большой объем памяти. А разные подвиды ассемблера применяются для программирования других устройств, где критичным является размер программы.

 

Процедурное, функциональное, объектно-ориентированное и логическое

Программирование.

Под системой программирования понимают совокупность языка программирования и виртуальной машины, обеспечивающей выполнение на реальной машине программ, составленных на этом языке.Языком программирования называют систему обозначений, служащую в целях точного описания алгоритмов для ЭВМ или по крайней мере достаточную для автоматического нахождения такого алгоритма. Эти языки являются искусственными языками со строго определенным синтаксисом и семантикой, поэтому они не допускают свободного толкования конструкций, характерного для естественного языка (языка общения между людьми).

Процедурное (императивное) программирование (Basic, Pascal)является отражением архитектуры традиционных ЭВМ, которая была предложена фон Нейманом в 40-х годах. Теоретической моделью процедурного программирования служит алгоритмическая система под названием «машина Тьюринга». Программа на процедурном языке программирования состоит из последовательности операторов (инструкций), задающих процедуру решения задачи. Основным является оператор присваивания, служащий для изменения содержимого областей памяти. Концепция памяти как хранилища значений, содержимое которого может обновляться операторами программы, является фундаментальной в императивном программировании. ыполнение программы сводится к последовательному выполнению операторов с целью преобразования исходного состояния памяти, то есть значений исходных данных, в заключительное, то есть в результаты. Таким образом, с точки зрения программиста имеются программа и память, причем первая последовательно обновляет содержимое последней. Особенность таких языков программирования состоит в том, что задачи разбиваются на шаги и решаются шаг за шагом. Используя процедурный язык, программист определяет языковые конструкции для выполнения последовательности алгоритмических шагов. Процедурные языки характеризуются следующими особенностями:необходимостью явного управления памятью, в частности, описанием переменных;малой пригодностью для символьных вычислений;отсутствием строгой математической основы;высокой эффективностью реализации на традиционных ЭВМ.

Функциональное программирование. (Clojure,Common Lisp,F#)предполагает обходиться вычислением результатов функций от исходных данных и результатов других функций, и не предполагает явного хранения состояния программы. Соответственно, не предполагает оно и изменяемость этого состояния (в отличие от императивного, где одной из базовых концепций является переменная, хранящая своё значение и позволяющая менять его по мере выполнения алгоритма). Аппликативный язык программирования включает следующие элементы: классы констант, которыми могут манипулировать функции; набор базовых функций, которые программист может использовать без предварительного объявления и описания; правила построения новых функций из базовых; правила формирования выражений на основе вызовов функций. Программа представляет собой совокупность описаний функций и выражения, которые необходимо вычислить. Данное выражение вычисляется посредством редукции, то есть серии упрощений, до тех пор, пока это возможно по следующим правилам: вызовы базовых функций заменяются соответствующими значениями; вызовы небазовых функций заменяются их телами, в которых параметры замещены аргументами. Функциональное программирование не использует концепцию памяти как хранилища значений переменных.

Логическое программирование( Prolog.) —основано на теории и аппарате математической логики с использованием математических принципов резолюций.Процесс выполнения программы трактуется как процесс общезначимости логической формулы, построенной из программы по правилам, установленным семантикой используемого языка. Языки логического программирования характеризуются: высоким уровнем; строгой ориентацией на символьные вычисления; возможностью инверсных вычислений, то есть переменные в процедурах не делятся на входные и выходные; возможной логической неполнотой, поскольку зачастую невозможно выразить в программе определенные логические соотношения, а также невозможно получить из программы все выводы правильные. Логические программы, в принципе, имеют небольшое быстродействие, так как вычисления осуществляются методом проб и ошибок, поиском с возвратами к предыдущим шагам. Программы пишутся не в виде последовательности инструкций, а в виде множества фактов и правил, а процесс выполнения программы сводится к выводу нужных результатов из этого множества. Логическое программирование относится к декларативному программированию, поскольку программа на нём скорее описывает свойство задачи, нежели алгоритм её решения.

Объектно-ориентированное программирование C++ и Java.)-основными концепциями являются понятия объектов и классов. Для описания объектов служат классы. Класс определяет свойства и методы объекта, принадлежащего этому классу. Соответственно, любой объект можно определить как экземпляр класса. Программирование заключается в выборе имеющихся или создании новых объектов и организации взаимодействия между ними. При создании новых объектов свойства объектов могут добавляться или наследоваться от объектов-предков. В процессе работы с объектами допускается полиморфизм — возможность использования методов с одинаковыми именами для обработки данных разных типов.

 



Поделиться:


Последнее изменение этой страницы: 2016-06-22; просмотров: 2417; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.97.61 (0.007 с.)