Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Е) По способу выполнения процессов ЯП делятся на языки поддерживающие последовательные и параллельные процессы вычислений




D) По уровню абстракции ЯП делятся на низкоуровневые и высокоуровневые.

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

Программа на ассемблере получается длинной, увеличивается вероятность появления ошибок. Для составления такой программы требуется знание архитектуры компьютера, это увеличивает трудоемкость программирования. Программа оказывается привязанной к конкретной архитектуре.

Это недостатки программирования на языках низкого уровня. Преимуществом является возможность «выжать» из компьютера все что можно, и прежде всего — максимум быстродействия.

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

 

 

Традиционной считается последовательная модель программирования.

В этом случае в любой момент времени выполняется только одна операция и только над одним элементом данных.

Последовательная модель универсальна. Ее основными чертами являются применение стандартных языков программирования (для решения вычислительных задач это, обычно, Fortran и С/С++), хорошая переносимость программ, но невысокая производительность.

Основными особенностями модели параллельного программирования являются более высокая производительность программ, применение специальных приемов программирования и, как следствие, более высокая трудоемкость программирования, проблемы с переносимостью программ.

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

Параллельные процессы вычисления
Ada, универсальный язык программирования, включающий в себя средства для создания параллельных программ. Официальный язык программирования министерства обороны США. Существует множество компиляторов для самых разных платформ, например, Ada-95
Java ООП, императивный, кросплатформенный, 1995 год
НОРМА - декларативный язык предназначен для записи численных методов решения задач математической физики разностными методами. Разработчик: Российская академия наук, 90-х годах (http://parallel.ru/tech/norma/)
Linda - параллельный язык программирования. Программа рассматривается как совокупность процессов, которые могут обмениваться данными через пространство кортежей. В чистом виде практически не встречается, чаще всего используется совместно с другими языками высокого уровня как средство общения параллельных процессов.
Оккам —процедурный язык параллельного программирования высокого уровня, разработанный в начале 80-х годов группой учёных из Оксфорда под руководством Дэвида Мэя. Синтаксически похож на Паскаль или Си.
Modula-3 - универсальный язык программирования, дальнейшее развитие языков Pascal и Modula-2. Включает в себя возможности разработки многопоточных приложений.
Oz учебный язык программирования высокого уровня, в котором совмещены функциональная, процедурная, декларативная семантики. Он включает в себя большинство концепций популярных парадигм программирования, в том числе логического, функционального, императивного, объектно-ориентированного, программирования с ограничениями, распределённого и параллельного программирования. 1991 г. Автор(ы): Gert Smolka, Бельгия

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

 




Поделиться с друзьями:


Дата добавления: 2014-01-13; Просмотров: 648; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.