Инструменты пользователя

Инструменты сайта


examination:ccc:question1

Вопрос №1. Средства разработки ПО

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

Языки разделяются по уровням по отношениям к естественному человеческому языку (т.е. человеческий язык — язык самого высокого уровня).

Обычно среды разработки включают в себя: текстовый редактор, отладчик, транслятор, справка, библиотеки, визуальные средства разработки.

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

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

Чтобы решить проблему платформозависимости, были разработаны соответствующие программные среды, являющиеся виртуальными машинами. Эти виртуальные машины обеспечивают выполнение программы на любой платформе. Например, Java, .NET.

Программа написанная на каком-либо алгоритмическом языке преобразуется в программу на языке виртуальной машины. Для Java мы получаем байт-код, для .NET мы получаем msl. После того, как программа представлена на одном их этих языков, она может быть выполнена на виртуальной машине не зависимо от аппаратной платформы. При этом используется JIT-компиляторы (just in time), которые переводят программные команды на язык соответствующей виртуальной платформы.

Компиляторы за счет предварительного анализа исходного кода позволяют оптимизировать машинный код.

examination/ccc/question1.txt · Последние изменения: 2014/01/15 12:13 (внешнее изменение)