Я початківець у програмуванні і не розумію термінологічно. Мені хотілося б знати, чи вважається вихідним кодом, написаним на мові компіляції, як C або C ++, програмою? Якщо ні, чи може хтось пояснити, чому?
Я початківець у програмуванні і не розумію термінологічно. Мені хотілося б знати, чи вважається вихідним кодом, написаним на мові компіляції, як C або C ++, програмою? Якщо ні, чи може хтось пояснити, чому?
Відповіді:
Дивіться запис програми для Вікіпедії для програми : (я додав жирний шрифт )
Комп'ютерна програма - це сукупність інструкцій, що виконує конкретне завдання при виконанні комп'ютером. Комп'ютер вимагає функціонування програм і зазвичай виконує вказівки програми в центральному процесорному блоці.
Комп'ютерна програма зазвичай пише комп'ютерний програміст мовою програмування. З програми, що читається людиною, у вихідному коді , компілятор може отримати машинний код - форму, що складається з інструкцій, які комп'ютер може безпосередньо виконати
Отже, "програма" - це набір вказівок, які виконує комп'ютер, а "вихідний код" - це читана людиною версія цих інструкцій.
Мені хотілося б знати, чи вважається вихідним кодом, написаним мовою компіляції, на зразок C чи CPP, програмою?
Так.
АЛЕ
Небезпека, пов’язана з цим напрямком мислення, полягає в тому, що "комп'ютер виконує мою програму, я записую свою програму в [наприклад] C, ерго, що вихідний код - це вказівки для комп'ютера".
І це те, що занадто багато з нас думали за занадто багато десятиліть у 20 столітті. Що ми дізналися за останнє десятиліття, так це те, що інші програмісти є основною аудиторією вихідного коду . Так, так, це джерело - програма, подібно до того, як ви отримаєте програму в театрі, яка розповідає іншим людям, що відбувається. Краса вихідного коду полягає в тому, що це не лише програма, але й набір інструкцій до комп'ютера ...
Буде це чи ні, залежить від контексту. Подумайте про це таким чином. Я забуваю, що формальна назва цього поняття, але є теорія мови, яка каже, що слова мають значення, які описують не те, що щось є, а те, що це не так . Червоне яблуко не червоне, тому що воно, ну, червоне, а тому, що воно не синє, не зелене тощо.
Отже, коли ми думаємо про цю концепцію, ми можемо порівняти наш вихідний код із планом будинку. Якщо ви дивитесь на креслення з групи інших креслень і запитуєте "це будинок", а інші креслення - для комерційних будівель, мостів тощо, відповідь буде "так". Тому що креслення являє собою не всі інші речі, а домашній аспект - це те, що відрізняє його від інших креслення.
Однак, очевидно, план будинку не є таким, як власне будинок з дерева та гіпсокартону, в який ви можете стояти. Існують контексти, коли різниця між планом і фактичним будинком має значення. Існує різниця між планом і результатом.
Так само, як вихідний код програми компільованою мовою схожий на креслення, якщо ви порівнюєте його з бібліотеками, модулями ядра тощо, то вихідний код і програма концептуально є одними і тими ж. Але якщо ви дивитесь на те, як програмне забезпечення збирається, розробляється та розгортається, ці два не є однаковими. Знову ж таки, є різниця між планом та результатом.
tl; dr: Іноді те, що щось є, і що це являє, вважається тим самим, але в інших випадках - це не так.
Вихідний код - це загальний термін для оригінальних рядків коду (автор автор). Інші види коду, які не є джерелом, можуть бути створені перекладом або іншою програмою.
Інтелектуальна власність ще ширша, і вона може включати як вихідний код, так і інший код або дані.
Програма відрізняється від іншого коду (вихідного чи іншого) своєю повнотою. Програма - це код, який є достатньо повним, щоб його можна було запустити (або призначено для запуску). Не весь код (вихідний чи інший) представляє достатню повноту для запуску. Наприклад, бібліотеки мають на увазі поєднуватись із іншими кодами та використовувати їх, тому їх не можна вважати програмою, оскільки їх не можна (не передбачається) запускати.
Ця повнота іноді означає наявність "A" main
, яка використовується операційною системою як точка входу до програми
Взагалі кажучи, коли програма працює, це називається процесом.
Вихідний код є кращою формою програмного забезпечення , на якому людина є розробники програмного забезпечення робочими . Розуміння полягає в тому, що розробка програмного забезпечення - це соціальний процес, тому вихідний код - це соціальне поняття. Ви пишете вихідний код здебільшого для людей (ваших колег-розробників, або навіть ви працюєте протягом декількох місяців над тією ж програмою), а не для комп’ютерів. Для програми, кодованої на C, це часто (але не завжди) .c
файли C та .h
файли заголовків, але Makefile також є вихідним кодом. Але іноді використовуються методи метапрограмування : якась програма генерує код C, а потім введеннядо цього генератора вважається вихідний код (навіть якщо вихід цього генератора є кодом С). Два приклади: ви можете використовувати якийсь генератор аналізатора (наприклад, зубр GNU ) для розбору проблем, тоді вхідний .y
файл цього генератора є вихідним кодом. Або ви можете написати крихітний скрипт awk або gawk, щоб дістати з якоїсь бази даних sqlite деякі дані, які будуть перетворені, наприклад, велике enum
оголошення в створеному заголовку; тоді ця база даних містила б вихідний код!
Комп'ютерна програма , на відміну пов'язано з комп'ютером запуску. Зазвичай його отримують шляхом компіляції деякого вихідного коду (написаного якоюсь мовою програмування , і це специфікації, написані англійською мовою в технічних документах (див. Чернетку n1570 для C11 -, а не програмні засоби!)) У двійковий виконуваний файл .
Читайте також про вільне програмне забезпечення . Зануріться у вихідний код існуючих проектів вільного програмного забезпечення (див. Github або sourceforge, щоб знайти їх).