Файл: СРАВНИТЕЛЬНЫЙ АНАЛИЗ ОПИСАНИЯ ДАННЫХ ДЛЯ РАЗЛИЧНЫХ ЯЗЫКОВ ПРООГРАММИРОВАНИЯ.pdf
Добавлен: 30.03.2023
Просмотров: 137
Скачиваний: 1
Сейчас это мощный и одновременно простой в освоении универсальный язык программирования со встроенными средствами управления БД, на различных версиях которого можно разрабатывать программы для Microsoft Windows, .Net Framework, DOS, JPI
В связи с коммерческой политикой компании-разработчика версия "Enterprise" требует докупки ряда лицензий для взаимодействия со сторонним ПО (например "Oracle Accelerator").
Ряд функций высокого уровня не входит в первоначальные возможности языка (например работа с файлами по сети посредством протокола FTP). Такие функции в случае необходимости приходится дописывать через API операционных систем.
Стр.25
фортран
Фортра́н (англ. Fortran) — первый язык программирования высокого уровня, получивший практическое применение, имеющий транслятор и испытавший дальнейшее развитие. Создан в период с 1954 по 1957 год группой программистов под руководством Джона Бэкуса в корпорации IBM. Название Fortran является сокращением от FORmula TRANslator (переводчик формул). Фортран широко используется в первую очередь для научных и инженерных вычислений. Одно из преимуществ современного Фортрана — большое количество написанных на нём программ и библиотек подпрограмм.
история
Имеется большое количество написанных на Фортране (в большей части на старых версиях языка) различных математических библиотек для матричной алгебры и решения систем линейных уравнений, библиотеки для решения дифференциальных уравнений, интегральных уравнений и их систем, аппроксимации функций, специальных функций, быстрых преобразований Фурье, математической статистики и других математических дисциплин. Эти библиотеки поставляются, как правило, с компилятором. Ряд таких пакетов создавался на протяжении десятилетий и популярен в научной среде по сей день, например — IMSL.
Большинство таких библиотек является фактически достоянием человечества: они доступны в исходных кодах, хорошо документированы, отлажены и весьма эффективны.
Современный Фортран (Fortran 95 и Fortran 2003) приобрёл черты, необходимые для эффективного программирования, для новых вычислительных архитектур; позволяет применять современные технологии программирования, в частности, обобщённое и модульное программирование, ООП, сохраняя при этом преемственность с более ранними версиями. Одна из главных концепций развития современного Фортрана — средства поддержки параллельности и векторные операции.
Стр.26
Фортран в СССР появился позже, чем на Западе, поскольку поначалу в СССР более перспективным языком считался Алгол. Во внедрении Фортрана большую роль сыграло общение советских физиков со своими коллегами из CERN, где в 1960-х годах почти все расчёты велись с использованием программ на Фортране.
Первый советский компилятор с Фортрана был создан в 1967 году для машины Минск-2, однако он не получил большой известности. Широкое внедрение Фортрана началось после создания в 1968 году компилятора ФОРТРАН-ДУБНА для машины БЭСМ-6. Фортран — основной язык для АСВТ и СМ ЭВМ, часто использовался вместе с препроцессором РАТФОР. Машины ЕС ЭВМ, появившиеся в 1972 году, уже изначально имели транслятор Фортрана («позаимствованный» с IBM/360 вместе с другим программным обеспечением).
В 1970-x годах в ИПМ была разработана графическая библиотека ГРАФОР («Графическое РАсширение ФОРтрана»).
В конце 1980-х — начале 1990-х физик Андрей Зарецкий создал серию детских книжек, одним из главных героев которых был профессор Фортран, доступным языком объяснявший детям основы компьютерной грамотности и программирования.
Взаимодействие с другими языками
Многие системы программирования позволяют компоновать полученные в результате трансляции фортрановской программы объектные файлы с объектными файлами, полученными от компиляторов с других языков, что позволяет создавать более гибкие и многофункциональные приложения. Для языка Фортран также доступно большое количество библиотек, содержащих как подпрограммы решения классических вычислительных задач (LAPACK, IMSL, BLAS), задач организации распределённых вычислений (MPI, PVM), так и задач построения графических интерфейсов (Quickwin, FORTRAN/TK) или доступа к СУБД (Oracle).
Стр.27
Паска́ль
Паска́ль (англ. Pascal) — один из наиболее известных языков программирования, используется для обучения программированию в старших классах и на первых курсах вузов, является основой для ряда других языков.
История
Язык был создан Никлаусом Виртом в 1968—1969 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Язык назван в честь французского математика, физика, литератора и философа Блеза Паскаля, который создал одну из первых в мире механических машин, складывающую два числа. Первая публикация Вирта о языке датирована 1970 годом; представляя язык, автор в качестве цели его создания указывал построение небольшого и эффективного языка, способствующего хорошему стилю программирования, использующему структурное программирование и структурированные данные.
Последующая работа Вирта была направлена на создание на основе Паскаля языка системного программирования, с сохранением возможности вести на его базе систематический, целостный курс обучения профессиональному программированию. Результат этой работы — язык Модула-2.
В 1978 году в Калифорнийском университете в Сан-Диего была разработана система UCSD p-System, включавшая порт компилятора Вирта с языка Паскаль в переносимый p-код, редактор исходных кодов, файловую систему и прочее, а также реализовывавшая значительное число расширений языка Паскаль, такие как модули, строки символов переменной длины, директивы трансляции, обработка ошибок ввода-вывода, обращение к файлам по именам и другое. Впоследствии основные реализации языка Паскаль основывались на этом диалекте.
В 1986 году фирма Apple разработала объектное расширение языка Паскаль, получив в результате Object Pascal. Он был разработан группой Ларри Теслера, который консультировался с Никлаусом Виртом.
Стр.28
Особенности
Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Вирта, язык должен способствовать дисциплинированному программированию, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис автор постарался сделать интуитивно понятным даже при первом знакомстве с языком.
Тем не менее, первоначально язык имел ряд ограничений: невозможность передачи функциям массивов переменной длины, отсутствие нормальных средств работы с динамической памятью, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций, написанных на других языках, отсутствие средств раздельной компиляции и т. п. Подробный разбор недостатков языка Паскаль того времени был выполнен Брайаном Керниганом в статье «Почему Паскаль не является моим любимым языком программирования» (эта статья вышла в начале 1980-х, когда уже существовал язык Модула-2, потомок Паскаля, избавленный от большинства его пороков, а также более развитые диалекты Паскаля). Некоторые недостатки Паскаля были исправлены в ISO-стандарте 1982 года, в частности, в языке появились открытые массивы, давшие возможность использовать одни и те же процедуры для обработки одномерных массивов различных размеров.
Однако многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию. Кроме того, по сравнению с основным языком программирования в академической среде 1970-х (которым был Фортран, обладавший гораздо более существенными недостатками), Паскаль представлял собой значительный шаг вперёд. К 1980-м годам Паскаль стал основой для многочисленных учебных программ, в отдельных случаях на его основе были созданы специализированные обучающие языки программирования, так, в начале 1980-х годов в СССР для обучения школьников основам информатики и вычислительной техники Андрей Ершов разработал алголо-паскалеподобный «учебный алгоритмический язык».
Стр.29
Плюсы и минусы
Swift
плюсы.
1)Playground – это своего рода интерактивная песочница, где разработчик может написать код и сразу увидеть результат.
2)автоматизированная сборка мусора.
3)разввитую систему перечисления.
Минусы
-
С++
Плюсы
1)Масштабируемость. На языке C++ разрабатывают программы для самых различных платформ и систем.
2)Возможность работы на низком уровне с памятью, адресами, портами. Что, при неосторожном использовании, может легко превратиться в недостаток.
3)Возможность создания обобщенных алгоритмов для разных типов данных, их специализация, и вычисления на этапе компиляции, используя шаблоны.
Минусы
1)Наличие множества возможностей, нарушающих принципы типобезопасности приводит к тому, что в С++-программы может легко закрасться трудноуловимая ошибка. Вместо контроля со стороны компилятора разработчики вынуждены придерживаться весьма нетривиальных правил кодирования. По сути эти правила ограничивают С++ рамками некоего более безопасного подъязыка. Большинство проблем типобезопасности С++ унаследовано от С, но важную роль в этом вопросе
Стр.30
играет и отказ автора языка от идеи использовать автоматическое управление памятью (например, сборку мусора). Так визитной карточкой С++ стали уязвимости типа "переполнение буфера".
2)Плохая поддержка модульности. Подключение интерфейса внешнего модуля через препроцессорную вставку заголовочного файла (#include) серьёзно замедляет компиляцию, при подключении большого количества модулей. Для устранения этого недостатка, многие компиляторы реализуют механизм прекомпиляции заголовочных файлов Precompiled Headers.
3)Недостаток информации о типах данных во время компиляции (CTTI).
4)Язык C++ является сложным для изучения и для компиляции.
5)Некоторые преобразования типов неинтуитивны. В частности, операция над беззнаковым и знаковым числами выдаёт беззнаковый результат.
Python
Плюсы
+ Простой
+ Кроссплатформенный
+ Высокая скорость разработки
+ Множество хороших библиотек
минусы
- Динамическая типизация может стать источником проблем в крупных проектах
- Следствие из предыдущего: появляется повышенная необходимость в юнит-тестах
- В некоторых случаях может не хватить производительности.
Стр.31
JavaScript
плюсы
- Ни один современный браузер не обходится без поддержки JavaScript.
- С использованием написанных на JavaScript плагинов и скриптов справится даже не специалист.
- Полезные функциональные настройки.
- Постоянно совершенствующийся язык – сейчас разрабатывается бета-вариация проекта, JavaScript2.
- Взаимодействие с приложением может осуществляется даже через текстовые редакторы – Microsoft Office и Open Office.
- Перспектива использования языка в процессе обучения программированию и информатике.
Минусы
- Пониженный уровень безопасности ввиду повсеместного и свободного доступа к исходным кодам популярных скриптов.
- Множество мелких раздражающих ошибок на каждом этапе работы. Большая часть из них легко исправляется, но их наличие позволяет считать этот язык менее профессиональным, сравнительно с другими.
- Повсеместное распространение. Своеобразным недостатком можно считать тот факт, что часть активно используемых программ (особенно приложений) перестанут существовать при отсутствии языка, поскольку целиком базируются на нем.
Стр.32
Java.
Плюсы.
Объектно-ориентированное программирование.
Стандарт для корпоративных вычислительных систем.
Безопасность.
Независимость от платформы («Написать один раз и использовать везде»).
Минусы.
Платное коммерческое использование.
Низкая производительность.
Многословный и сложный код.
С++
поддержка майкрософтом.
в последнее время много совершенствуется. средний порог вхождения. Синтаксис похожий на C, С++ или Java облегчает переход для других программистов. Для новичков это также один из самых перспективных языков для изучения;
. Благодаря покупке Xamarin на C# теперь можно писать под Android и iOS. добавлено функциональное программирование (F#);
большое сообщество программистов;
Минусы
ориентированность, в основном, только на .NET (на Windows платформу);
бесплатность только для небольших компании.
Стр.33
Rust
Плюсы:
Безопасная работа с памятью;
Высокое быстродействие;
Алгебраический тип данных;
Предсказуемость компиляции;
Минусы:
Некоторая избыточность кода;
Высокая интенсивность развития языка и, как следствие, отсутствие хорошей актуальной литературы для изучения;
Необходимость чётко и однозначно прописывать параметры для компиляции.
PHP
Плюсы
высокая скорость создания приложений с графическим интерфейсом для MS Windows;
простой синтаксис, позволяющий очень быстро освоить язык;
возможность компиляции, как в машинный код, так и в Р-код (по выбору программиста);
в режиме отладки программа всегда (вне зависимости от выбора) компилируется в P-код,
защита от ошибок, связанных с применением указателей и доступом к памяти.
Стр.34
Минусы
Поддержка операционных систем только семейства windowsи Mac OS X
отсутствие механизма наследование реализации объектов.
Существующее в языке наследование позволяет наследовать только интерфейсы, но не их реализацию;