Pemrograman C/Mengapa Belajar Bahasa Pemrograman C?
Bahasa C populer digunakan untuk menulis program sistem operasi. Beberapa sistem operasi ternama seperti Unix, Microsoft Windows, Mac OS X, dan GNU/Linux , semuanya ditulis dalam bahasa C. Tidak hanya itu, bahasa C menjadi inspirasi bahasa-bahasa pemrograman lainnya. Bahasa Perl, PHP , dan Phyton ditulis menggunakan bahasa C. Dengan mempelajari bahasa C, kita dapat memahami konsep dasar dari bahasa-bahasa pemrograman lainnya yang dibangun berdasarkan C.
Mengapa C, dan bukan bahasa assembly?
suntingSementara bahasa assembly dapat menyediakan kecepatan dan kontrol yang maksimum dari program, C menyediakan portabilitas. Prosesor yang berbeda diprogram menggunakan bahasa Majelis yang berbeda dan harus memilih dan belajar hanya satu dari mereka adalah terlalu sewenang-wenang. Bahkan, salah satu kekuatan utama C adalah bahwa ia menggabungkan universalitas dan portabilitas di berbagai arsitektur komputer sementara tetap mempertahankan sebagian besar kontrol dari perangkat keras yang disediakan oleh bahasa assembly. Misalnya, program C dapat dikompilasi dan dijalankan di kalkulator HP 50g (prosesor ARM), kalkulator TI-89 (68000 prosesor), Palm OS Cobalt smartphone (prosesor ARM), iMac asli (PowerPC), Arduino (Atmel AVR), dan iMac Intel (Intel Core 2 Duo). Masing-masing perangkat memiliki perakitan sendiri bahasa yang benar-benar kompatibel dengan bahasa perakitan lainnya. Majelis , sementara sangat kuat, hanya terlalu sulit untuk program aplikasi besar dan sulit untuk membaca atau menafsirkan dalam cara yang logis. C adalah bahasa yang dikompilasi, yang menciptakan file executable cepat dan efisien. Ini juga merupakan kecil "apa yang Anda lihat adalah semua yang Anda dapatkan" bahasa: pernyataan C sesuai dengan paling beberapa pernyataan perakitan, segala sesuatu yang lain disediakan oleh fungsi perpustakaan. Jadi, apakah itu mengherankan bahwa C adalah suatu bahasa populer? Seperti domino menggulingkan, generasi berikutnya dari program mengikuti tren nenek moyangnya. Sistem operasi yang dirancang dalam C selalu memiliki perpustakaan sistem yang dirancang di C. Mereka perpustakaan sistem yang pada gilirannya digunakan untuk membuat perpustakaan tingkat yang lebih tinggi (seperti OpenGL , atau GTK ), dan desainer dari mereka perpustakaan sering memutuskan untuk menggunakan bahasa sistem perpustakaan yang digunakan . Pengembang aplikasi menggunakan tingkat yang lebih tinggi perpustakaan untuk desain pengolah kata, game, media player dan sejenisnya. Banyak dari mereka akan memilih program dalam bahasa yang lebih tinggi tingkat menggunakan perpustakaan. Dan pola terus dan terus dan terus ...
Mengapa C, dan bukan bahasa pemrograman tingkat tinggi lainya?
suntingDesain utama dari C adalah untuk menghasilkan kode portabel tetap menjaga kinerja dan meminimalkan jejak, seperti halnya untuk sistem operasi atau program lain di mana "tingkat tinggi" antarmuka akan mempengaruhi kinerja. Ini adalah bahasa yang stabil dan matang yang fitur tidak mungkin menghilang untuk waktu yang lama dan telah porting ke sebagian besar, jika tidak semua, platform. Misalnya, program C dapat dikompilasi dan dijalankan di kalkulator HP 50g (prosesor ARM), kalkulator TI-89 (68000 prosesor), Palm OS Cobalt smartphone (prosesor ARM), iMac asli (PowerPC), Arduino (Atmel AVR), dan iMac Intel (Intel Core 2 Duo). Sementara hampir semua bahasa pemrograman populer akan berjalan pada setidaknya salah satu perangkat, C dapat menjadi bahasa pemrograman yang berjalan pada lebih dari 3 perangkat tersebut. Salah satu alasan kuat adalah alokasi memori. Tidak seperti bahasa komputer yang paling, C memungkinkan programmer untuk menulis langsung ke memori. Konstruksi kunci dalam C seperti struct, pointer dan array dirancang untuk struktur, dan memanipulasi memori dengan cara, efisien mesin-independen. Secara khusus, C memberikan kontrol atas tata letak memori struktur data. Selain itu alokasi memori dinamis adalah di bawah kendali programmer, yang pasti berarti bahwa dealokasi memori beban programmer. Bahasa seperti Java dan Perl perisai programmer dari keharusan untuk khawatir tentang alokasi memori dan pointer. Ini biasanya hal yang baik, karena berurusan dengan alokasi memori ketika membangun sebuah program tingkat tinggi adalah kesalahan yang sangat rawan proses. Namun, ketika berhadapan dengan kode tingkat rendah seperti bagian dari OS yang mengontrol perangkat, C menyediakan antarmuka, seragam bersih. Kemampuan ini hanya tidak ada dalam bahasa lain seperti Jawa. Sedangkan Perl, PHP, Python dan Ruby mungkin kuat dan mendukung banyak fitur yang tidak disediakan secara default di C, mereka biasanya tidak diimplementasikan dalam bahasa mereka sendiri. Sebaliknya, kebanyakan bahasa seperti pada awalnya bergantung pada yang ditulis dalam C (atau bahasa pemrograman lain kinerja tinggi), dan akan membutuhkan implementasi mereka menjadi porting ke platform baru sebelum mereka dapat digunakan. Seperti dengan semua bahasa pemrograman, apakah Anda ingin memilih C lebih dari yang lain bahasa tingkat tinggi adalah masalah pendapat dan persyaratan baik teknis dan bisnis.