Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЯЗЫКИ ПРОГРАММИРОВАНИЯ

.pdf
Скачиваний:
23
Добавлен:
14.05.2015
Размер:
708.1 Кб
Скачать

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

Недиалоговые системы языков сопровождения ориентированы на пакетный режим работы ЭВМ.

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

Внутренние языки устанавливают единую форму представления данных

(текстовой и графической информации) в памяти ЭВМ по подсистемам САПР.

Принимаются определенные соглашения об интерфейсах отдельных программ,

что делает САПР открытой по отношению к новым элементам программного обеспечения.

В качестве примера современного языка проектирования можно указать язык VHDL (VHSIC – hardware description language) – язык описания аппаратуры на базе сверхвысокоскоростных интегральных схем. Этот язык принят в качестве стандарта как инструментальное средство автоматизации проектирования СБИС,

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

До середины 60-х компьютеры были слишком дорогими машинами,

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

Поскольку машины были дорогими и лишь одна задача выполнялась за раз,

то и машинное время было дорого – поэтому скорость выполнения программы стояла на первом месте. Однако в течение 60-х цена на компьютеры стала падать так, что даже небольшие компании могли их себе позволить; скорость компьютеров всё увеличивалась и наступило время, когда они стали часто простаивать без задач. Чтобы этого не происходило, стали вводить системы с разделением времени (time-sharing). В таких системах процессорное время

«нарезалось», и все пользователи поочерёдно получали короткие отрезки этого времени. Машины были достаточно быстрыми для того, чтобы в результате каждый пользователь за терминалом чувствовал себя так, будто работает с системой в одиночку. Машина же, в свою очередь, простаивала меньше,

поскольку выполняла не одну, а сразу много задач.

Разделение времени радикально снижало стоимость машинного времени,

поскольку одна машина могла совместно использоваться сотнями пользователей.

В этих условиях – когда мощность стала дешева и доступна – создатели языков программирования все больше стали задумываться об удобстве написания программ, а не только скорости их выполнения. «Мелкие» (атомарные) операции,

выполняемые непосредственно устройствами машины, объединили в более

«крупные», высокоуровневые операции и целые конструкции, с которыми человеку куда проще и удобнее работать.

В последние десятилетия в программировании возник и получил существенное развитие объектно-ориентированный подход. Это метод программирования, имитирующий реальную картину мира: информация,

используемая для решения задачи, представляется в виде множества взаимодействующих объектов.

Каждый из объектов имеет свои свойства и способы поведения.

Взаимодействие объектов осуществляется при помощи передачи сообщений:

каждый объект может получать сообщения от других объектов, запоминать информацию и обрабатывать её определённым способом и, в свою очередь,

посылать сообщения.

Так же, как и в реальном мире, объекты хранят свои свойства и поведение вместе, наследуя часть из них от родительских объектов. Объектно-

ориентированная идеология используется во всех современных программных продуктах, включая операционные системы. Первый объектно-ориентированный язык Simula-67 был создан как средство моделирования работы различных приборов и механизмов.

Большинство современных языков программирования – объектно-

ориентированные. Среди них последние версии языка Turbo-Pascal, C++, Ada и

другие. В настоящее время широко используются системы визуального программирования Visual Basic, Visual C++, Delphi и другие. Они позволяют создавать сложные прикладные пакеты, обладающие простым и удобным пользовательским интерфейсом.

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

низкой эффективностью можно бороться путем создания более быстрых компьютеров. Если требования к памяти слишком высоки, можно увеличить её объем. Это, конечно, требует времени и средств, но это решаемо. А вот с ошибками в программах можно бороться только одним способом: их надо исправлять. А еще лучше – не совершать. А еще лучше максимально затруднить их совершение. И именно на это направлены все исследования в области языков программирования. А с потерей эффективности придется смириться. Оптимисты ожидают, что скоро появятся языки, умеющие принимать, обрабатывать и передавать информации в виде мысли, слова, звука или жеста – языки программирования высочайшего уровня.

7. Индекс TIOBE

Индекс TIOBE (TIOBE programming community index) – индекс,

оценивающий популярность языков программирования, на основе подсчета результатов поисковых запросов, содержащих название языка (запрос вида

+"<language> programming").

Для формирования индекса используется поиск в нескольких наиболее посещаемых порталах: Google, Blogger, Wikipedia, YouTube, Baidu, Yahoo!, Bing, Amazon. Расчет индекса происходит ежемесячно. Текущая информация предоставляется бесплатно, но статистика за длительные периоды доступна только за плату (от 1,5 до 5 тыс. долларов США).

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

По заявлениям создателей, индекс TIOBE не ранжирует языки по качеству или количеству написанного кода. Проект подразумевает, что может существовать корреляция между количеством найденных страниц и количеством инженеров, курсов и вакансий.

Название компании, TIOBE (англ. The Importance Of Being Earnest) является отсылкой к пьесе Оскара Уайлда «Как важно быть серьезным».

Методика расчета индекса очень чувствительна к внутренним алгоритмам и политикам поисковых систем, в частности, к алгоритму оценки количества найденных страниц. Например, в апреле 2004 года после проведение в поисковой системе Google очистки от нечестных способов продвижения сайтов, произошло резкое падение значения индекса для языков Java и C++, хотя они и остались на вершине таблицы. Для борьбы с такими флуктуациями TIOBE начал использовать большее количество поисковых систем.

Используется многими авторами в научных статьях при сравнении популярности языков программирования, несмотря на его косвенные,

проприетарные методики и платность набора исходных данных.

TIOBE ориентируется на полные по Тьюрингу языки, поэтому популярность, к примеру, XML, HTML или базовый SQL не исследуется. В то же время расширения SQL, такие как PL/SQL и T-SQL входят в индекс.

Кроме Тьюринг-полноты, авторы индекса требуют от исследуемого языка наличие статьи в Википедии, в которой было бы четко указано что язык является языком программирования. По этому критерию в индекс не были включены: Ruby on Rails, Excel, Android, Boost, Cocoa, ASP, AJAX.

Данные по языкам рассчитываются с 1987 года. Каждый год, начиная с

2003, авторами TIOBE выбирается язык года (Programming Language of the Year):

2012 Objective-C

2011 Objective-C

2010 Python

2009 Go

2008 C

2007 Python

2006 Ruby

2005 Java

2004 PHP

2003 C++

Данные по состоянию на октябрь 2013 можно посмотреть здесь:

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html