Файл: Обзор языков программирования высокого уровня (СИСТЕМЫ ПРОГРАММИРОВАНИЯ).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 21.05.2023

Просмотров: 289

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Linux Programming

  • Программирование Linux включает в себя все: начиная от скриптов оболочки до разработки приложений и разработки ядер. Подробнее (англ): Linux Resource

Logo

  • Logo один из самых ранних языков по обучению программированию, и до сих пор, вероятно, самый известный. Он известен своей черепахой, которую дети заставляют передвигаться компьютерными командами. Весело обучает программированию. Подробнее (англ): Logo Programming Resources

ML

  • ML первоначально разработан как язык мета-программирования: язык для создания других языков. Но со временем он стал языком общего назначения, широко использовался в образовании, математике, естественных науках и даже финансах. Подробнее (англ): ML Resource and Introduction.

MPI

  • Message Passing Interface (Интерфейс передачи сообщений) представляет собой стандартный протокол для отправки сообщений между процессами или программами. Был реализован в ряде языков программирования, включая C, C++, Java и Python. Благодаря MPI стали возможны параллельные вычисления. Подробнее (англ): See our Guide to MPI

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

  • Сетевое программирование это процесс объединения компьютеров в сеть, а также создание программных систем, которые будут работать по всей этой сети. Гнездо (сокет) представляет собой конечную точку данных для этой сети, предоставляя интерфейс (API) для взаимодействия с системой извне. Большинство сетевых сокетов – это интернет сокеты, а это значит, что они используют Интернет протокол для связи. Подробнее (англ) :More about network programming & sockets

OAuth

  • Вы, несомненно, использовали эту систему много раз, но вы могли этого даже не знать. Например, некоторые комментирующие системы позволяют войти с вашей учетной записью на Facebook или Google+. Это делается с помощью OAuth. Подробнее (англ): More on OAuth

Objective-C

  • Еще одна версия C, созданная в 1980-е годы для того, чтобы обеспечить полностью объектно-ориентированную реализацию C. Сейчас основное применение этого языка приходится на Mac OSX  и операционные системы iOS. До недавнего времени iOS приложения должны были быть написаны на Objective-C, но сейчас можно писать также на Swift. Подробнее (англ): More on Objective-C

OCaml

  • OCaml является объектно-ориентированным функциональным компьютерным языком. По ML традиции, он много используется для написания других языков программирования и фреймворков. Подробнее (англ): OCaml Introduction and Resources.

Разработка операционной системы


  • Эверестом среди работ по программированию считается разработка операционной системы. Если вы хотите доказать себе, что можете написать все, что угодно, то нет ничего лучше, чем написать свое собственное ядро операционной системы и связанные с ней инструменты.Но будьте осторожны: это путешествие по силам только храбрым и истинным программистам! Подробнее (англ): Operating System Development Resources.

Perl

  • Очень полезный инструмент практически любого программиста. В качестве интерпретируемого языка его не нужно компилировать, иногда упоминается как “швейцарский армейский нож” скриптовых языков. Подробнее (англ): Perl Resources

PROLOG

  • Пролог – язык логического программирования, разработан для обработки естественного языка. Подробнее (англ): Prolog Intro & Resources

Pure Data

  • Pure Data является уникальным визуальным языком программирования. Был создан специально для того, чтобы позволить пользователям создавать видео, аудио и графические работы. Подробнее (англ): Pure Data Resource Page.

Python

  • Python является языком программирования высокого уровня. Интерпретируемый (некомпилируемый) язык, также известный как “скриптовый язык”. В основном используется в качестве инструмента для выполнения специализированных задач программирования, таких как задачи по автоматизации и анализу данных. Имеет сильный набор инструментов для математических и научных вычислений, часто используется исследователями. Подробнее (англ):Python Resources

Ruby on Rails

  • Ruby on Rails – это фреймворк для веб-разработки для языка программирования Ruby. Он обеспечивает архитектуру MVC (Model View Controller), уровень абстракции базы данных, а также множество инструментов для ускорения процесса программирования веб-приложений. Очень популярен для быстрой разработки веб-приложений. Подробнее (англ): More about Ruby on Rails

SAS

  • SAS является специализированным языком, предназначенным для анализа статистических данных. Широко используется в правительственных, научных кругах и бизнесе. Для людей, обладающим большим количеством данных, SAS является очевидным выбором. Подробнее (англ): SAS Programming Resources.

Scala

  • Scala является относительно новым языком – более или менее новой и лучшей Java. Это отличный язык для Java-программистов, которые хотят быть более эффективными, или для людей, кто только начинают изучать программирование и хотят изучать мощный язык, который не будет ограничивать их в будущем. Подробнее (англ): Scala Resources.

Scheme

  • Scheme  – старый язык, но до сих пор используется для обучения программированию и более сложных предметов в информатике. Основан главным образом на Lisp, и частично на ALGOL. Подробнее (англ): Scheme Resource page.

Scratch

  • Язык программирования Scratch был создан специально для обучения программированию детей в возрасте от 8 до 16 лет. Scratch – легкий, и с ним изучать основы логики программирования детям можно в увлекательной игровой форме. Подробнее (англ): Scratch Resources

Simula

  • Simula – исторически важный язык, так как это был первый язык, внедривший понятия, ставшие основой для объектно-ориентированного программирования. Подробнее (англ): More on Simula’s interesting history.

SMIL

  • SMIL (Synchronized Multimedia Integration Language) инструмент для тех людей, которые хотят создавать и распространять презентации. Особенно полезен, если вы хотите создавать презентации, которые должны время от времени обновляться. Подробнее (англ): SMIL Guide

SQL

  • SQL (Structured Query Language) – язык, используемый для связи с Relational Database Management Systems (RDBMSes). SQL позволяет программисту создавать структуры данных, вставлять и редактировать данные, а также их запрашивать. Подробнее (англ): SQL Guide

Stata

  • Stata это среда разработки и язык программирования для решения серьезных статистических проблем. И хотя он создан довольно давно, но все еще широко используется. Если вы связаны со статистической работой, Stata – отличный инструмент. Подробнее (англ): Stata Programming Resources

Swift

  • Swift является новыйм языком программирования, разработанным компанией Apple, для iOS, OS X, watchOS, tvOS и Linux. Это язык будущего для разработчиков программ и приложений для устройств Apple. Подробнее (англ): Swift Resources

S-PLUS

  • S-PLUS является коммерческой версией мощного языка программирования S, разработанного для выполнения статистического анализа. Проект GNU имеет свою собственную версию S, называемую R. Все необходимые ресурсы о S с акцентом на S-PLUS: S-PLUS Programming Resources Page.

UNIX Programming

  • Широта программирования на Unix велика. Она охватывает диапазон от административных скриптов к коду на основе текста до разработки X Window. Подробнее (англ): UNIX Programming Resources

XML

  • XML  хорошо структурированный язык для разметки, предназначен, как для чтения человеком, так и машиной. Подробнее (англ):XML Guide & Validators

ГЛАВА 2. СРАВНИТЕЛЬНЫЙ АНАЛИЗ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ

2.1. Возможности Паскаль, C++, Python

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

Python ­– это интерпретируемый, объектно-ориентированный язык программирования высокого уровня с динамической типизацией, автоматическим управлением памятью и удобными высокоуровневыми структурами данных, такими как списки, кортежи и словари. Поддерживает классы, модули, обработку исключений, а также многопоточные вычисления. Достоинством языка является то, что он обладает простым и выразительным синтаксисом, поддерживает структурное, объектно-ориентированное, функциональное и аспектно-ориентированное программирование [2].

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

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

Понятие переменной в языке программирования С++ как и в языке программирования Паскаль тождественно: под переменной понимают поименованный участок памяти, в котором хранится значение определенного типа. Другими словами переменная – это именованная область памяти для хранения данных, которые могут изменяться в процессе выполнения программы. Исходя из определения, отличительными характеристиками данного понятия являются тип, идентификатор и значение. Имена и типы переменных указываются при описании и не могут изменяться в процессе выполнения программы. В Паскале тип переменной объявляется после служебного слова var, в разделе описания переменных.

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


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

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

Существуют различные классификации типов данных. Например, типы данных подразделяются на стандартные и заданные пользователем. К стандартным типам данных относятся int (целый), float (вещественный с плавающей точкой), char (символьный), string (строковый). К типам данных, заданным пользователем, относятся массивы и структуры.

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

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

В языке Паскаль тип массива задается с использованием специального слова array (англ. – массив), после чего указывается тип индекса массива и тип элементов массива. С помощью индекса можно обращаться с отдельным элементам любого массива, как к обычной переменной заданного типа: можно получать значение этого элемента, отдельно присваивать ему значение, использовать его в выражениях. Недостатком языка Паскаль является то, что переменные в массиве можно перебирать с интервалом равным 1 в прямом или обратном порядке с помощью стандартного цикла обхода (цикл for – цикл с параметром).

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

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