Kata pengantarKomputer adalah beberapa alat paling serbaguna yang kita miliki. Mereka mampu melakukan komputasi yang menakjubkan, mereka membiarkan informasi dapat ditukar dengan mudah terlepas dari lokasi fisik mereka, mereka menyederhanakan banyak tugas setiap hari, dan ini memungkinkan kita untuk mengotomatisasi banyak proses yang akan membosankan atau membosankan untuk dilakukan sebaliknya. Namun, komputer tidak "cerdas" seperti kita. Mereka harus diberi tahu dengan pasti apa yang seharusnya mereka lakukan, dan bahasa ibu mereka sama sekali tidak seperti ucapan kita. Dengan demikian, ada hambatan bahasa yang hebat antara orang yang menginginkan komputer melakukan sesuatu, dan komputer yang biasanya memerlukan instruksi dalam bahasa ibu, kode mesin, untuk melakukan apapun. Sejauh ini, komputer tidak dapat mengetahui apa yang seharusnya mereka lakukan sendiri, dan karenanya mereka bergantung pada program yang kita buat, yang merupakan seperangkat instruksi yang dapat dipahami dan diikuti oleh komputer.
![]() |
Deskripsi Pemrograman C++ |
Ikhtisar Program dan Bahasa PemrogramanAgar lebih bisa berkomunikasi dengan komputer kita, apa sebenarnya yang kita inginkan, kita telah mengembangkan berbagai bahasa pemrograman untuk mempermudah proses komunikasi.
Bergantung pada jenis proyek, ada banyak faktor yang harus diperhatikan saat memilih bahasa. Berikut adalah daftar beberapa yang lebih penting:
- Disusun, ditafsirkan, atau dikompilasi JIT
Bahasa yang ditafsirkan dibaca oleh sebuah program yang disebut juru bahasa dan dijalankan oleh program tersebut. Sementara mereka sama portabelnya dengan juru bahasa mereka dan tidak memiliki waktu kompilasi yang lama, bahasa yang ditafsirkan biasanya jauh lebih lambat daripada program yang dikompilasi setara.
Akhirnya, bahasa yang dikompilasi (atau JIT-compiled) dikompilasi tepat waktu adalah bahasa yang disusun dengan cepat saat program yang ditulis di dalamnya perlu dijalankan (biasanya dengan sedikit pengoptimalan), menawarkan keseimbangan antara kinerja dan portabilitas.
- Tingkat Tinggi atau Tingkat Rendah
Bahasa tingkat rendah umumnya sangat mirip dengan kode mesin, dan karenanya lebih sesuai untuk program seperti driver perangkat atau program kinerja yang sangat tinggi yang benar-benar memerlukan akses ke perangkat keras. Umumnya, istilah ini disediakan untuk kode mesin dan bahasa assembly, meskipun banyak bahasa menawarkan elemen tingkat rendah. Karena bahasa tingkat rendah tunduk pada semua nuansa perangkat keras yang diaksesnya, program yang ditulis dalam bahasa tingkat rendah umumnya sulit dipasarkan ke platform lain. Bahasa tingkat rendah praktis tidak pernah ditafsirkan, karena ini umumnya mengalahkan tujuan.
Bahasa tingkat tinggi lebih berfokus pada konsep yang mudah dipahami oleh pikiran manusia, seperti objek atau fungsi matematika. Bahasa tingkat tinggi biasanya lebih mudah dipahami daripada bahasa tingkat rendah, dan biasanya memerlukan sedikit waktu untuk mengembangkan program dalam bahasa tingkat tinggi daripada bahasa tingkat rendah. Sebagai trade-off seseorang umumnya perlu mengorbankan beberapa tingkat kontrol atas apa sebenarnya program yang dihasilkan. Namun, tidak mungkin untuk mencampur fungsionalitas tingkat tinggi dan tingkat rendah dalam bahasa.
- Jenis Sistem
Tipe Kekuatan: Kuat atau LemahSistem pengetikan yang kuat memberi batasan tentang bagaimana berbagai jenis variabel dapat dikonversi satu sama lain tanpa ada pernyataan konversi. Sistem pengetikan kuat yang ideal akan melarang "cetakan" implisit ke jenis yang tidak masuk akal, seperti bilangan bulat ke objek Buah. Sistem pengetikan yang lemah akan mencoba menemukan beberapa cara untuk membuat pemeran bekerja.
Ketik Ekspresi: Manifes atau TersiratIni berkaitan dengan bagaimana compiler / interpreter untuk bahasa memasukkan jenis variabel. Banyak bahasa memerlukan tipe variabel yang didefinisikan secara eksplisit, dan karenanya bergantung pada pengetikan yang nyata. Namun, beberapa akan menyimpulkan jenis variabel berdasarkan konteks penggunaannya, dan dengan demikian menggunakan penyaringan yang disimpulkan.
Jenis Cek: Statis atau Dinamis
Jika sebuah bahasa diketik secara statis, maka compiler / interpreter melakukan pengecekan tipe sekali sebelum program dijalankan / dikompilasi. Jika bahasa dicentang secara dinamis, maka jenisnya akan diperiksa pada saat run-time.
Ketik Keamanan: Aman atau Tidak Aman
Ini mengacu pada sejauh mana bahasa akan melarang operasi pada variabel yang diketik yang dapat menyebabkan perilaku atau kesalahan yang tidak terdefinisi. Bahasa yang aman akan lebih banyak untuk memastikan bahwa operasi atau konversi semacam itu tidak terjadi, sementara bahasa yang tidak aman akan memberi lebih banyak tanggung jawab kepada pengguna dalam hal ini.
Karakteristik pengetikan ini tidak harus saling eksklusif, dan beberapa bahasa mencampurnya.
- Paradigma yang didukung
DeklaratifBahasa deklaratif akan lebih fokus pada menentukan apa yang seharusnya dicapai oleh bahasa daripada dengan cara apa seharusnya mewujudkannya. Paradigma semacam itu bisa digunakan untuk menghindari efek samping yang tidak diinginkan akibat harus menulis kode sendiri.
Fungsional
Pemrograman fungsional adalah subset dari pemrograman deklaratif yang mencoba untuk mengekspresikan masalah dalam hal persamaan dan fungsi matematis. Ini keluar dari jalannya untuk menghindari konsep negara dan variabel yang bisa berubah yang umum terjadi dalam bahasa imperatif.
Umum
Pemrograman generik berfokus pada penulisan kerangka algoritma dalam hal jenis yang akan ditentukan saat algoritme benar-benar digunakan, sehingga memungkinkan keringanan pada pemrogram yang ingin menghindari aturan mengetik yang ketat. Ini bisa menjadi paradigma yang sangat kuat jika diimplementasikan dengan baik.
Sangat penting
Bahasa imperatif memungkinkan pemrogram untuk memberi komputer memerintahkan daftar instruksi tanpa harus secara eksplisit menyatakan tugasnya. Hal ini dapat dianggap sebagai kebalikan dari pemrograman deklaratif.
Tersusun
Bahasa pemrograman terstruktur bertujuan untuk menyediakan beberapa bentuk struktur yang patut diperhatikan ke bahasa, seperti kontrol intuitif terhadap urutan pernyataan dieksekusi (jika X melakukan Y jika tidak melakukan Z, lakukan X sementara Y adalah Z). Bahasa seperti itu umumnya mencela "lompatan", seperti yang diberikan oleh pernyataan goto di C dan C ++.
Prosedural
Meskipun kadang-kadang digunakan sebagai sinonim untuk pemrograman imperatif, bahasa pemrograman prosedural juga dapat mengacu pada bahasa pemrograman terstruktur imperatif yang mendukung konsep prosedur dan subrutin (juga dikenal sebagai fungsi dalam C atau C ++).
Berorientasi pada objek
Pemrograman Berorientasi Objek (kadang disingkat OOP) adalah subset dari pemrograman terstruktur yang mengekspresikan program dalam istilah "objek", yang dimaksudkan untuk memodelkan objek di dunia nyata. Paradigma semacam itu memungkinkan kode untuk digunakan kembali dengan cara yang luar biasa dan dimaksudkan agar mudah dimengerti.
- Standardisasi
Fitur C ++ sebagai BahasaSekarang semua teori yang diperlukan telah dibahas, sekarang adalah mungkin untuk menjelaskan apa yang ditawarkan C ++ sebagai bahasa pemrograman. C ++ ...
1. adalah bahasa standar-ISO terbuka.Untuk sementara waktu, C ++ tidak memiliki standar resmi dan dikelola dengan standar de facto, namun sejak tahun 1998, C ++ distandarisasi oleh komite ISO. Halaman mereka dapat diakses di sini.
2. adalah bahasa yang dikompilasi.C ++ mengkompilasi langsung ke kode asli mesin, memungkinkannya menjadi salah satu bahasa tercepat di dunia, jika dioptimalkan.
3. adalah bahasa yang sangat tidak tepat.C ++ adalah bahasa yang mengharapkan programmer untuk mengetahui apa yang sedang dia lakukan, namun memungkinkan jumlah kontrol yang luar biasa sebagai hasilnya.
4. mendukung pengetikan nyata dan inferensi.Sebagai standar C ++ terbaru, C ++ mendukung pengenkodean termanifestasi dan inferensi, yang memungkinkan fleksibilitas dan sarana untuk menghindari verbositas bila diinginkan.
5. mendukung pemeriksaan tipe statis dan dinamis.C + + memungkinkan konversi jenis untuk diperiksa baik pada waktu kompilasi atau pada saat run-time, lagi-lagi menawarkan fleksibilitas tingkat lain. Kebanyakan tipe C ++ memeriksa, bagaimanapun, statis.
6. menawarkan banyak pilihan paradigma.
C ++ menawarkan dukungan yang luar biasa untuk paradigma pemrograman prosedural, generik, dan berorientasi obyek, dengan banyak paradigma lain juga dimungkinkan.
7. portabel
Sebagai salah satu bahasa yang paling sering digunakan di dunia dan sebagai bahasa yang terbuka, C ++ memiliki berbagai kompiler yang berjalan di berbagai platform yang mendukungnya. Kode yang secara eksklusif menggunakan library standar C ++ akan berjalan di banyak platform dengan sedikit atau tanpa perubahan.
9. kompatibel dengan C
C ++, menjadi bahasa yang secara langsung membangun C, kompatibel dengan hampir semua kode C. C + + dapat menggunakan perpustakaan C dengan sedikit atau tidak ada modifikasi kode perpustakaan.
10. memiliki dukungan perpustakaan yang luar biasa.
Pencarian untuk "perpustakaan" di situs manajemen proyek populer SourceForge akan menghasilkan lebih dari 3000 hasil untuk perpustakaan C ++.
0 Komentar untuk "Deskripsi tentang Bahasa Pemrogramman C ++"