Доклад языки программирования в современном мире

Обновлено: 08.07.2024

Основные концепции современных языков программирования. Парадигмы программирования. Императивная, декларативная и структурная модели. Основные виды и группы трансляторов: компилятор, интерпретатор. Динамический и статический контроль типов данных.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 12.06.2013
Размер файла 38,5 K

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Министерство образования и науки Российской Федерации

Государственное образовательное учреждение высшего профессионального образования

Бийский технологический институт (филиал)

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

Введение

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

Процесс работы компьютера заключается в выполнении программы, то есть набора вполне определённых команд во вполне определённом порядке. Машинный вид команды, состоящий из нулей и единиц, указывает, какое именно действие должен выполнить центральный процессор. Чтобы задать компьютеру последовательность действий, которые он должен выполнить, нужно задать последовательность двоичных кодов соответствующих команд. Программы в машинных кодах состоят из тысячи команд. Написание таких программ - занятие сложное и утомительное. Программист должен помнить комбинацию нулей и единиц двоичного кода каждой команды, а также двоичные коды адресов данных, используемых при её выполнении. Гораздо проще написать программу на каком-нибудь языке, более близком к естественному человеческому языку, а работу по переводу этой программы в машинные коды поручить компьютеру. Так возникли языки, предназначенные специально для написания программ.

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

Создатели языков по-разному толкуют понятие язык программирования. К наиболее распространенным утверждениям, признаваемым большинством разработчиков, относятся следующие:

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

- Исполнение: язык программирования может использовать специальные конструкции для определения и манипуляции структурами данных и управления процессом вычислений.[1]

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

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

1. Современные языки программирования

Но тщеславие программистов не единственная причина возникновения новых языков программирования. Время не стоит на месте, развивается и наука и технологии, то, что ещё вчера казалось пределом научно-технического прогресса, сегодня уже вчерашний день.

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

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

Таблица 1 - Рейтинг языков программирования [2]

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

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

Рассмотрим эти языки программирования с нескольких основных позиций:

1. Какие парадигмы программирования наиболее популярны в современных языках.

2. Какие виды трансляторов применяются.

3. Какие виды типизации используются.

2. Парадигмы программирования

Парадигма программирования - это совокупность идей и понятий, определяющая стиль написания программ.

Парадигма программирования - модель или подход к решению проблемы.

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

Важно отметить, что парадигма программирования не определяется однозначно языком программирования - многие современные языки программирования являются мультипарадигменными, то есть допускают использование различных парадигм.

На сегодняшний день самые известные модели программирования:

Рассмотрим эти модели подробнее.

2.1 Императивная модель

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

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

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

2.2 Декларативная модель

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

Есть несколько подходов реализующих декларативную модель программирования:

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

Логическое программирование - основанное на автоматическом доказательстве теорем, с использованием механизмов логического вывода информации с использованием заданных фактов и правил вывода, основанных на формальных исчислениях. Логическое программирование основано на теории и аппарате математической логики с использованием математических принципов резолюций. [4]

2.3 Структурная модель

Структурное программирование - это парадигма программирования, в основе которой лежит представление программы в виде иерархической структуры блоков. В соответствии с данной парадигмой:

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

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

3. Повторяющиеся фрагменты программы (либо представляющие собой логически целостные вычислительные блоки) могут оформляться в виде т. н. подпрограмм (процедур или функций).

Есть несколько подходов реализующих структурную модель программирования:

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

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

Класс - это тип, описывающий устройство объектов. Это в чистом виде абстрактный тип данных, создаваемый программистом.

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

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

Есть несколько подходов реализующих модель метапрограммирования:

Генерация кода - при этом подходе код программы не пишется вручную, а создается автоматически программой-генератором на основе другой, более простой программы. Реализуется двумя основными методами:

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

Python - это язык, который может работать в режиме интерпретатора и основан на гибкой и надежной семантике. Он используется в сфере информационных технологий, инжиниринга, профессиональных услуг и дизайна. Python позволяет быстро интегрировать системы в качестве скриптового или связующего языка. Его удобно использовать для быстрой разработки приложений. Так, игра Civilization 4 имеет внутреннюю логику, реализованную на Python. НАСА использует Python в своей интегрированной системе планирования в качестве стандартного языка сценариев. Язык легко учить и легко читать. В его состав входит бесплатный интерпретатор и стандартная библиотека.

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

Ruby - это язык сценариев с открытым кодом, используемый как отдельно, так и как часть веб-инфраструктуры Ruby on Rails. Язык используется для моделирования, трехмерного моделирования, а также для управления и отслеживания информации. Амазон и Твиттер были созданы с использованием Ruby on Rails. НАСА использует этот язык для проведения моделирования. Ruby можно свободно копировать, изменять и распространять.

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

C ++ является очень мощным языком. Он используется для создания компьютерных программ и упакованного программного обеспечения. На нем делают игры, офисные приложения, графические и видеоредакторы, операционные системы. Blackberry OS разработана с использованием C ++. Новейший пакет Microsoft Office также был разработан с использованием C ++.

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

Доклад №2

Информационные технологии и их возможности развиваются каждый день. Для того чтобы улучшать компьютеры и программы нужны особенные языки. Люди создали много языков программирования и продолжают их создавать.

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

Первый такой язык появился задолго до создания компьютеров и вычислительных машин ­- в музыкальной шкатулке. Первые программы и прародители языков программирования появились в 1840-х годах, а в 1940-х люди создали язык высшего уровня для цифровых компьютеров.

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

В первую очередь языки делят на низкий и высокий уровень. К языкам низкого уровня относятся языки машинных кодов, которые представляют собой сокращенные английские слова. Такой язык может понять и человек без технического образования с хорошим знанием английского. Самый яркий пример – группа языков Ассемблера. Языки высокого уровня состоят из смысловых конструкций, понятных программистам. Они не содержат сокращенных слов, как низкоуровневые языки. Например: Паскаль, СИ.

Также языки разделяют по поколениям. Сейчас выделяют 5 поколений языков. Разделение проходит согласно временным промежуткам создания, а так же области применения языка. Первое поколение – наиболее ранние языки программирования, пятое поколение – наиболее близкое к современности.

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

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

Языки программирования

Языки программирования

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

Граб – лиственное дерево из семейства березовых. Высота дерево может достигать 30-40 метров, и продолжительность жизни до 250 лет, а диаметр может быть около 2 метров. Существует около 40 разновидностей этого дерева,

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

языки программирования

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

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

В наши дни существует около 8 тысяч таких языков, многие из которых понятны лишь авторам. Однако есть такие языки программирования, которые стали международными и используются миллионами людей ежедневно.

Зачем нужны языки программирования

Без языка программирования ни один компьютер работать не будет. С его помощью создаются определенные математические алгоритмы, которые помогают компьютеру выполнять команды пользователя.

  • Язык программирования выглядит совсем не так, как мы привыкли представлять себе язык - это набор различных символов, которые преобразуются в понятный компьютеру код.
  • Классификация языков программирования от низких до высоких уровней зависит от того, настолько близок язык к человеку. Чем меньше язык программирования понятен человеку, тем по уровню он ниже.
  • Большая часть языков преобразуется в понятный машине код с помощью программ-трансляторов. С их помощью прописываются лексические, семантические и синтаксические правила, которые определят, какие действия запросит пользователь и внешний вид программы.
  • Язык программирования - неотъемлемая часть работы любого компьютера. В современном мире с ними работают программисты, которые прописывают коды и создают программы с использованием сложных кодовых конструкций.

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

История языков программирования

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

Начало же современному программированию было дано в 1930-1940-е годы, когда были написаны лямбда-исчисление и машина Тьюринга. То время можно назвать началом истории разработки языков программирования, ведь компьютеры становились все популярнее. В 1940-е годы появились первые электрические компьютеры, и тогда же немецкий инженер Ц. Кузе разработал Планкалькюль, первый высокоуровневый язык.

языки программирования

Затем появились языки второго поколения - они были проще для человека, но ограничивались использованием ассемблера. Так называли программу, которая переводила команду на машинный язык, своего рода переводчик.

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

В 1960-годы языки программирования начали стандартизировать и улучшать. Хоть затем и появились языки четвертого и пятого поколения, они являются более усовершенствованными версиями языков третьего поколения.

После того, как стал развиваться интернет в 1990-е годы, появились еще языки для написания веб-страниц. Сейчас развитие языков программирования идет по большей части в сторону безопасности пользователя.

Список языков программирования

Есть тысячи языков программирования. Мы выделили те, что наиболее популярны и чаще используются в современном мире.

Basic

современные языки программирования

Basic или Бейсик называют группу языков программирования высокого уровня. Его создали профессора колледжа Дартмут в 1964 году с целью помощи студентам в создании собственных компьютерных программ. Сейчас детище Томаса Курца и Джона Кемени стало основным языком, на котором пишутся программы для ОС Windows.

современные языки программирования

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

современные языки программирования

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

Python

современные языки программирования

Разработка этого языка началась в 1980-х годах голландцем Гвидо ван Россумом, но его первая версия была выпущена только в 2008 году. Он отличается постоянным усовершенствованием и активным сообществом пользователей. Python является высокоуровневым языком с большим объемом различных функций. Особенно хорошо он справляется с веб-разработкой, анализом данных и автоматизацией процессов.

современные языки программирования

Этот язык лидирует среди тех, что применяются в разработке веб-сайтов и поддерживается практически всеми хостинг-провайдерами. Он применяется, в основном, для разработки веб-сайтов и веб-приложений. Впервые PHP был представлен публике в 1995 году датским программистом Расмусом Лердорфом.

современные языки программирования

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

JavaScript

современные языки программирования

Хотя JavaScript похож на Java, но все же является отдельным языком. Чаще всего используется в качестве встраиваемого языка: приложения получают доступ к веб-страницам с его помощью. Он более легок в применении и дается даже тем, кто мало знаком с программированием. Доля его использования ежегодно растет.

Go (Golang)

современные языки программирования

В 2007 году компания Google занялась разработкой собственного языка программирования, с помощью которого бы можно было решать реальные проблемы. Созданием языка занимались Роб Пайк и Кен Томпсон, которые уже в 2009 году представили Go. Для компании Google он является заменой популярных языков Си и Си ++. Он не стал прорывом, но зато используется для создания серьезных проектов.

современные языки программирования

Этот язык программирования является системой, с помощью которой можно удобно управлять базами данных. Первые разработки были начаты еще в 1970-х годов, но первый вариант SQL был представлен в 1986 году. В современном мире SQL довольно популярен в качестве удобного языка для улучшения, управления и создания баз данных.

Swift

современные языки программирования

Компания Apple тоже придумала собственный язык программирования, чтобы создавать на нем приложения для всех родственных гаджетов. Apple представила свой язык в 2014 году как удобный, надежный, свободный и доступный любому программисту. Он был создан персонально для продуктов Apple.

Pascal

современные языки программирования

Никлаус Вирт создал этот язык в 1969 году, а назвали язык в честь математика Блеза Паскаля. Он является популярным языком программирования и в наши дни. Именно на нем обучают студентов на первом курсе университета и в старшей школе. На его основе построено множество других языков.

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

Нравится статья? Поддержи наш проект и поделись с друзьями!

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

Зачем нужно программирование

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

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

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

Наше время диктует новые условия буквально в каждой области деятельности. Если компания хочет облегчить жизнь себе и своим клиентам, обойти конкурентов, то будет внедрять компьютерные технологии. Музыкальная индустрия и кино, мультипликация и игры, мобильная связь, банковское дело, дизайн и журналистика — все области тесно переплетены с программированием и используют специальные программы на разных этапах работы.

Языки программирования и сферы их применения

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

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

Стоит также обратить внимание на старый добрый язык разметки HTML, вырвавшегося в 2020 году в десятку лидеров TypeScript в рейтинге PYPL, и на перспективных новичков Kotlin, HCL и Go.

Некоторые из них используются для фронтенд-разработки, это HTML, CSS и Javascript. Другие применяются в бэкенде: PHP, Python, Go, Ruby.

Доступность обучения программированию

Изучение языков программирования открывает новые возможности и перспективы для каждого человека. Развитие навыков поможет найти работу мечты в каждой стране мира или же работать удалённо.

Работа программиста высоко оплачивается и будет востребована ещё много лет. Бюро статистики труда прогнозирует к 2026 году 30-процентный рост занятости в области разработки программного обеспечения. Некоторые компании охотно берут способных новичков, в других требуется опыт работы или сертификат об окончании обучения.

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

Согласно исследованиям, Python, HTML и Javascript доступнее всего для изучения и имеют низкий порог вхождения новичков. Они же, по данным исследований TIOBE и PYPL, самые востребованные. Однако не все компании отдают предпочтения традиционному подходу к разработке программного обеспечения, интерес к новым языкам растёт. Знать базовые языки, следить за тенденциями развития новых и по возможности изучать их особенности и есть задача грамотного программиста, смотрящего в будущее.

Но даже работа с ассемблером достаточно сложна и требует специальной подготовки. Например, для процессора Zilog Z80 машинная команда 00000101 предписывает процессору уменьшить на единицу свой регистр B. На языке ассемблера это же будет записано как DEC B.

Структурное программирование

Следующий шаг был сделан в 1954 году, когда был создан первый язык высокого уровня — Фортран (англ. FORTRAN - FORmula TRANslator ). Языки высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека, с помощью них, можно писать программы до нескольких тысяч строк длиной. Однако легко понимаемый в коротких программах, этот язык становился нечитаемым и трудно управляемым, когда дело касалось больших программ. Решение этой проблемы пришло после изобретения языков структурного программирования (англ. structured programming language ), таких как Алгол(1958), Паскаль(1970), Си(1972). Структурное программирование предполагает точно обозначенные управляющие структуры, программные блоки, отсутствие инструкций безусловного перехода (GOTO), автономные подпрограммы, поддержка рекурсии и локальных переменных. Суть такого подхода заключается в возможности разбиения программы на составляющие элементы. Также создавались функциональные (аппликативные) языки (Пример: Lisp — англ. LISt Processing , 1958) илогические языки (пример: Prolog — англ.PROgramming in LOGic , 1972). Хотя структурное программирование, при его использовании, дало выдающиеся результаты, даже оно оказывалось несостоятельным тогда, когда программа достигала определенной длины. Для того чтобы написать более сложную (и длинную) программу, нужен был новый подход к программированию.

ООП

В итоге в конце 1970-х и начале 1980-х были разработаны принципы объектно-ориентированного программирования. ООП сочетает лучшие принципы структурного программирования с новыми мощными концепциями, базовые из которых называются инкапсуляцией, полиморфизмом и наследованием. Примером объектно-ориентированных языков являются: Object Pascal, C++, Java и др. ООП позволяет оптимально организовывать программы, разбивая проблему на составные части, и работая с каждой по отдельности. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути, описывает часть мира, относящуюся к этой задаче.

Основные концепции языков программирования

Стандартизация языков программирования

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

Типы данных

Современные цифровые компьютеры обычно являются двоичными и данные хранят в двоичном (бинарном) коде (хотя возможны реализации и в других системах счисления). Эти данные как правило отражают информацию из реального мира (имена, банковские счета, измерения и др.), представляющую высокоуровневые концепции. Особая система, по которой данные организуются в программе, - это система типов языка программирования; разработка и изучение систем типов известна под названием теория типов. Языки могут быть классифицированы как системы со статической типизацией и языки с динамической типизацией . Статически-типизированные языки могут быть в дальнейшем подразделены на языки с обязательной декларацией , где каждая переменная и объявление функции имеет обязательное объявление типа, и языки с выводимыми типами . Иногда динамически-типизированные языки называются латентно-типизированными .

Структуры данных

Системы типов в языках высокого уровня позволяют определять сложные, составные типы, так называемые структуры данных. Как правило, структурные типы данных образуются как декартово произведение базовых (атомарных) типов и ранее определённых составных типов. Основные структуры данных (списки, очереди, хеш-таблицы, двоичные деревья и пары) часто представлены особыми синтаксическими конструкциями в языках высокого уровня. Такие данные структурируются автоматически.

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

Существует несколько подходов к определению семантики языков программирования. Наиболее широко распространены разновидности следующих трёх: операционного, денотационного (математического) и деривационного (аксиоматического). При описании семантики в рамках операционного подхода обычно исполнение конструкций языка программирования интерпретируется с помощью некоторой воображаемой (абстрактной) ЭВМ. Деривационная семантика описывает последствия выполнения конструкций языка с помощью языка логики и задания пред- и постусловий. Денотационная семантика оперирует понятиями, типичными для математики - множества, соответствия, а также суждения, утверждения и др. Язык программирования строится в соответствии с той или иной базовой моделью вычислений и парадигмой программирования. Несмотря на то, что большинство языков ориентировано на императивную модель вычислений, задаваемую фоннеймановской архитектурой ЭВМ, существуют и другие подходы. Можно упомянуть языки со стековой вычислительной моделью (Forth, Factor, Postscript и др.), а также функциональное (Лисп, Haskell, ML и др.) и логическое программирование (Пролог) и язык Рефал, основанный на модели вычислений, введённой советским математиком А.А. Марковым-младшим. В настоящее время также активно развиваются проблемно-ориентированные, декларативные и визуальные языки программирования.

Компилируемые и интерпретируемые языки

Процедурные языки программирования

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

Виды современных языков программирования

Язык программирования C++

Достоинства и недостатки языка

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

C++ — чрезвычайно мощный язык, содержащий средства создания эффективных программ практически любого назначения, от низкоуровневых утилит и драйверов до сложных программных комплексов самого различного назначения. В частности:

· Высокая совместимость с языком С, позволяющая использовать весь существующий С-код (код С может быть с минимальными переделками скомпилирован компилятором С++; библиотеки, написанные на С, обычно могут быть вызваны из С++ непосредственно без каких-либо дополнительных затрат, в том числе и на уровне функций обратного вызова, позволяя библиотекам, написанным на С, вызывать код, написанный на С++).

· Поддерживаются различные стили и технологии программирования, включая традиционное директивное программирование, ООП, обобщенное программирование, метапрограммирование (шаблоны, макросы).

· Имеется возможность работы на низком уровне с памятью, адресами, портами.

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

· Кроссплатформенность. Доступны компиляторы для большого количества платформ, на языке C++ разрабатывают программы для самых различных платформ и систем.

· Эффективность. Язык спроектирован так, чтобы дать программисту максимальный контроль над всеми аспектами структуры и порядка исполнения программы.

Отчасти недостатки C++ унаследованы от языка-предка — Си, — и вызваны изначально заданным требованием возможно большей совместимости с Си. Это такие недостатки, как:

· Синтаксис, провоцирующий ошибки:

· Препроцессор, унаследованный от С, очень примитивен.

Особенности языка

Область применения

· Автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределенные массивы;

· Файловые функции успешно обрабатывают как локальные, так и удаленные файлы;

· Обработка файлов, загружаемых на сервер;

· Работа с XForms;

· Работа с удаленными файлами и сокетами

В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу Tiobe, базирующемуся на данных поисковых систем, в декабре 2009 года PHP находится на 3 месте среди языков программирования (уступая Java и C), поднявшись за год на одну позицию. К крупнейшим сайтам, использующим PHP, относятся Facebook, В контакте, Wikipedia.

С использованием PHP разработано множество приложений, которые широко используются на различных сайтах, форумах и блогах. Наиболее известные из них — Wordpress, Drupal, Joomla, MediaWiki, phpBB.

Текущая версия и разработка

Языки программирования и оболочки со схожими технологиями

Delphi (по-русски обычно произносят [дэ́льфи ] или [дэ́лфи ]) — интегрированная среда разработкиПО фирмы Borland. Delphi является средой RAD (от англ.rapid application development — быстрая разработка приложений).

CodeGear

Delphi for PHP

В марте 2007 года CodeGear выпустила среду разработки Delphi for PHP, предназначенную для разработки веб-приложений на языке программирования PHP. Теперь среда Delphi ориентирована не только на язык Delphi. Текущая версия Delphi for PHP — 2009.

Delphi 2010

25 августа 2009 года компания EmbarcaderoTechnologies объявила о выпуске интегрированной среды разработки EmbarcaderoRadStudio 2010, в которую вошла новая версия Delphi 2010.

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

1. Б. Страуструп. Язык программирования C++ = The C++ Programming Language / Пер. с англ. -- 3-е изд. -- СПб.; М.: Невский диалект -- Бином, 1999. -- 991 с. -- 3000 экз. -- ISBN 5-7940-0031-7 (Невский диалект), ISBN 5-7989-0127-0 (Бином), ISBN 0-201-88954-4 (англ.)

3. Роберт У. Себеста. Основные концепции языков программирования = Concepts of Programming Languages / Пер. с англ. -- 5-е изд. -- М.: Вильямс, 2001. -- 672 с. -- 5000 экз. -- ISBN 5-8459-0192-8 (рус.), ISBN 0-201-75295-6 (англ.)

Читайте также: