Różnica między programem źródłowym a programem obiektowym

The kluczowa różnica między programem źródłowym a programem obiektowym jest to Program źródłowy to program czytelny dla człowieka napisany przez programistę, podczas gdy program obiektowy jest programem wykonywalnym maszynowo utworzonym przez kompilację programu źródłowego.

Programy źródłowe mogą być kompilowane lub interpretowane do wykonania. Dekompilatory pomagają konwertować programy obiektowe z powrotem do oryginalnych programów źródłowych. Należy zauważyć, że terminy program źródłowy i program obiektowy są używane jako terminy względne. Jeśli weźmiesz program do transformacji programu (jak kompilator), to co wejdzie, to program źródłowy, a wyjdzie to program obiektowy. Dlatego program obiektowy utworzony przez jedno narzędzie może stać się plikiem źródłowym dla innego narzędzia.

ZAWARTOŚĆ

1. Przegląd i kluczowa różnica
2. Co to jest program źródłowy
3. Co to jest program obiektowy
4. Porównanie obok siebie - program źródłowy a program obiektowy w formie tabelarycznej
5. Podsumowanie

Co to jest program źródłowy?

Programista pisze program źródłowy w języku wyższego poziomu. Dlatego jest łatwy do odczytania przez ludzi. Programy źródłowe zwykle zawierają znaczące nazwy zmiennych i pomocne komentarze, aby były bardziej czytelne. Maszyna nie może bezpośrednio uruchomić programu źródłowego. Kompilator pomaga przekształcić program źródłowy w kod wykonywalny wykonywany przez maszynę. Alternatywnie, należy użyć tłumacza. Wykonuje program źródłowy wiersz po wierszu bez wstępnej kompilacji.

Rysunek 01: Program źródłowy

Visual Basic jest przykładem języka skompilowanego, podczas gdy Java jest przykładem języka interpretowanego. Pliki źródłowe Visual Basic (pliki .vb) są kompilowane do kodu .exe, podczas gdy pliki źródłowe Java (pliki .java) są najpierw kompilowane (za pomocą komendy javac) do kodu bajtowego (kod obiektowy zawarty w plikach .class), a następnie interpretowane przy użyciu interpreter java (za pomocą komendy java). Gdy aplikacje są dystrybuowane, zwykle nie zawierają plików źródłowych. Jeśli jednak aplikacja jest typu open source, źródło jest również dystrybuowane, a użytkownik może również zobaczyć i zmodyfikować kod źródłowy.

Co to jest program obiektowy?

Program obiektowy jest zwykle plikiem wykonywalnym maszynowo, który jest wynikiem kompilacji pliku źródłowego przy użyciu kompilatora. Oprócz instrukcji maszynowych mogą one obejmować informacje debugowania, symbole, informacje o stosie, relokację i informacje dotyczące profilowania. Ponieważ zawierają instrukcje w kodzie maszynowym, nie są łatwe do odczytania przez ludzi. Czasami jednak programy obiektowe odnoszą się do obiektu pośredniego między plikami źródłowymi a plikami wykonywalnymi.

Narzędzia zwane linkerami pomagają łączyć zestaw obiektów w pliku wykonywalnym (np. Język C). Jak wspomniano powyżej, pliki .exe i pliki kodu bajtowego to pliki obiektowe tworzone przy użyciu odpowiednio Visual Basic i Java. Pliki .exe wykonują się bezpośrednio na platformie Windows, podczas gdy pliki kodu bajtowego wymagają interpretera do wykonania.

Większość aplikacji jest rozpowszechniana tylko z plikami obiektowymi lub wykonywalnymi. Możliwe jest przekonwertowanie plików obiektowych lub wykonywalnych z powrotem na oryginalne pliki źródłowe poprzez dekompilację. Na przykład narzędzia do dekompilacji mogą dekompilować pliki java.class (kod bajtowy) do oryginalnych plików .java.

Jaka jest różnica między programem źródłowym a programem obiektowym?

Program źródłowy to program czytelny dla człowieka napisany przez programistę. Jest napisany w językach wyższego poziomu, takich jak Java lub C. Dlatego program źródłowy jest czytelny dla człowieka. To nie jest zrozumiałe dla maszyny.

Z drugiej strony program Object jest programem wykonywalnym maszynowo, utworzonym po skompilowaniu programu źródłowego. Zawiera języki niższego poziomu, takie jak asembler lub kod maszynowy. Dlatego program obiektowy nie jest czytelny dla człowieka. Jest to zrozumiałe dla maszyny.

Podsumowanie - program źródłowy a program obiektowy

Różnica między programem źródłowym a programem obiektowym polega na tym, że program źródłowy jest programem czytelnym dla człowieka napisanym przez programistę, podczas gdy program obiektowy jest programem wykonywalnym maszynowo utworzonym przez kompilację programu źródłowego.

Odniesienie:

1. „Kod źródłowy”. Wikipedia, Fundacja Wikimedia, 17 maja 2018 r. Dostępne tutaj

2. „Kod obiektu”. Wikipedia, Fundacja Wikimedia, 14 maja 2018 r. Dostępne tutaj 

Zdjęcie dzięki uprzejmości:

1.'CodeCmmt002'By Dreftymac (CCBY 2.5) przez Commons Wikimedia