Початковий код (англ. source code) — будь-який набір інструкцій або оголошень, написаних комп'ютерною мовою програмування у формі, що її може прочитати і модифікувати людина. Початковий код дозволяє програмісту вивчати і змінювати роботу програми в найзручніший для людини спосіб. Також вихідний код, програмний код, первинний код.
Початковий код, який визначає програму, як правило, міститься в одному або більше текстових файлах, іноді зберігається в базах даних, як збережені процедури, а також може з'явитися, як фрагменти коду, надруковані в книжках або інших засобах друку. Велика колекція файлів початкового коду може бути організована в дерево каталогів і в цьому випадку воно може бути також відоме як дерево сирців[джерело?] (англ. source tree). Така додаткова інформація про ієрархію, разом з відомостями про підключені програмні бібліотеки, налаштування компіляції тощо є невід'ємною частиною початкового коду.
Початковий код не обов'язково має форму тексту. Наприклад при візуальному програмуванні форм чи звітів початковим кодом є саме представлення у візуальному будівнику, як найприродніша форма вивчення і внесення змін у програму, тоді як текстові чи бінарні файли зі збереженим результатом роботи мають допоміжну функцію і як правило не призначені для безпосередньої правки.
Початковий код програми — це набір файлів або інших джерел, потрібних для перетворення з форми, доступної для читання людині, на деякі види комп'ютерного виконуваного коду. Можливі два напрямки виконання початкового коду: транслюється у машинний код або байт-код за допомогою компілятора, призначеного для певної комп'ютерної архітектури, або виконується порядково безпосередньо за текстом за допомогою інтерпретатора.
Призначення
Початковий код в основному використовується як вхідні дані для процесу, який виробляє виконувані програми (тобто, його компілюють або інтерпретують). Його також використовують як засіб передавання алгоритмів між людьми (наприклад, фрагменти коду в книжках). Портування програмних засобів на інші комп'ютерні платформи без початкового коду, як правило, є досить складним. Хоча можливі варіанти портування і без початкового коду, наприклад, двійкова трансляція або емуляція оригінальної платформи.
Ліцензування
Програмні засоби і початковий код, що їх супроводжує, як правило, відносяться до однієї з двох парадигм ліцензій: відкрите програмне забезпечення та власницьке програмне забезпечення (або пропрієтарне). Загалом, програмне забезпечення є відкритим, якщо початковий код може вільно використовуватися, розповсюджуватися, модифікуватися і аналізуватися, і пропрієтарним, якщо початковий код тримається в секреті або перебуває у приватній власності та доступ до нього обмежено. Для забезпечення закритості використовуються здебільшого положення різних законів про авторське право, але часто використовуються також комерційна таємниця та патенти. Крім того, дистрибутив програмного забезпечення, як правило, приходить з ліцензійною угодою (EULA), яка, переважно, забороняє декомпіляцію, реінженіринг, аналіз, редагування або обхід захисту від копіювання. Види захисту початкового коду, окрім традиційного компілювання в об'єктний код, включають шифрування коду, заплутування коду (англ. code obfuscation) або морфінг коду.
Якість
Те, як написано програму, може мати дуже важливі наслідки для її супроводу. Багато підручників зі стилю програмування наполягають на важливості прочитності, і багато рекомендацій спрямовано на підтримку початкового коду програмними засобами, яке включає в себе зневадження і оновлення. Інші пріоритети, як наприклад, швидкість виконання програми та можливості компілювання програми для декількох архітектур, часто роблять прочитність коду менш важливим фактором, оскільки якість коду повністю залежить від його призначення.
Оскільки програмування вже десятки років існує у промислових масштабах, були розроблені відповідні стандарти оформлення коду. Деякі стандарти оформлені офіційно, а деякі є негласними правилами. Наприклад, так звана угорська нотація наводить правила йменування ідентифікаторів у програмі (часто це вирішується ухваленням внутрішніх правил з іменування всередині підприємства чи навіть окремого проекту), інші стандарти визначають правила розстановки елементів синтаксису.
Термін в українській мові
Цей розділ потребує додаткових посилань на джерела для поліпшення його перевірності. (березень 2016) |
В українській термінології поки що не має загальноприйнятого позначення для англ. «source code». Існує ряд варіантів перекладу, які застосовуються розробниками і локалізаторами програмного забезпечення[1]. Прихильники терміну сирцевий код наголошують на його перевазі над більшістю аналогів завдяки відсутності перекриття понять та легкості утворення похідних. Також однозначними є терміни «джерельний код» та «текст програми». Варіант «текст програми», попри традиційне використання цього терміну в україномовних джерелах, менш зручний в утворенні похідних термінів.
Див. також
Примітки
Посилання
- (англ.)Визначення початкового коду від The Linux Information Project (LINFO)
- Пошук по початкових кодах від Google[недоступне посилання з 27.01.2019]
- Загальнодоступна wiki для редагування початкового коду[недоступне посилання з 27.01.2019]
Це незавершена стаття про програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |