Perkenalan
- 1092
- 106
- Enrique Purdy
Karena di bagian pertama kami dari artikel ini, kami mengatakan kami mengharapkan Anda, pembaca, memiliki beberapa pengetahuan pemrograman, di bagian ini kami ingin membantu Anda mendapatkan C di mana C berdiri dibandingkan dengan bahasa pemrograman lain yang mungkin Anda ketahui. Pilihan bahasa -bahasa itu cukup sulit karena berbagai kriteria, tetapi pada akhirnya kami berhenti di C ++, Perl dan Python. Karena bahasa pemrograman dapat diklasifikasikan dalam banyak cara (tergantung pada paradigma, sintaksis atau gaya, misalnya), kami tidak mencoba menemukan bahasa yang berada dalam kategori yang sama dengan c. Sebaliknya, karena bahasa yang disebutkan di atas cukup populer di dunia Linux, kami memilihnya, menyebutkan apa tempat setiap bahasa dalam skema hebat, apa yang umumnya digunakan dan tentu saja, perbedaan antara mereka dan c. Artikel ini akan disusun sebagai berikut: Kami akan mulai dengan elemen -elemen penting dari setiap bahasa, seperti deklarasi variabel, pengetikan atau struktur dan membandingkannya dengan bagaimana hal itu dilakukan dengan c. Dengan demikian kami berharap dapat memberi Anda gambaran tentang bahasa sebelum kami mulai. Bagian -bagian yang dibuat oleh artikel ini akan persis seperti struktur yang diumumkan dari artikel ini, untuk membuat pemahaman lebih mudah.
Perbandingan
Jenis, Operator, Variabel
C++
C ++ awalnya dinamai "C with Class", yang mengatakan banyak tentang hubungannya dengan C. Secara luas dipandang sebagai superset C (dengan demikian C ++ operator kenaikan unary ++), memperkenalkan fitur pemrograman yang berorientasi objek. Jenis pada dasarnya digunakan sama, dengan bool diperkenalkan di C ++ untuk operasi boolean. Pada dasarnya, saat berbicara tentang perbedaan C dan C ++, sebagian besar berasal dari konsep OOP yang dimiliki C ++ dan C tidak. Misalnya C ++ memiliki kelebihan muatan operator, istilah khusus OOP, yang berarti bahwa operator mungkin memiliki implementasi yang berbeda tergantung pada data yang dioperasikannya. Misalnya, di C ++ Anda dapat melakukan ini:
A << 2
Sekarang, jika A adalah bilangan bulat, ini akan melakukan operasi bitwise di atasnya (shift kiri dengan 2), tetapi jika a adalah aliran output, baris di atas akan mencoba menulis '2' untuk itu. Perilaku semacam ini adalah salah satu alasan C ++ dikritik karena mengizinkan praktik pemrograman yang buruk. Variabel dan konstanta dinyatakan dengan cara yang sama seperti di C.
Perl
Dengan perl, lebih sederhana: hanya memiliki tiga tipe data. Ini adalah skalar, array dan hash atau array asosiatif. Scalar diawali dengan tanda dolar, array diawali dengan @ dan hash diawali dengan %s. Perbedaannya tentang tipe adalah bahwa Perl adalah bahasa pemrograman yang dinamis, sedangkan C diketik lemah, yang berarti bahwa dalam C Anda akan berurusan dengan deklarasi variabel yang tepat, seperti "variabel ini adalah integer" atau "variabel lain ini adalah penunjuk ke float ”. Perbedaan mengenai operator aritmatika hanyalah bahwa Perl memiliki '**' untuk eksponensiasi, sedangkan C membutuhkan fungsi untuk mencapainya.
Python
Deklarasi variabel Python berbasis konteks. Misalnya, kami ingin mendeklarasikan string, bilangan bulat dan float:
var1 = "String" var2 = 100 var3 = 100.98
Dengan C, ini akan seperti
char* var1 = "string"; int var2 = 100; float var3 = 100.98;
C tidak memiliki tipe string seperti yang dilakukan bahasa lain, jadi string harus dinyatakan sebagai array karakter atau pointer ke char, sedangkan Python menawarkan angka, kamus, string, daftar dan tupel sebagai tipe data.
Alur kontrol
Keempat bahasa yang dijelaskan di sini memiliki banyak kesamaan dalam hal kontrol aliran. Misalnya, saat memulai jika memblokir, tidak ada yang membutuhkan kata kunci akhir, seperti fi di bash atau algol68. Berbicara tentang jika blok, sintaksnya serupa, jadi jika Anda biasa memprogram di C ++, Perl atau Python Anda akan menemukan cara C sangat akrab. Hal yang sama dapat dikatakan tentang sisa operasi kontrol aliran: karena, lakukan, sementara, saklar/case atau break/lanjutan. Sekali lagi, jika Anda terbiasa dengan cara tiga bahasa melakukan kontrol aliran, Anda perlu beberapa menit untuk terbiasa dengan c. Beberapa perbedaan utama mungkin: Perl memiliki lebih banyak kata kunci untuk menangani ini daripada C, seperti Redo, terakhir atau Berikutnya. Python memiliki lulus Kata kunci untuk ... tidak melakukan apa pun pada dasarnya, tetapi itu berguna saat seseorang membutuhkan kelas kosong. Misalnya:
kelas Kosong: lulus
Fungsi
Deklarasi fungsi sederhana di C akan seperti ini:
int sum (int a, int b) kembali A + B;
Ini akan menjadi fungsi bernama jumlah yang mengembalikan bilangan bulat dari menghitung jumlah argumennya, A Dan B, juga bilangan bulat. Perhatikan blok yang membuat pembatasan yang jelas tentang di mana tubuh fungsi dimulai dan saat berakhir. Di Perl Fungsi istilah digunakan secara bergantian dengan subrutin. Anda dapat, seperti dalam C, pertama -tama menyatakan fungsi, lalu mendefinisikannya, atau menyatakannya dan mendefinisikannya dalam satu tembakan, seperti yang kami lakukan di atas. Anda harus menggunakan sub Kata kunci untuk memberi tahu penafsiran Perl apa yang ingin Anda lakukan. Dalam Python contoh jumlah kami akan terlihat seperti ini:
def jumlah (a, b): kembali A + B
Anda mungkin memperhatikan bahwa kami tidak mengatakan apa -apa tentang C++. Sejauh yang kami ketahui, tidak ada perbedaan antara C dan C ++ dalam hal ini.
Pointer dan Array
Pointer adalah variabel yang memegang lokasi memori dari variabel lain. Seperti dalam C, pointer dan array diikat bersama -sama cukup ketat dan menawarkan banyak fitur canggih kepada programmer C ++. Sekali lagi, tidak ada perbedaan penting antara keduanya. Perl memiliki referensi yang menawarkan fungsionalitas yang sama. Misalnya, potongan kode ini mendefinisikan variabel bernama VAR dan referensi untuk itu bernama RefVar:
$ var = 20; $ refvar = \ $ var;
Di C, kami akan melakukan sesuatu seperti
int var; var = 20; int *refvar; refvar = &var;
Perl, seperti Python, tidak mengizinkan programmer melakukan manipulasi memori langsung. Beberapa melihat ini sebagai hal yang baik, yang lain tidak. Python menawarkan cTypes, yang merupakan perpustakaan yang menawarkan fungsi pointer () untuk menggunakan pointer. Cerita pendeknya adalah: Python tidak menggunakan petunjuk. Cerita panjang adalah bahwa cara Python untuk merujuk variabel, yaitu value hanya, berbeda dengan programmer yang digunakan untuk c.
Jika Anda menggunakan array pada C ++ atau Perl, konsepnya sebagian besar sama. Perl memiliki sintaks yang berbeda, tetapi jika Anda sudah tahu apa itu array, Anda akan baik -baik saja di C. Python menawarkan Himpunan modul yang menawarkan fungsi ini, karena sudah memiliki daftar sebagai tipe dasar, kecuali array lebih ketat.
Struktur
Dalam C, struct adalah catatan yang berisi set objek yang ditetapkan dan berlabel, semuanya dibungkus menjadi satu. Misalnya:
struct Pelanggan int akun; nama karakter; keseimbangan float; ;
Mengutip Wikipedia, “Dalam C ++, a struktur adalah kelas yang ditentukan dengan struct
kata kunci. Anggota dan kelas dasarnya bersifat publik secara default. Kelas yang didefinisikan dengan kelas
Kata kunci memiliki anggota pribadi dan kelas dasar secara default. Ini adalah satu -satunya perbedaan antara struct dan kelas di C++.". Di Perl sampai versi 5, struct adalah masalah (atau ketiadaan), tetapi sekarang ada Perldsc (Cookbook Struktur Data Perl), tersedia di Perldoc.org. Dalam Python Anda selalu dapat (yah, hampir) menggunakan tupel atau kamus untuk ini.
Termasuk file
Seperti yang telah Anda lihat di bagian pertama, di C seseorang menggunakan arahan preprocessor untuk memasukkan definisi dari file lain. Fungsionalitas ini ditawarkan juga oleh C ++, dengan sintaks yang sama, kecuali file header bernama $ name.HPP dan Anda tidak memerlukan ekstensi file:
#termasuk
iostream adalah C ++ yang setara dengan stdio.H. Di Perl, kami memiliki menggunakan Kata kunci untuk ini, dan dapat digunakan seperti ini:
menggunakan Modul;
Di Python, yang setara dengan penggunaan adalah impor, Digunakan dengan cara yang persis sama seperti di Perl, kecuali itu tidak memerlukan titik koma di akhir.
Pertimbangan lainnya
Banyak dari Anda telah memperhatikan bahwa semua bahasa yang dipilih untuk perbandingan kami berorientasi objek, sedangkan C tidak. Ini bukan perbandingan yang tidak adil, karena jika kita akan memilih Fortran atau Prolog sebagai persyaratan perbandingan kita, kemungkinan besar, karena banyak pemrogram saat ini tidak menggunakan bahasa -bahasa ini, bahwa artikel kami tidak akan terlalu populer. Di sisi lain, kami menganggap ini sebagai cara untuk membuat kaki Anda basah, karena kebiasaan adalah bagian dari sifat manusia dan jika Anda pernah menggunakan satu atau lebih bahasa ini, itu akan lebih mudah bagi Anda ketika Anda mulai belajar c. Jadi bagian artikel ini dimaksudkan sebagai uluran tangan dan jika kami berhasil melakukan itu, tidak apa -apa.
C dan c++
Beberapa dari Anda mungkin bertanya -tanya: Jika C ++ sangat mirip dengan C, tetapi lebih kompleks dan menawarkan lebih banyak, mengapa repot -repot dengan C? Ini telah menjadi topik yang dibahas lebih dari yang seharusnya, dan kami akan mencoba memberikan jawaban sendiri. Pertama -tama, C lebih sederhana. K&R memiliki 266 halaman, sedangkan "Bahasa Pemrograman C ++" oleh pencipta, Bjarne Strousttrup, memiliki 1090. 'Kata Nuff. Kedua, kode yang ada. Terlepas dari arsitektur perangkat keras, sistem operasi atau tujuan, C tersebar luas dan kemudian beberapa. Dari kernel OS ke perpustakaan GUI, C ada di sana dan tidak memiliki niat untuk pergi ke mana pun. Itu bukan untuk mengatakan C ++ tidak digunakan oleh banyak pengembang. Kami hanya mengatakan bahwa cepat atau lambat Anda akan menemukan diri Anda harus bekerja dengan kode C atau menggunakan bahasa yang dipengaruhi olehnya, jadi pengetahuan C selalu tampan di CV. Ketiga, jika Anda ingin belajar C dan C ++, Anda lebih baik memulai dengan C, karena kesederhanaannya yang disebutkan di atas dan karena begitu Anda akan memiliki dasar -dasarnya, C ++ akan terlihat lebih mudah untuk dipelajari. Akhirnya, ini semua tentang alat yang tepat untuk pekerjaan itu. Jika Anda memerlukan kode cepat, kemampuan untuk menjadi tingkat rendah dan bahasa sederhana, pergi dengan c.
Kesimpulan
Setelah bagian kedua dari artikel ini, kami akan mulai mempelajari pemrograman C di Linux, karena kami berpikir bahwa terlalu banyak bagian pengantar tidak masuk akal. Kami akan senang membantu Anda di sana.
Inilah yang dapat Anda harapkan selanjutnya:
- SAYA. C Perkembangan di Linux - Pendahuluan
- Ii. Perbandingan antara C dan bahasa pemrograman lainnya
- AKU AKU AKU. Jenis, Operator, Variabel
- Iv. Alur kontrol
- V. Fungsi
- Vi. Pointer dan Array
- Vii. Struktur
- Viii. I/O Dasar
- Ix. Gaya pengkodean dan rekomendasi
- X. Membangun program
- Xi. Kemasan untuk Debian dan Fedora
- Xii. Mendapatkan paket di repositori resmi Debian
Tutorial Linux Terkait:
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Pembaca PDF Terbaik untuk Linux
- Pengantar Otomatisasi Linux, Alat dan Teknik
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Hal -hal yang harus diinstal pada Ubuntu 22.04
- Cara Menginstal Adobe Acrobat Reader di Ubuntu 22.04 Jammy…
- Pengantar Vagrant
- Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
- Ubuntu 20.04 Panduan
- Sistem Linux Hung? Cara melarikan diri ke baris perintah dan…
- « Cara menjalankan tes kecepatan dari baris perintah menggunakan speedtest-cli
- Cara meluncurkan wadah dengan Docker Compose »