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

Image credit: Языки НП

Научное программирование - стиль программирования, ориентированный на научные расчеты.

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

  1. Python - это мощный язык программирования общего назначения, который разработал Гвидо ван Россум (Guido van Rossum) в 1989 году. Python классифицируется как язык программирования высокого уровня, в котором автоматически обрабатывается большинство фундаментальных операций (таких как управление памятью), выполняемых на уровне процессора («машинный код»). Python считается языком более высокого уровня, чем, например, C, из-за его выразительного синтаксиса (который во многих случаях близок к естественному языку) и богатого разнообразия встроенных структур данных, таких как списки, кортежи, множества и словари.

Плюсы:

  • ясный и простой синтаксис позволяет быстро писать программы на Python и в общем сводит к минимуму возможности совершения скрытых ошибок,

  • сама рабочая программная среда Python и связанные с ней библиотеки бесплатны, а кроме того, представляют собой программное обеспечение с открытым исходным кодом, в отличие от коммерческих предложений, таких как Mathematica и MATLAB,

  • для Python существует большая библиотека модулей и пакетов, которая расширяет его функциональность,

  • поддержка многих платформ: Python доступен для каждой общедоступной компьютерной системы, в том числе Windows, Unix, Linux и macOS,

  • Python – гибкий язык: его часто описывают как язык «многих парадигм», в котором имеются наилучшие функциональные возможности для процедурного, объектно-ориентированного и функционального программирования.

Минусы:

  • скорость выполнения программы на Python не так высока, как программ на других, полностью компилируемых языках, таких как C и Fortran,

  • трудно скрыть или замаскировать исходный код программы на Python, чтобы защитить ее от копирования и/или изменения,

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

  1. Язык программирования Fortran был разработан в середине 50-х годов ХХ века и стал первым высокоуровневым типом. Сегодня можно часто услышать, что его время прошло с появлением массовых компьютеров и осталось в эпохе перфокарт и ЭВМ размером с целую комнату. Однако данный язык до сих пор актуален. Программа на языке программирования Fortran представляет собой систему, составленную из элементов библиотеки, включающих основной программный текст, модули, внешние подпрограммы и процедуры. Любая программа включает базовый набор комбинаций компьютерных инструкций и данных. Кроме того, она может содержать/не содержать дополнительные программные модули.

Плюсы:

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

  • благодаря распространенности во всем мире, Fortran имеет объемную библиотеку и большой ассортимент прикладных приложений, которые созданы за его длинную историю,

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

  • язык программирования Fortran имеет набор средств (трансляторов) для преобразования в машинные системы разных компьютеров.

Минусы:

  • жесткие требования к формату кода,

  • небольшой набор команд для управления программной структурой,

  • слабый набор средств для описания данных.

  1. Matlab - популярный инструмент, используемый при работе с матричными базами данных, виртуализацией и математическими расчетами. Он не применяется для разработки программного обеспечения вроде игр или бизнес-решений. Язык Matlab высокоуровневый и интерпретируемый. Он включает в себя пакет прикладных программ, а также интегрированную среду разработки. Встречается преимущественно в математических и инженерных задачах. Его изучают математики и физики. Соответствующий комплекс представляет собой набор профессиональных инструментов для технических вычислений, а также компьютерного моделирования. Отличается строгими требованиями качества. Matlab как язык программирования был создан в 1970-х годах неким Кливом Моулером, деканом факультета компьютерных наук в университете Нью-Мексико. В самой первой своей версии Matlab не был полноценным языком. Он представлял собой простой интерактивный матричный калькулятор.

Плюсы:

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

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

  • то, что написано на Matlab, легко переводится на C и C++ через Matlab Coder,

  • в пакет включены прикладные приложения от сторонних и официальных разработчиков. Они расширяют стандартную функциональность языка.

Минусы:

  • Matlab имеет множество операторов и команд. Они делают работы программ, написанных на рассматриваемом языке, более медленными,

  • использование инструмента поддерживается только в замкнутых экосистемах. На других программных платформах он неэффективен,

  • данная программная среда – это коммерческий продукт. Он распространяется только платно. Чтобы приобрести дистрибутив по минимальной стоимости, необходимо быть студентом университета.

Языками научного программирования также считаются: C /C++, ALGOL, APL, J, Julia, Maple и R.

Ксения Леонтьева
Ксения Леонтьева
Студент магистратуры

Мои научные интересы включают исследование сетей 5G/5G+, нарезку радиоресурсов, машинное обучение и теорию массового обслуживания.