Початковий код

Початковий код (англ. source code; також перекладається українською як вихідний код, програмний код, джерельний код, первинний код, текст програми, першокод[1], у професійному середовищі також сирцевий код, у контексті код або сирці) — будь-який набір інструкцій або оголошень, написаних комп'ютерною мовою програмування у формі, що її може прочитати і модифікувати людина. Початковий код дозволяє програмісту вивчати і змінювати роботу програми в найбільш зручний для людини спосіб.

Зразок тексту програми, написаної мовою Java.

Початковий код, який визначає програму, як правило, міститься в одному або більше текстових файлах, іноді зберігається в базах даних, як збережені процедури, а також може з'явитися, як фрагменти коду, надруковані в книжках або інших засобах друку. Велика колекція файлів початкового коду може бути організована в дерево каталогів і в цьому випадку воно може бути також відоме як дерево сирців (англ. source tree). Така додаткова інформація про ієрархію, разом з відомостями про підключені програмні бібліотеки, налаштування компіляції тощо є невід'ємною частиною початкового коду.

Початковий код не обов'язково має форму тексту. Наприклад при візуальному програмуванні форм чи звітів початковим кодом є саме представлення у візуальному будівнику, як найбільш природна форма вивчення і внесення змін у програму, тоді як текстові чи бінарні файли зі збереженим результатом роботи мають допоміжну функцію і як правило не призначені для безпосередньої правки.

Початковий код програми — це набір файлів або інших джерел, потрібних для перетворення з форми, доступної для читання людині, на деякі види комп'ютерного виконуваного коду. Можливі два напрямки виконання початкового коду: транслюється у машинний код або байт-код за допомогою компілятора, призначеного для певної комп'ютерної архітектури, або виконується порядково безпосередньо за текстом за допомогою інтерпретатора.

Призначення

Початковий код в основному використовується як вхідні дані для процесу, який виробляє виконувані програми (тобто, його компілюють або інтерпретують). Його також використовують як засіб передавання алгоритмів між людьми (наприклад, фрагменти коду в книжках). Портування програмних засобів на інші комп'ютерні платформи без початкового коду, як правило, є досить складним. Хоча можливі варіанти портування і без початкового коду, наприклад, двійкова трансляція або емуляція оригінальної платформи.

Ліцензування

Програмні засоби і початковий код, що їх супроводжує, як правило, відносяться до однієї з двох парадигм ліцензій: відкрите програмне забезпечення та власницьке програмне забезпечення (або пропрієтарне). Загалом, програмне забезпечення є відкритим, якщо початковий код може вільно використовуватися, розповсюджуватися, модифікуватися і аналізуватися, і пропрієтарним, якщо початковий код тримається в секреті або перебуває у приватній власності та доступ до нього обмежено. Для забезпечення закритості використовуються здебільшого положення різних законів про авторське право, але часто використовуються також комерційна таємниця та патенти. Крім того, дистрибутив програмного забезпечення, як правило, приходить з ліцензійною угодою (EULA), яка, переважно, забороняє декомпіляцію, реінженіринг, аналіз, редагування або обхід захисту від копіювання. Види захисту початкового коду, окрім традиційного компілювання в об'єктний код, включають шифрування коду, заплутування коду (англ. code obfuscation) або морфінг коду.

Якість

Те, як написано програму, може мати дуже важливі наслідки для її супроводу. Багато підручників зі стилю програмування наполягають на важливості прочитності, і багато рекомендацій спрямовано на підтримку початкового коду програмними засобами, яке включає в себе зневадження і оновлення. Інші пріоритети, як наприклад, швидкість виконання програми та можливості компілювання програми для декількох архітектур, часто роблять прочитність коду менш важливим фактором, оскільки якість коду повністю залежить від його призначення.

Оскільки програмування вже десятки років існує у промислових масштабах, були розроблені відповідні стандарти оформлення коду. Деякі стандарти оформлені офіційно, а деякі є негласними правилами. Наприклад, так звана угорська нотація наводить правила йменування ідентифікаторів у програмі (часто це вирішується ухваленням внутрішніх правил з іменування всередині підприємства чи навіть окремого проекту), інші стандарти визначають правила розстановки елементів синтаксису.

Термін в українській мові

В українській термінології поки що немає загальноприйнятого позначення для «source code». Існує ряд варіантів перекладу[1], які застосовуються розробниками і локалізаторами програмного забезпечення[2]. Прихильники терміна сирцевий код наголошують на його перевазі над більшістю аналогів завдяки відсутності перекриття понять та легкості утворення похідних. Сирцевий позначає код, як сировину, з якої робиться продукт. Окрім того, легко утворюється розмовна похідна сирці, що близький за звучанням до англомовного варіанту sources. Також однозначними є терміни «джерельний код» та «текст програми». Варіант «текст програми», попри традиційне використання цього терміна в україномовних джерелах, менш зручний в утворенні похідних термінів. Інші синонімічні переклади «source code» можуть неоднозначно інтерпретуватись та вживатись. Так «вихідний код» має прикру двозначність: слово «вихідний» зазвичай передає значення геть протилежне до первісного англійського слова source[3]; «програмний код» вказує, що код стосується програми, але не акцентує на його формі (після компіляції утворюється машинний код, який є кодом програми, аналогічно байт-код мови програмування Java, що утворюється після трансляції написаного програмістом коду, також є кодом програми); «початковий код» може стосуватися ранніх версій коду.

Див. також

Примітки

Посилання


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.