Terminologi - apakah kode sumber suatu program? [Tutup]


10

Saya seorang pemula dalam pemrograman dan saya tidak memiliki pemahaman yang baik tentang terminologi. Saya ingin tahu apakah kode sumber yang ditulis dalam bahasa yang dikompilasi seperti C atau C ++ dianggap sebagai program? Jika tidak, adakah yang bisa menjelaskan mengapa?


1
Ya, kode sumber dianggap sebagai program. Program dapat dibedakan berdasarkan jenis kode yang dikandungnya, seperti dalam "kode sumber," "kode objek," "kode mesin" dan "kode yang dapat dieksekusi."
Robert Harvey

6
Pertanyaan ini mengejutkan saya dengan cara yang hampir sama, "Apakah sapi itu sapi?" akan, untuk hampir semua alasan yang sama.
RM

1
Apakah tepung dan gula kue?
Bryan Oakley

Jawaban:


16

Lihat entri Wikipedia untuk Program : (Saya telah menambahkan huruf tebal )

Program komputer adalah kumpulan instruksi yang melakukan tugas tertentu ketika dijalankan oleh komputer. Komputer membutuhkan program untuk berfungsi, dan biasanya menjalankan instruksi program di unit pemrosesan pusat.

Program komputer biasanya ditulis oleh seorang programmer komputer dalam bahasa pemrograman. Dari program dalam bentuk kode sumber yang dapat dibaca manusia , kompiler dapat menurunkan kode mesin — bentuk yang terdiri dari instruksi yang dapat dieksekusi langsung oleh komputer

Jadi, "program" adalah serangkaian instruksi yang dijalankan oleh komputer, dan "kode sumber" adalah versi yang dapat dibaca manusia dari instruksi tersebut.


1
Terima kasih atas jawaban Anda. Jika saya mengerti dengan benar, kode sumber adalah sebuah program karena ia mendefinisikan serangkaian instruksi yang melakukan tugas ketika dieksekusi oleh komputer. Tetapi bahkan jika instruksi itu bukan instruksi yang dijalankan oleh CPU pada akhirnya CPU mengeksekusi instruksi yang merupakan terjemahan dari instruksi yang didefinisikan dalam bahasa tingkat tinggi?
Othman

7

Saya ingin tahu apakah kode sumber yang ditulis dalam bahasa yang dikompilasi seperti C atau CPP dianggap sebagai program?

Ya itu.

TAPI

Bahaya dengan alur pemikiran ini adalah: "komputer menjalankan program saya, saya menulis program saya di [misalnya] C, ergo bahwa kode sumber adalah instruksi ke komputer".

Dan inilah yang terlalu banyak dari kita pikirkan selama beberapa dekade di abad ke-20. Apa yang telah kita pelajari dalam dekade terakhir ini adalah bahwa programmer lain adalah audiens utama dari kode sumber . Jadi ya, sumber itu adalah program, dengan cara yang sama seperti Anda mendapatkan program di teater, yang memberi tahu orang lain apa yang terjadi. Keindahan kode sumber adalah tidak hanya karena programnya, tetapi juga seperangkat instruksi ke komputer ...


1

Apakah itu atau tidak, tergantung pada konteksnya. Pikirkan seperti ini. Saya lupa apa nama formal untuk konsep itu, tetapi ada teori bahasa yang mengatakan kata-kata memiliki makna yang menggambarkan bukan apa sesuatu itu, tetapi apa itu bukan . Sebuah apel merah bukan merah karena itu, yah, merah, tetapi karena itu bukan biru, bukan hijau, dll. Abaikan apakah itu benar atau tidak, tetapi anggaplah itu hanya sedetik dan pikirkan tentang pertanyaan dalam konteks itu.

Jadi ketika kita memikirkan konsep itu, kita dapat membandingkan kode sumber kita dengan cetak biru sebuah rumah. Jika Anda melihat cetak biru dari tumpukan cetak biru lainnya, dan tanyakan "apakah ini rumah", dan cetak biru lainnya adalah untuk bangunan komersial, jembatan, dll., Jawabannya adalah ya. Karena cetak biru tidak mewakili semua hal lain, dan aspek rumah adalah yang membedakannya dengan cetak biru lainnya.

Namun, jelas cetak biru sebuah rumah tidak sama dengan rumah yang sebenarnya terbuat dari kayu dan drywall yang Anda bisa berdiri. Ada konteks di mana perbedaan antara cetak biru dan rumah sebenarnya bermakna. Ada perbedaan antara rencana dan pengiriman.

Cara yang sama kode sumber dari suatu program dalam bahasa yang dikompilasi adalah seperti cetak biru, jika Anda membandingkannya dengan pustaka, modul kernel, dll, maka kode sumber dan program secara konseptual adalah satu dan sama. Tetapi jika Anda melihat bagaimana perangkat lunak dikompilasi, dirancang, dan digunakan, keduanya tidak sama. Sekali lagi, ada perbedaan antara rencana dan pengiriman.

tl; dr: Terkadang apa sesuatu itu, dan apa yang diwakilinya, dianggap hal yang sama, tetapi di lain waktu itu tidak.


0

Kode sumber adalah istilah umum untuk baris kode asli (ditulis oleh manusia). Jenis kode lain yang bukan sumber dapat dibuat dengan terjemahan atau oleh program lain.

Kekayaan intelektual bahkan lebih luas, dan dapat mencakup kode sumber dan kode atau data lainnya.

Suatu program dibedakan dari kode lain (sumber atau lainnya) dalam kelengkapannya. Suatu program adalah kode yang cukup lengkap sehingga dapat dijalankan (atau dimaksudkan untuk dijalankan). Tidak semua kode (sumber atau lainnya) mewakili kelengkapan yang cukup untuk dijalankan. Perpustakaan misalnya, dimaksudkan untuk digabungkan dengan dan digunakan oleh kode lain, sehingga tidak akan secara umum dianggap sebagai program karena tidak dapat (tidak seharusnya) dijalankan.

Kelengkapan ini kadang-kadang berarti memiliki main, yang digunakan oleh sistem operasi sebagai titik masuk untuk program

Secara umum, ketika sebuah program sedang berjalan, itu disebut proses.


1
Tolong jangan menyebutkan "kekayaan intelektual" karena itu adalah istilah yang sengaja dimaksudkan untuk membingungkan orang.
whatsisname

0

The kode sumber adalah pilihan bentuk perangkat lunak yang manusia pengembang perangkat lunak yang bekerja . Wawasannya adalah bahwa pengembangan perangkat lunak adalah proses sosial, Jadi kode sumber adalah gagasan sosial . Anda menulis kode sumber sebagian besar untuk manusia (sesama pengembang, atau bahkan Anda sendiri yang bekerja dalam beberapa bulan pada program yang sama), bukan untuk komputer. Untuk program yang dikodekan dalam C, seringkali (tetapi tidak selalu) .cfile C dan .hfile header, tetapi Makefile juga merupakan kode sumber. Tetapi kadang-kadang, teknik metaprogramming digunakan: beberapa program menghasilkan kode C, dan kemudian inputuntuk generator itu dianggap sebagai kode sumber (bahkan jika output dari generator itu adalah kode C). Dua contoh: Anda mungkin menggunakan beberapa generator parser (seperti bison GNU ) untuk masalah parsing , maka .yfile input dari generator tersebut adalah kode sumber. Atau Anda dapat menulis skrip awk atau gawk kecil untuk mengekstrak dari beberapa database sqlite beberapa data yang akan diubah menjadi misalnya enum deklarasi besar di beberapa header yang dihasilkan; maka basis data itu akan berisi kode sumber!

Sebuah program komputer berbeda terkait dengan komputer yang menjalankan itu. Biasanya diperoleh dengan mengkompilasi beberapa kode sumber (ditulis dalam beberapa bahasa pemrograman , dan ini adalah spesifikasi yang ditulis dalam bahasa Inggris dalam dokumen teknis -lihat draft N1570 untuk C11 -, bukan alat perangkat lunak!) Ke dalam biner yang dapat dieksekusi .

Baca juga tentang perangkat lunak gratis . Selami kode sumber proyek perangkat lunak gratis yang ada (lihat github atau sourceforge untuk menemukannya).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.