Файл: Современные языки программирования(Краткая история языков программирования).pdf
Добавлен: 17.06.2023
Просмотров: 64
Скачиваний: 3
ВВЕДЕНИЕ
Программирование - это дисциплина и знание создания программного обеспечения (ПО) и (или) компьютерных программ с поддержкой языков программирования. Программирование сводит для себя элементы базисных наук (информатика и математика).
Задача программирования в том, чтоб создать программу, которая показывает конкретное желанное поведение в ответ на действия пользователя или самостоятельно - независимо от пользователя.
Программирование охватывает:
- Исследование;
- Проектирование - создание совокупности расчетов;
- Шифрование и компоновка - написание начального текста проекта и изменение его в реализуемый шифр с поддержкой компилятора;
- Испытание и отладку - нахождение и удаление погрешностей в проекте;
- Проверку и поставку проекта;
- Поддержание;
Гигантская доля работы разработчиков программного обеспечения сопряжена составлением начального кода, проверкой и отлаживанием проекта. Первоначальные тексты кода и исполняемые файлы проекта считаются объектами авторского права и числятся умственной собственностью их создателей и правообладателей.
С разработки первых программируемых машин общество создало больше 2500 ЯП. С каждым годом количество ЯП расширяются новыми.
Какими то ЯП может воспользоваться лишь маленькое количество их создатели, остальные становятся востребованы миллионам людей. Высококлассные разработчики ПО время от времени используют в собственной работе наиболее десятка различных ЯП.
Теоретическую базу ЯП оформляют алгоритмические языки. В реальное время создано существенное число ЯП для ЭВМ. Их различают друг от друга разными свойствами, а так же сферой использования.
Глава 1. Краткая история языков программирования
Возникновения первых комп. на электронных лампах дало начало для активного формирования новейших ЯП. В те времена комп. стояли недешево. Покупка одного стоило больше любой программы, а так же нужен был высокоэффективный код. На Ассемблере разрабатывался вручную.
Первый алгоритмический язык FORTRAN был изобретен компании IBM для собственных надобности, в 50 годы. Уже тогда имелось некое количество наработок языков, хотя конкретно создание FORTRAN'а стало отсчетом новой эры
Он разрешал проводить расчеты лишь только при поддержке записи алгоритма с применением операторов ввода/вывода и условных. Первоначально этот язык создавался специально для вычислительной системы IBM 407. Но известность FORTRAN'а привела, что даже производители остальных архитектур стали выпускать личные трансляторы. Выпущен совместный стандарт FORTRAN 66 в 1966 году.
В конце 50 гг. появился отличный вариант FORTRAN'у. Питер Наур создал алгоритмический язык, самостоятельный от архитектуры и назвал его ALGOL. Создатели попытались увеличить возможности языка.
В начале 60 гг. IBM представили язык PL/I. PL/I работал с архитектурой IBM 360 и служил типичным расширением FORTRAN'а при поддержке неких средств языка COBOL. Первый язык, в котором было внедрено понятие класса - Simula-67. Дал и Найард создали его в конце 60 - 70 гг. создали Pascal. Pascal получил массовую популярность.
Минобороны США немного позднее начала создание языка высокого уровня. Спецпроект разрабатывали 4 независимые группы, при всем этом формирование условий и спецификаций велась на базе языка Pascal.
Конечный продукт был выпущен в начале 80 гг. и получил название Ada.
70 гг. в том же духе порадовали нас универсальным языком, который называется C. Создателями были Кен Томпсон и Денис Ритчи. У системных программистов язык пользовался огромнейшей популярностью , первое ядро ОС UNIX создано было конкретно на нем. В 1982 году стандарт C поступил в разработку в ANSI, конечный вариант был принят в 1990 году. На базе языка С были изобретены современные языки Java и C++.
Кроме языков, работающих с алгоритмами, так же формирование получили и языки иной направленностью. Для обработки деловой информации был изобретен COBOL, языками искусственного разума числятся Prolog и LISP. Так же, последний обширно используется и в теории игр.
С переходом на ПК, ЯП превратились в отдельную часть сред разработки.
Глава 2. Современные языки и системы программирования
Первые ряд поколений ЭВМ основывались на традиционных основах, установленных американским математиком Джоном фон Нейманом в 1946 г., когда возникли исследования цифровых ЭВМ с программным управлением.
Один из главных принципов Д. фон Неймана был принцип хранимой программы. Под программой вычислительной машины подразумевалось представление алгоритма решения задачи, поставленное на языке вычислительной машины.
Главная суть ЯП содержитсятся в планировании действий по обработке информации. Любой ЯП основан на системе понятий, на базе которой человек может формулировать свои суждения.
Теоретическую базу ЯП составляют алгоритмические языки. В настоящее время для ЭВМ создано существенное количество ЯП. Они различаются друг от друга разными качествами, а значит, и областью внедрения.
2.1 Ruby
Юкихиро Мацумото разработчик ЯП Ruby. Он увлекался ЯП, когда был ещё студентом. 23.02.1993 г. Ruby стал создаваться и в 1995 г. вышел. Наименование было получена от Perl, почти все индивидуальности синтаксиса и семантики из которого взяты в Ruby.
Целью было создание " настоящего объектно-ориентированного ", лёгкого в создании, интерпретируемого ЯП.
Ruby стал известным в Японии с этапа возникновения первой доступной версии в 1995 году. Хотя техдокументация была на одном японском языке, это то и удерживало язык от дальнейшего распространения. Только в 1997 г. возникло представление о Ruby на английском языке. В 1998 г. появился форум " ruby-talk " . Что дало рост признания языка в остальном мире. Были опубликованы книги на разных языках, даже на русском. На данный момент Ruby входит в большинство дистрибутивов ОСLinux, поставляется совместно с Mac OS X, доступен пользователям других ОС.
Язык так же обладает независимой от ОС реализацией многопоточности, серьезной динамической типизацией, сборщиком мусора и многочисленными другими возможностями. По особенностям синтаксиса он подобен языкам Perl и Eiffel. По объектно-ориентированному подходу — к Smalltalk. Кроме того некие черты языка заимствованы из Python, Lisp, Dylan и Клу.
Мацумото, фанат объектно-ориентированного программирования, он мечтал о языке, гораздо сильнее, чем Perl, и наиболее объектно-ориентированном, чем Python. Главная задача Ruby — создание легких и в то же время понятных программ, где принципиальна не скорость работы программы, а меньшее время разработки, понятность и простота синтаксиса.
Язык соответствует " меньшей внезапности " : программа обязана быть такой какой ждет от нее программист. Хотя в контексте Ruby это имеет меньшая внезапность не при связи с языком, а при его основательном исследовании.
Одной из задач создания стало избавление разработчиков от рутинности, которую вычислитель может делать быстрее и качественнее. Особый интерес, уделялось будничным рутинным обязанностям, и для них язык отлично настроен.
Также не считая массивных возможностей, встроенных в язык, ruby поставляется с больше обычной библиотекой. Библиотека для работы с разными сетевыми протоколами на стороне сервера и клиента, средства для работы с различными форматами представления данных.
Кроме интегрированных в язык средств отладки, с Ruby поставляются библиотеки для модульного тестирования, журналирования, профилирования. Еще имеется библиотеки для работы с архивами, датами, кодировками, матрицами, средства для системного администрирования, распределённых вычислений, поддержки много поточности и т. д.
Обладая невероятной мощностью, язык прост в освоении. Плюс Ruby в том, что на нём написаны тонны популярных веб-приложений по всему миру
2.2 Perl
Perl - это высокоуровневый интерпретируемый динамический ЯП единого напрвления, разработанный Ларри Уоллом. Основной характерной чертой языка является его изобильные способности ради работы с текстом, а так же работа с систематическими выражениями, интегрированных в синтаксис.
Perl — ЯП единого направления, с начало был разработан для манипуляций с текстом, однако сейчас применяется с целью выполнения широкого спектра задач, в том числе системное администрирование, игры, веб-разработку, биоинформатику, создание графических пользовательских интерфейсов,сетевое программирование.
Общая конструкция perl водит своё начало от Си в общих чертах. Perl — процедурный по собственной природе, имеет переменные, выражения присваивания, блоки кода, отделяемые фигурными скобками, управляющие структуры и функции.
Perl в том же духе заимствует ряд параметров из языков программирования командных оболочек UNIX. Все переменные маркируются ведущими знаками, какие буквально выражают тип данных переменной в этом контексте. Важно, что эти знаки разрешают переменным быть интерполированным в строчках. Perl владеет обилием интегрированных функций, которые обеспечивают инструментарий, нередко используемый для программирования оболочки, к примеру сортировку или вызов системных служб.
Все версии perl исполняют автоматическую типизацию данных и автоматический контроль над памятью. Интерпретатор знает тип и требования памяти всякого объекта программы, он распределяет и высвобождает память, производя подсчёт ссылок. Перевод 1-го типа данных в иной — к примеру, числа в строчку — проистекает автоматом во время выполнения, невозможные для исполнения переводы типов данных приводят к фатальной ошибке.
Языку можно дать характеристику как практичный. Основными плюсами языка являются поддержка различных парадигм , встроенная поддержка обработки текста, а кроме того значительная подборка модулей сторонних разработчиков. Разработчики применяют Perl с самых истоков интернета, и он до сих пор считается главным инструментом для каждого ИТ-специалиста.
2.3 SQL
SQL- непроцедурный ЯП, используется с целью формирования, изменения и управления информацией в свободной реляционной базе данных, управляемой подходящей системой управления базами данных.
Целью создания стало разработка легкого непроцедурного языка, которым имел возможность воспользоваться любой пользователь,в том числе и не имеющий навыков программирования. Фактически создание языка запросов занимались Дональд Чэмбэрлин и Рэй Бойс. Пэт Селинджер занималась разработкой стоимостного оптимизатора, Рэймонд Лори занимался компилятором запросов.
Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своём тексты SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую. Существуют системы, разработчики которых изначально ориентировались на применение по меньшей мере нескольких СУБД . Естественно, что при применении некоторых специфичных для реализации возможностей такой переносимости добиться уже очень трудно.
Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка. Правда, стоит обратить внимание, что сам по себе стандарт местами чересчур формализован и раздут в размерах.
С помощью SQL программист описывает только то, какие данные нужно извлечь или модифицировать. То, каким образом это сделать, решает СУБД непосредственно при обработке SQL-запроса. Однако не стоит думать, что это полностью универсальный принцип — программист описывает набор данных для выборки или модификации, однако ему при этом полезно представлять, как СУБД будет разбирать текст его запроса. Чем сложнее сконструирован запрос, тем больше он допускает вариантов написания, различных по скорости выполнения, но одинаковых по итоговому набору данных.
SQL предоставляет шанс найти нужную информацию быстрым и надёжным методом. Применяя SQL, можно легко запрашивать и извлекать существенные объёмы данных из больших и сложных БД.
2.4 Objective-C
Objective-C — компилируемый объектно-ориентированный ЯП, применяемый компанией Apple, созданый на базе языка Си и парадигм Smalltalk. В частности, объектная модель построена в манере Smalltalk — т.е. объектам посылаются сообщения.
Objective-C был разработан Брэдом Коксом в начале 1980 в его компании Stepstone. Он хотел решить проблему повторного использования кода.