Сирцевий код

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Сирцевий код, написаний на HTML, з використанням JavaScript

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

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

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

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

Цілі[ред.ред. код]

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

Ліцензування[ред.ред. код]

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

Якість[ред.ред. код]

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

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

Термін в українській мові[ред.ред. код]

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

Див. також[ред.ред. код]

Примітки[ред.ред. код]

Посилання[ред.ред. код]