Что такое програмный код. Теоретические основы программирования. Смотреть что такое "Программный код" в других словарях

Назначение

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

Другое важное назначение исходного кода - в качестве описания программы. По тексту программы можно восстановить логику её поведения. Для облегчения понимания исходного кода используются комментарии . Существуют также инструментальные средства, позволяющие автоматически получать документацию по исходному коду - т. н. генераторы документации .

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

Программисты часто переносят исходный код (в виде модулей , в имеющемся виде или с адаптацией) из одного проекта в другой, что носит название повторного использования кода .

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

Организация

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

Сложное программное обеспечение при сборке требует использования десятков, или даже сотен файлов с исходным кодом. В таких случаях для упрощения сборки обычно используются файлы проектов, содержащие описание зависимостей между файлами с исходным кодом, и описывающие процесс сборки. Эти файлы также могут содержать параметры для компилятора и среды проектирования. Для разных сред проектирования могут применяться разные файлы проекта, причём в некоторых средах эти файлы могут быть в текстовом формате, пригодном для непосредственного редактирования программистом с помощью универсальных текстовых редакторов, в других средах поддерживаются специальные форматы, а создание и изменения файлов производится с помощью специальных инструментальных программ. Файлы проектов обычно включают в понятие «исходный код». В подавляющем большинстве современных языковых сред обязательно используются файлы проектов вне зависимости от сложности прочего исходного кода, входящего в данный проект. Часто под исходным кодом подразумевают и файлы ресурсов, содержащие различные данные, например, графические изображения, нужные для сборки программы.

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

Качество

В отличие от человека, для компьютера нет «хорошо написанного» или «плохо написанного» кода. Но то, как написан код, может сильно влиять на процесс сопровождения ПО . О качестве исходного кода можно судить по следующим параметрам:

  • читаемость кода (в том числе наличие комментариев к коду);
  • лёгкость в поддержке, тестировании, отладке и устранении ошибок, модификации и портировании;
  • экономное использование ресурсов - памяти, процессора, дискового пространства;
  • отсутствие замечаний, выводимых компилятором;
  • отсутствие «мусора» - неиспользуемых переменных, недостижимых блоков кода, ненужных устаревших комментариев и т. д;
  • адекватная обработка ошибок;
  • переносимость - возможность использования обработчика (компилятора, интерпретатора, транслятора) разных версий, или даже различных ОС ;
  • возможность интернационализации интерфейса.

Неисполняемый исходный код

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

В таких случаях исходным кодом считается форма данной работы, предпочтительная для её редактирования. В лицензиях, предназначенных не только для ПО, она также может называться версией в «прозрачном формате». Это может быть, например:

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

См. также


Wikimedia Foundation . 2010 .

Смотреть что такое "Исходный код" в других словарях:

    Исходные материалы фильма негатив, контратип, контрольная копия фильма, оригинал магнитных фонограмм перезаписи музыки, шумов, видеофонограмма мастер, компакт диск и т.п. Синонимы: текст либо непосредственно выполняется интерпретатором, либо… … Финансовый словарь

    Написанный человеком текст компьютерной программы на каком либо языке программирования Словарь бизнес терминов. Академик.ру. 2001 … Словарь бизнес-терминов

    исходный код - — Тематики электросвязь, основные понятия EN source code … Справочник технического переводчика

    исходный код - 3.1.13 исходный код (source code): Компьютерная программа, выраженная в удобной для восприятия человеком форме (язык программирования), которая переводится в машиночитаемую форму (объектный код) перед тем, как она может быть испытана с… … Словарь-справочник терминов нормативно-технической документации

    исходный код - язык исходного текста … Толковый переводоведческий словарь

    Исходный код: Исходный код написанный человеком текст компьютерной программы. Исходный код технотриллер режиссёра Данкана Джонса … Википедия

    У этого термина существуют и другие значения, см. Исходный код. Исходный код Source Code … Википедия

    В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете … Википедия

    Логотип Open Source Initiative (OSI) Открытое программное обеспечение (англ. open source software) это программное обеспечение с открытым исходным кодом. Исходный код создаваемых программ открыт, то есть доступен для просмотра и изменения. Это… … Википедия

    Исходная программа (исходный код) - 48) исходная программа (исходный код) соответствующее представление одного или более процессов, которые могут быть преобразованы программирующей системой в форму, исполняемую оборудованием (объектный код или объектный язык) (категории 6, 7 и 9); … Официальная терминология

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

Программный код - это набор слов и символов языка программирования.

Алфавит - это полный набор букв, цифр и символов, принятых в языке для обозначения данных и действий над ними.

Алфавит языка Visual Basic включает следующий набор символов :

Прописные (A - Z) и строчные (а - z) буквы латинского алфавита;

Цифры от 0 до 9;

Знаки арифметических операций (в порядке возрастания приоритета): +, -, *, /, |, ^;

Знаки операций отношения: =, <, >.

Знаки препинания и разделители: ,  . : ; ();

В алфавит языка входят также зарезервированные слова, которые не могут быть использованы в качестве имен переменных или процедур. Примеры зарезервированных слов: Dim, Sub, Integer и т.д. По умолчанию для выделения ключевых слов в окне редактирования кода Visual Basic используют шрифт синего цвета.

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

Окно программного кода

Программный код записывается в окне кода. Такое окно имеется у каждой формы.

Открыть окно кода:

1 способ - в окне Проводник Проекта щелкнуть правой кнопкой по нужной форме и в открывшемся меню выбрать Показать код.

Примечание : окно кода может быть и не связано с формой. Отдельное окно кода называется Модуль . Модули в окне Проводник проекта сгруппированы в группу Модули . Для открытия окна с кодом модуля нужно в окне Проводник проекта дважды щелкнуть по имени модуля.

2 способ - дважды щелкнуть по элементу управления на форме или по самой форме в окне формы.

Примечание : при этом не только открывается окно кода, но и создается процедура обработки события (см. ниже).

Структура окна кода:

Рис. 7. Окно программного кода.

    Список элементов управления

    Список событий элементов управления

    Процедура (код)

Процедуры

Поскольку при открытии холодильника загорается лампа, а при открытии крана - вытекает вода, то можно сказать, что при возникновении события открытие холодильника выполняется одна процедура, а событие открытие крана вызывает другую процедуру. Аналогично и программный код состоит из отдельных процедур, каждая из которых выполняет свои определенные для нее действия, например, одна процедура зажигает лампу, другая включает (накачивает) воду.

Visual Basic - процедурный программирования язык. Это означает, что в нем можно создавать блоки программного кода, на которые затем можно ссылаться по имени. После того как блок кода получит имя, он может быть вызван и выполнен. Это похоже на программу в программе. Маленькие программы, "живущие" в больших программах, называются функциями, если они возвращают какое-либо зна­чение, и подпрограммами, если они значений не возвращают.

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

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

Если процедура может выполняться только внутри данного программного блока (например, только в этой форме), и её нельзя вызвать из другого программного блока, то такая процедура является локальной. Локальная процедура задается с помощью ключевого слова Private Sub.

Если процедуру можно вызвать из других программных блоков (например из другой формы), то такая процедура является глобальной. Глобальная процедура задается с помощью ключевого слова Public Sub.

По умолчанию, если перед ключевым словом Sub, отсутствует ключевое слово, то эта глобальная процедура.

Процедуры бывают:

    Процедуры обработки событий . Выполняются при возникновении какого-либо события в каком-либо элементе управления (или форме). Событийная процедура всегда связана с каким-то объектом. Чтобы вызвать событийную процедуру объекта, достаточно по этому объекту сделать двойной левый щелчок.

    Произвольные процедуры . Она не связаны с событиями и могут быть вызваны из любой другой процедуры и выполнены в любое время. Если в программе во всех формах встречается один и тот же программный блок, то его можно записать только один раз и в одном месте, в виде глобальной общей программы. Запуск общей программы не связана с объектом и с событием, а происходит, когда к нему обращаются из других программных блоков. Вызов общей процедуры из той же формы: ИмяПроцедуры (СписокПараметров) . Вызов общей процедуры из другой формы: ОБЪЕКТ. ИмяПроцедуры (СписокПараметров) . Общая процедура бывает и локальной Private и глобальной Public

Структура процедуры

Процедура состоит из следующих элементов:

    Заголовок процедуры - отмечает начало процедуры, ее тип, назначение (событие).

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

    Слово Private означает - закрытая, то есть процедура принадлежит только данной форме или модулю и не может быть использована другими контейнерами (формами, модулями). Если это слово опустить, то процедура будет открыта для других контейнеров.

    Sub - процедура.

Примечание : кроме процедур бывают функции - function. Функции не связаны с событиями и дополнительно могут возвращать результат своей работы (вычислений).

    Элемент управления (или имя формы): здесь указывается точное имя элемента, хранящееся в свойстве Name.

    Событие - наименование события. Вот некоторые события:

    Click - щелчок мышью;

    DblClick - двойной щелчок мышью;

    KeyPress - нажатие клавиши;

    UnLoad - выгрузка формы (при закрытии формы, завершении программы);

    Activate - активизация формы (при щелчке по форме, когда ее заголовок подсвечивается);

    Deactivate - деактивизация формы (при щелчке по другой форме).

    Initialize - при создании объекта типа форма.

    Resize - при изменении размера формы

    Terminate - в момент удаления формы

    Аргументы - это исходные данные, передаваемые процедуре для обработки.

У произвольных процедур заголовок следующий:

Имя процедуры должно быть уникально , должно начинаться с буквы, не должно содержать пробелов и других знаков, кроме знака подчеркивания. По имени происходит вызов процедуры, когда необходимо ее выполнить.

    Окончание процедуры - заканчивает программный код процедуры: End Sub

Примечание : у функций: End Function

    Тело процедуры - это строки между заголовком и окончанием. Их количество неограниченно. Строки содержат предписания, которые должны выполниться при вызове процедуры (возникновении события).

Подпрограмма (Sub ) - представляет собой процедуру, выполняющую про­граммный код в пределах своего блока и не возвращающую значения. Синтаксис про­стой подпрограммы таков:

( Private | Public ) Sub SubMain ()

..строки кода End Sub

Область видимости подпрограммы;

Sub -тип процедуры (а именно - подпрограмма);

subMain имя, присваиваемое подпрограмме;

End Sub -окончание блока кода подпрограммы.

Создание процедуры

Для создания процедуры выполните следующее:

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

    2 способ - откройте окно кода, выполните Инструменты → Добавить процедуру → укажите имя и параметры процедуры → Ok.

    3 способ - откройте окно кода и введите нужные строки с клавиатуры.

В результате должно получиться:

Private Sub Command1_Click()

Вызов процедур на исполнение

    Чтобы выполнилась процедура обработки события, это событие должно произойти.

    Для выполнения произвольной процедуры в теле другой процедуры указывают имя этой процедуры.

Private Sub Command1_Click()

Здесь при нажатии на кнопку Command1 возникает событие Click (щелчок мышью) и вызывается и выполняется процедура Kvadrat.

Код процедуры выполняется построчно и сверху вниз.

Функция (Function ) - это процедура, которая выполняет строки своего кода и возвращает некоторое значение. Синтаксис простой функции таков:

Function FunctionName() As Datatype

... строки кода

FunctionName = ReturnValue End Function

Область ви­димости функции;

Function - ключевое слово Visual Basic, указывающее на то, что это именно функция;

FunctionName () - имя, присваиваемое функции;

AS - ключевое слово Visual Basic, предваряющее назначение типа данных;

DataType тип данных возвращаемого значения;

ReturnValue значение, которое должно быть при­своено имени функции (это очень важный момент!);

End Function -конец данного блока кода.

Назначение

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

Другое важное назначение исходного кода - в качестве описания программы. По тексту программы можно восстановить логику её поведения. Для облегчения понимания исходного кода используются комментарии . Существуют также инструментальные средства, позволяющие автоматически получать документацию по исходному коду - т. н. генераторы документации .

Кроме того, исходный код имеет много других применений. Он может использоваться как инструмент обучения; начинающим программистам бывает полезно исследовать существующий исходный код для изучения техники и методологии программирования. Он также используется как инструмент общения между опытными программистами, благодаря своей (идеально) лаконичной и недвусмысленной природе. Совместное использование кода разработчиками часто упоминается как фактор, способствующий улучшению опыта программистов.

Программисты часто переносят исходный код из одного проекта в другой, что носит название повторного использования кода (Software reusability ).

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

Организация

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

Сложное программное обеспечение при сборке требует использования десятков, или даже сотен файлов с исходным кодом. В таких случаях для упрощения сборки обычно используются файлы проектов, содержащие описание зависимостей между файлами с исходным кодом, и описывающие процесс сборки. Эти файлы так же могут содержать и другие параметры компилятора и среды проектирования. Для разных сред проектирования могут применяться разные файлы проекта, причем в некоторых средах эти файлы могут быть в текстовом формате, пригодном для непосредственного редактирования программистом с помощью универсальных текстовых редакторов, в других средах поддерживаются специальные форматы, а создание и изменения файлов производится с помощью специальных инструментальных программ. Файлы проектов обычно включают в понятие «исходный код». В подавляющем большинстве современных языковых сред обязательно используются файлы проектов вне зависимости от сложности прочего исходного кода, входящего в данный проект. Часто под исходным кодом подразумевают и файлы ресурсов, содержащие различные данные, например, графические изображения, нужные для сборки программы.

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

Качество

В отличие от человека, для компьютера нет «хорошо написанного» или «плохо написанного» кода. Но то, как написан код, может сильно влиять на процесс сопровождения ПО . О качестве исходного кода можно судить по следующим параметрам:

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

Неисполняемый исходный код

См. также

  • Пример: Программа Hello world

Ссылки

Wikimedia Foundation . 2010 .

Смотреть что такое "Программный код" в других словарях:

    программный пакет - 3.19 программный пакет: Архивный файл, содержащий программный код в бинарном или исходном виде, а также метаданные о программе, ее версии, зависимостях и другую информацию. Источник: ГОСТ Р 54593 2011: Информационные технологии. Свободное… …

    - (англ. Netscape Plugin Application Programming Interface, NPAPI кросс платформенная архитектура разработки плагинов, поддерживаемая многими браузерами. Интерфейс был разработан для семейства браузеров Netscape Navigator, начиная с Netscape… … Википедия

    В компьютерных науках программный агент это программа, которая вступает в отношение посредничества с пользователем или другой программой. Слово «агент» происходит от латинского agere (делать) и означает соглашение выполнять действия от… … Википедия

    Framework термин, имеющий размытое значение. Обычно используется в программировании, обозначая «простую концептуальную структуру, используемую для решения сложной, проблемной задачи». Значение этого термина существенно зависит от контекста его… … Википедия

    Эта статья о системе команд в целом; об инструкциях см.: Код операции. Машинный код (платформенно ориентированный код), машинный язык система команд (набор кодов операций) конкретной вычислительной машины, которая интерпретируется… … Википедия

    Официальная терминология

    Вирус (компьютерный, программный) - исполняемый программный код или интерпретируемый набор инструкций, обладающий свойствами несанкционированного распространения и самовоспроизведения. Созданные дубликаты компьютерного вируса не всегда совпадают с оригиналом, но сохраняют… … Словарь-справочник терминов нормативно-технической документации

    - (англ. managed code) термин, введённый Microsoft для обозначения кода программы, исполняемой под «управлением» виртуальной машины.NET Common Language Runtime. При этом обычный машинный код называется неуправляемым кодом… … Википедия

    Заплатка, или патч (англ. patch /pætʃ/ заплатка) автоматизированное отдельно поставляемое программное средство, используемое для устранения проблем в программном обеспечении или изменения его функционала, а также сам процесс установки патча (… … Википедия

    Pyramid Тип Программный каркас веб приложений Разработчик … Википедия

Книги

  • Объектно-ориентированное проектирование: концепции и программный код , Гаст Хольгер. Эта книга призвана помочь читателю глубоко усвоить понятие объектов, раскрыть их истинный потенциал, чтобы писать код, эффективно работающий в реальных условиях. Вней рассматриваются…

Это вводная часть, посвященная теоретическим основам программирования. Читатель может ознакомиться с ней и затем перейти к изучению программирования на практике (ссылки в начале и в конце этого материала), может обратиться к практическим упражнениям сразу, а может продолжить знакомиться с теорией разработки программных продуктов, выбирая интересующие его вопросы из вышеприведенного списка. Что касается данной статьи, то вот ее основные разделы:

Совет: Читая дальнейший материал, не старайтесь запомнить все встречающиеся по ходу повествования термины и определения. Все встанет на свои места со временем, тем более что гипертекст интернет страниц тем и хорош, что ссылки на развернутое изложение материала можно обнаружить там, где это необходимо. Вы всегда сможете вернуться на нужную страницу и сделать это ровно тогда, когда ощутите дефицит знаний. Если какой-либо раздел вызывает у вас трудности в плане его осознания – пропустите его. Если в дальнейшем вы к нему не вернетесь, то это означает, что он в процессе изучения основ программирования для вас оказался лишним.

Что такое алгоритм, программирование и псевдокод

Начнем с того, что определим, что такое алгоритм. Алгоритм – это порядок действий, которые необходимо выполнить, чтобы решить определенную задачу. Понятие алгоритма не связано только лишь с программами, выполняемыми на , поэтому на вопрос “кому необходимо выполнить” ответом может быть кто или что угодно: человек, робот, вычислительная техника и т.д. Алгоритм – это инструкция или руководство или, наконец, просто программа действий . В этом случае – это описание алгоритма средствами , конструкции которого компьютер умеет обрабатывать. Или же просто это процесс написания текста компьютерной программы. В такой интерпретации синонимом программированию является процесс кодирования (coding) . Почему я заговорил про интерпретации? Дело в том, что разработчики программного обеспечения очень трепетно относятся к тому, чем они занимаются, и могут быть крайне недовольны, когда их деятельность сводят только лишь к процессу кодирования на конкретном языке программирования. Сам – это не только кодирование, но и предваряющий этап проектирования, а также последующие этапы и сопровождения. Под программированием чаще имеют в виду процесс создания компьютерной программы в целом, в том числе и разработку алгоритма, а кодирование – это перевод уже разработанного алгоритма на язык, понятный объекту кодирования (имеется в виду компьютер или любое другое устройство, работающее по заданной кем-то программе).

Итак, алгоритм любой задачи, описанный на любом алгоритмическом языке (процедурном языке программирования), в первом приближении предстает в виде последовательности инструкций или операторов . Оператор может быть простым или составным. Простой оператор – это атомарная единица языка программирования . К простым операторам относят (определение имени и типа переменной), (присвоение переменной значения), операции ввода и вывода информации и т.д.

Переменная (в программировании) – это поименованная область оперативной памяти, предназначенная для временного хранения порции данных, обрабатываемой компьютерной программой. Переменная характеризуется размером занимаемой памяти и типом, который определяет то, каким образом эта память интерпретируется компьютером. Тип переменной может быть простым или составным (комплексным). К простым типам относится числовой, символьный и логический тип. Составной тип - это набор простых и/или других составных типов.

Составные операторы используются для организации других операторов в последовательности и управления ходом выполнения программы. К составным операторам относят (повторение последовательности операторов), и т.п. и сами по себе операторами не являются. Они могут быть аргументами значений переменным или критериями выполнения циклов и условных операторов. Частью математических и логических выражений могут быть .

Промежуточные итоги: Простейшая компьютерная программа – это последовательность операторов (программных инструкций), одни из которых модифицируют переменные, а другие управляют ходом выполнения программы (циклы, условные операторы), на основании условий, заданных логическими и арифметическими выражениями.

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

Раньше алгоритмы, перед тем как реализовать их на , представляли в виде . На сегодня, как мне кажется, к классическим блок-схемам прибегают довольно редко (в школах или на различных курсах основ программирования). Также, блок-схемы используют при описании бизнес-процессов совместно с диаграммами, но это уже относится к этапам макропроектирования. Я в своей практике весьма редко использую какие-то промежуточные формы описания алгоритмов, но если такая необходимость возникает, то делаю это с использованием псевдокода . Псевдокод – это псевдоязык программирования , на синтаксис которого стандартов не существует. Псевдокод лишен несущественных для понимания сути алгоритма деталей, без которых никак при написании программ на реальных языках программирования. Единственная цель псевдокода – формализовать описание алгоритма . Задачи, решения которых описаны на псевдокоде, очень легко переносятся на любой язык программирования, поскольку псевдокод и есть язык программирования с той лишь разницей, что для него не существует компилятора, а единственным интерпретатором для него является человеческий мозг. Что такое компилятор и интерпретатор я расскажу в конце этого материала.

Примеры алгоритмов на псевдокоде и в виде блок-схем

Вот пример описания алгоритма задачи деления одного числа на другое, выполненного на псевдокоде:

A: ЦЕЛОЧИСЛЕННЫЙ ТИП ВВОД(A) B: ЦЕЛОЧИСЛЕННЫЙ ТИП ВВОД(B) ЕСЛИ B=0 ТО ВЫВОД(“ОШИБКА: ДЕЛЕНИЕ НА 0!”) ВЫХОД КОНЕЦ ЕСЛИ C: ВЕЩЕСТВЕННЫЙ ТИП C = A / B ВЫВОД(C)

Интегрированная среда разработки (IDE, Integrated development environment) – совокупность программных средств, предлагающих пользователю инструменты для написания программного кода, поиска и выделения в нем синтаксических ошибок и запуска приложения в режиме отладки. В состав интегрированной среды разработки входят компилятор, компоновщик, отладчик, профайлер и другие компоненты. Наиболее популярной средой разработки программных продуктов на языках программирования C#, VB.NET и C++ является , а для учебных целей я предлагаю использовать следующий .

Отладчик (debugger) – инструмент IDE, позволяющий выполнять программу в пошаговом режиме и отслеживать значения переменных на каждом из шагов, определенных точками останова или контрольными точками (break point).

Профайлер (profiler) – инструмент IDE, используемый для оптимизации программного кода по скорости его выполнения и занимаемой им оперативной памяти. С помощью профайлера можно собрать статистику, какая часть кода выполняется чаще всего, и сколько времени и ресурсов на ее выполнение тратит компьютер. На основе этой статистики можно выявить “узкие места” вашей программы и направить свои усилия на их оптимизацию.

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

Машинный код – система команд, которые процессор компьютера понимает “без перевода”.

Языки программирования высокого и низкого уровня – классификация языков программирования по степени удобства их использования человеком для решения прикладных задач (языки высокого уровня) или по степени близости их к машинному коду (языки низкого уровня).

Компилятор (compiler) – приложение, которое занимается процессом компиляции - переводом программы (трансляцией программного кода), написанной на языке программирования высокого уровня на язык низкого уровня или в машинный код. Под компиляцией на язык низкого уровня чаще всего подразумевается трансляция программы на язык ассемблера с тем, чтобы выполнить “тонкую” настройку отдельных “узких мест” перед тем как окончательно перевести ее в машинный код. Пример программы на ассемблере можно увидеть .

Объектный модуль – файл, содержащий результат работы компилятора, а именно сам машинный код со ссылками на другие объектные модули, если программа сложная и состоит из множества компонентов.

Компоновщик (linker) – приложение, которое вступает в процесс создания исполняемого модуля после компилятора. Если результат компиляции – это несколько объектных модулей, то компоновщик всех их находит и строит из них исполняемый модуль.

Исполняемый модуль – файл, содержащий программу ровно в том виде, который способен обработать загрузчик конкретной операционной системы. Чаще всего это файлы с расширением exe или dll.

Загрузчик (loader) – часть операционной системы, которая создает для программы отдельный , загружает в оперативную память (в область оперативной памяти, выделенную для процесса) данные исполняемого файла, инициализирует регистры процессора и стартует процесс. С этого момента программа начинает выполняться.

Интерпретатор (interpreter) – программа, исполняющая программный код пошагово, транслируя в машинный код только ту его часть, которую необходимо исполнить в конкретный момент времени. Интерпретатор обрабатывает программу построчно. Отличие компилятора от интерпретатора в том, что компилятор транслирует в машинный код сразу всю программу, создавая при этом один или несколько объектных модулей, а интерпретатор, выполнив трансляцию только нужного ему фрагмента программы, сразу же этот фрагмент и выполняет. Таким образом, некоторые интерпретаторы – это компилятор, компоновщик и загрузчик в одном флаконе. Примером интерпретатора является блок обработки в интернет браузере.

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

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

Другое важное назначение исходного кода - в качестве описания программы. По тексту программы можно восстановить логику её поведения. Для облегчения понимания исходного кода используются комментарии . Существуют также инструментальные средства, позволяющие автоматически получать документацию по исходному коду - т. н. генераторы документации .

Кроме того, исходный код имеет много других применений. Он может использоваться как инструмент обучения; начинающим программистам бывает полезно исследовать существующий исходный код для изучения техники и методологии программирования. Он также используется как инструмент общения между опытными программистами, благодаря своей (идеально) лаконичной и недвусмысленной природе. Совместное использование кода разработчиками часто упоминается как фактор, способствующий улучшению опыта программистов.

Программисты часто переносят исходный код из одного проекта в другой, что носит название повторного использования кода (Software reusability ).

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

Организация

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

Сложное программное обеспечение при сборке требует использования десятков, или даже сотен файлов с исходным кодом. В таких случаях для упрощения сборки обычно используются файлы проектов, содержащие описание зависимостей между файлами с исходным кодом, и описывающие процесс сборки. Эти файлы так же могут содержать и другие параметры компилятора и среды проектирования. Для разных сред проектирования могут применяться разные файлы проекта, причем в некоторых средах эти файлы могут быть в текстовом формате, пригодным для непосредственного редактирования программистом с помощью универсальных текстовых редакторов, в других средах поддерживаются специальные форматы, а создание и изменения файлов производится с помощью специальных инструментальных программ. Файлы проектов обычно включают в понятие «исходный код». В подавляющем большинстве современных языковых сред обязательно используются файлы проектов вне зависимости от сложности прочего исходного кода, входящего в данный проект. Часто под исходным кодом подразумевают и файлы ресурсов, содержащие различные данные, например, графические изображения, нужные для сборки программы.

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

Качество

В отличие от человека, для компьютера нет «хорошо написанного» или «плохо написанного» кода. Но то как написан код может сильно влиять на процесс сопровождения ПО . О качестве исходного кода можно говорить в контексте следующих параметров:

  • читаемость кода (в том числе наличие или отсутствие комментариев к коду - блоков произвольного текста, опускаемых программой-компилятором);
  • лёгкость в поддержке, тестировании, отладке и устранении ошибок, модификации и портировании;
  • низкая сложность;
  • низкое использование ресурсов - памяти, процессора, дискового пространства;
  • отсутствие замечаний, выводимых компилятором;
  • отсутствие «мусора» - так называемых «мертвых переменных» (то есть переменных, которые не используются), операторов, которые никогда не исполняются, комментариев от предыдущих версий данного кода, потерявших свой смысл и т. д.

Неисполняемый исходный код

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

В таких случаях исходным кодом считается форма данной работы, предпочтительная для её редактирования. В лицензиях, предназначенных не только для ПО, она также может называться версией в «прозрачном формате». Это может быть, например:

  • для файла, сжатого с потерей данных - версия без потерь;
  • для растрового изображения - векторная версия;
  • для двухмерного изображения трёхмерной модели - трёхмерная модель
  • для изображения текста - такой же текст в текстовом формате ;

и наконец, сам файл, если он удовлетворяет указанным условиям, либо если более удобной версии просто не существовало.



Понравилась статья? Поделиться с друзьями: