Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
diploma_0.0.2.pdf
Скачиваний:
19
Добавлен:
27.03.2016
Размер:
1.89 Mб
Скачать

3.Эксперименты

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

Всвоих прежних работах, автор использовал большое количество разнообразных языков и сред программирования для решения широкого спектра задач. Ниже приведены и разобраны по схеме “плюсы/минусы” те языки и платформы, которые могли бы быть выбраны для написания дипломной работы (в порядке освоения):

C/C++

Использовались для: задач, связанных с математическими рассчетами, программированием трехмерной графики с использованием OpenGL, написанием трехмерного игрового движка.

Плюсы: компиляция в машинный код, высокая скорость исполнения кода, контроль за ресурсами, выделением и распределением памяти.

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

JavaScript/NodeJS + HTML/CSS

Использовались для: задач, связанных с программированием интерфейсов, web-frontend разработкой, написанием серверов и приложений - менеджеров задач, метапрограммированием.

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

мальное использование ресурсов виртуальной машиной.

13

C#

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

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

Минусы: все еще существенно медленнее, чем скомпилированный машинный код, неудобен для рассчетных задач.

Python + Numpy/SciPy/PyCUDA

Использовался для: программирования задач, связанных с обработкой данных, написанием распределенных алгоритмов и высокопараллельных вычислений

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

Минусы: низкая скорость исполнения непосредственно python-кода, большой overhead

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

14

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]