Zdrojový kód

Ve vědě o počítačích , zdrojový kód je textový , že představuje pokyny, které tvoří program v čitelné podobě, jak je napsán v programovacím jazyku . Zdrojový kód se obvykle projeví jako sada textových souborů .

Zdrojový kód je často přeložen - assemblerem nebo kompilátorem - do binárního kódu složeného z instrukcí spustitelných procesorem . V opačném případě jej lze přímo interpretovat při spuštění programu. V tomto druhém případě je někdy předem přeložen do přechodného kódu, jehož interpretace je rychlejší.

Označení

Jedná se o překlad anglického zdrojového kódu . Výrazy vynechávající výraz kódu jsou běžné: zdroje , zdroj .

Dějiny

V počátcích práce na počítači byly programy zadávány do paměti počítače pomocí přepínačů na ovládacím pultu ve formě binárního kódování strojových instrukcí. Což se hodilo jen pro velmi malé programy. Poté byly načteny z děrovacích pásek a poté děrovacích karet.

Programy byly velmi rychle napsány v symbolickém jazyce, v assembleru nebo v pokročilém jazyce, jako je Fortran , Cobol , poté byly automaticky přeloženy programem ( assembler , kompilátor ).

S příchodem magnetických disků a interaktivních konzolí byly k psaní a úpravě zdrojového kódu použity řádkové editory a poté textové editory .

Omezené možnosti počítačů té doby často vyžadovaly tisk zdrojového kódu na nekonečný papír  (in) s pásmy Carol.

Dnes existují vývojová prostředí s názvem Integrované vývojové prostředí (IDE Integrated Development Environment ), která zejména zahrnují úlohy úprav a kompilace.

Zásada

Typy zdrojového kódu

Software je řada pokynů daných stroji. Procesor může provádět pouze instrukce představované v konkrétní binární formě. Kromě experimentálních mechanismů není možné, aby člověk přímo zadal binární kód v reprezentaci očekávané procesorem: člověk nemůže přímo psát bitová pole na očekávané adresy. Je povinen projít samostatným kódem zvaným zdrojový kód, který je následně přeložen do binární reprezentace očekávané strojem a poté načten a spuštěn cílem.

Psaní kódu v binární podobě, a to i v samostatném souboru, však pro člověka představuje mnoho problémů. Jedná se o reprezentaci skládající se pouze z nepřerušené sekvence 0 a 1 s, kterou je pro lidi obtížné číst, psát a udržovat. Rozmanitost mikroprocesorů a komponent přítomných v počítači nebo PLC znamená, že binární kód generovaný pro systém nemůže být a priori stejný jako na samostatném stroji. Existuje také tolik binárních kódů, kolik je konfigurací, a větší složitost kromě toho, že lidská bytost může jednoduše navrhnout velký binární kód.

Abychom se vyhnuli těmto úskalím a protože překlad je vždy nezbytný, člověk píše textový kód, aby byl čitelnější, srozumitelnější a snadněji se udržoval: je to zdrojový kód napsaný v programovacím jazyce . Je ve většině případů čitelnější, jednodušší na psaní a nezávislá na cílovém systému. Za překlad zdrojového kódu do binárního kódu spustitelného cílem je zodpovědný program třetí strany ( kompilátor , tlumočník nebo virtuální stroj ).

Lidsky generovaný kód se nazývá zdrojový kód  ; způsob psaní tohoto zdrojového kódu se nazývá programovací jazyk  ; překladač tohoto kódu v jeho binární reprezentaci se nazývá překladač , tlumočník nebo virtuální stroj v závislosti na podmínkách překladu.

Ve většině jazyků můžeme ve zdrojovém kódu rozlišit různé prvky:

Syntaxe zbarvení

Kód je snazší číst a zapisovat pomocí editoru, který poskytuje zvýraznění syntaxe k rozlišení různých prvků zdrojového kódu. Komentáře mohou být například zvýrazněny zeleně.

Příklad kódu v Ruby  :

a = "\nThis is a double quoted string\n" a = %Q{\nThis is a double quoted string\n} a = <<BLOCK This is a double quoted string This is a double quoted string BLOCK a = %/\tThis is a double quoted string\n/

Další příklad kódu v Ruby:

hash = { :water => 'wet', :fire => 'hot' } puts hash[:fire] # Τυπώνει: hot hash.each_pair do |key, value| # Ή: hash.each do |key, value| puts "#{key} is #{value}" end # Τυπώνει: water is wet # fire is hot hash.delete :water # Σβήνει το :water => 'wet' hash.delete_if {|key,value| value=='hot'} # Σβήνει το :fire => 'hot'

Další příklad kódu v Ruby:

File.open('file.txt', 'w') {|file| # открытие файла «file.txt» для записи («w» - write) file.puts 'Wrote some text.' } # Конструкция устраняет неопределённость с закрытием файла: закрывается здесь при любом исходе

Analogie s kuchařským receptem

Analogie zdrojového kódu a receptu na vaření se často používá v touze po popularizaci . Recept je organizovaný seznam složek s definovanými množstvími a funkcemi. Cílem je získat výsledek požadovaný kuchařem podle konkrétní techniky a sledu operací.

Zdrojový kód tedy může souviset s receptem na vaření.

Osoba, která ochutnává jídlo, je tedy schopna uhodnout ingredience, z nichž je složena, a představit si, jak ji vyrobit. Je však velmi pravděpodobné, že pro velmi efektní a jemný pokrm (jak by program mohl být) ignoruje kuchařův modus operandi. Abychom to zjistili, byl by nutný podrobný recept (pro program může mít recept několik milionů řádků kódu). Alternativním řešením by bylo koupit hotová jídla, což je něco jako to, co děláte při nákupu softwaru.

Právní aspekty

Zdrojový kód může být veřejný nebo soukromý (viz svobodný software a proprietární software ). Jelikož je však binární kód pouze překladem zdrojového kódu, je vždy možné studovat software z jeho binárního kódu. Zákonnost technik používaných pro tyto účely závisí na zemi a čase. Lze jej použít zejména k odhalení tajemství stroje, jako je ES3B .

Poznámky a odkazy

Podívejte se také

Související články