Programming -- Principles and Practice Using C++ (3rd Edition)
- "Programming -- Principles and Practice Using C++ (3rd Edition)" yang diterbitkan oleh Addison-Wesley dijadwalkan terbit pada April 2024
- ISBN: 978-0-13-830868-1
- Bisa dibeli langsung dari situs web penerbit
Tentang buku ini
- Buku ini akan membantu siapa pun yang mau berusaha keras mempelajari prinsip dasar pemrograman dan mengembangkan keterampilan praktis yang dibutuhkan untuk pemrograman nyata
- Edisi sebelumnya telah berhasil digunakan oleh ribuan mahasiswa
- Edisi revisi ini memiliki karakteristik berikut:
- Mengasumsikan bahwa tujuan pembaca adalah menulis program yang cukup baik untuk digunakan dan dipelihara oleh orang lain
- Berfokus pada konsep dan teknik dasar, bukan detail teknis bahasa yang samar
- Bukan pengantar bahasa pemrograman, melainkan pengantar pemrograman secara umum, termasuk pemrograman prosedural, berorientasi objek, dan generik
- Mencakup baik teknik tingkat rendah yang diperlukan untuk menggunakan perangkat keras secara efisien maupun teknik modern tingkat tinggi
- Memberikan dasar yang kuat untuk menggunakan tipe yang berguna, akurat, dan aman, serta menulis kode yang dapat dipelihara dan efisien
- Terutama dirancang bagi orang yang belum memiliki pengalaman pemrograman, tetapi programmer berpengalaman juga menganggap edisi sebelumnya berguna sebagai pengantar konsep dan teknik yang lebih efektif
- Mencakup secara luas konsep penting, desain dan teknik pemrograman, fitur bahasa, serta library
- Menggunakan C++ terbaru (C++20 dan C++23)
- Mencakup desain dan penggunaan tipe bawaan serta tipe buatan pengguna, bersama input, output, komputasi, dan grafik/GUI sederhana
- Memberikan pengantar tentang container dan algoritma di C++ standard library
Tentang penulis
- Bjarne Stroustrup adalah perancang dan implementator asli C++, serta penulis "The C++ Programming Language", "A Tour of C++", dan banyak publikasi populer maupun akademis
- Ia adalah profesor ilmu komputer di Columbia University, New York City
- Dr. Stroustrup adalah anggota U.S. National Academy of Engineering serta fellow IEEE, ACM, dan CHM
- Ia menerima Charles Stark Draper Prize 2018, Computer Pioneer Award 2018 dari IEEE Computer Society, dan IET Faraday Medal 2017
Tentang PPP3
- "Programming: Principles and Practice using C++ (3rd Edition)" (PPP3) adalah buku pengantar pemrograman untuk orang yang belum memiliki pengalaman pemrograman
- Buku ini juga akan berguna bagi mereka yang punya sedikit pengalaman pemrograman dan ingin meningkatkan gaya serta teknik, atau sekadar mempelajari C++ terbaru
- Dirancang untuk digunakan di kelas, tetapi ditulis dari sudut pandang buku belajar mandiri
- Versi sebelumnya dari buku ini telah digunakan di Texas A&M University dan banyak tempat lain sebagai dasar kelas pemrograman pertama untuk mahasiswa teknik elektro, teknik komputer, dan ilmu komputer
- Mereka yang pernah melihat PPP2 akan menyadari bahwa ukuran PPP3 kira-kira setengahnya. Hal-hal yang dilakukan untuk menguranginya adalah sebagai berikut:
- Memperkuat bab-bab dasar yang biasanya dibahas dalam satu semester dengan memanfaatkan bagian inti C++20 dan C++23, serta menulis ulang kode bab grafik/GUI berbasis Qt demi portabilitas (misalnya browser dan ponsel)
- Bab yang lebih khusus (dikenal sebagai "widening the view" di PPP2) dipindahkan ke web agar bisa digunakan sesuai kebutuhan
- Menghapus materi referensi murni. Kini lebih banyak materi yang lebih mutakhir tersedia di web (misalnya cppreference.com)
- Materi pendukung PPP2 masih tetap tersedia (slide kuliah, kode, dan lain-lain)
Sampel PPP3
- Kata pengantar: apa yang dijanjikan dan tidak dijanjikan buku ini
- Daftar isi
- Bab 0: Sepatah kata untuk pembaca. Beberapa catatan tentang pendekatan yang diambil dalam buku ini
- Bab 10: Model tampilan. Bab contoh. Jika Anda benar-benar pemula, jangan baca bab ini sekarang. Bab ini dipublikasikan untuk menunjukkan kepada pengajar dan pembaca berpengalaman sejauh mana isi buku ini mencapai sekitar 5 minggu pembelajaran (dengan asumsi dua bab per minggu). Sekaligus untuk sedikit memamerkan C++ modern
Informasi dukungan
- Tautan ke implementasi C++ dan lingkungan pengembangan perangkat lunak (serta sedikit saran untuk memulai)
- Cara menggunakan modul (termasuk penjelasan cara membangun modul PPP menggunakan PPP_support.h)
- Modul PPP untuk saat modul sudah bisa digunakan
- Header "PPP.h" untuk menggunakan modul std dan PPP dengan cara termudah
- Header "PPPheaders.h" untuk saat harus kembali menggunakan file header
- Dukungan GUI termasuk library antarmuka pengguna grafik/GUI PPP3 (di Bab 10-14). Untuk menjalankan kode ini, Anda harus memasang Qt. Lihat manual pengguna
- Kode contoh dari beberapa bab (TBD)
- Errata
- Slide kuliah yang diperbarui untuk PPP3 berbasis PPP
- Panduan gaya penulisan kode PPP
- Materi soal latihan (TBD)
Bab-bab PPP2
- Bab-bab ini ditulis menggunakan C++14, bukan C++23, tetapi tetap benar dan memperkenalkan topiknya dengan cara yang masuk akal
- Bab 1: Komputer, manusia, dan pemrograman
- Bab 11: Kustomisasi input/output
- Bab 22: Idealisme dan sejarah
- Bab 23: Pemrosesan teks
- Bab 24: Komputasi numerik
- Bab 25: Pemrograman sistem embedded
- Bab 26: Pengujian
- Bab 27: Bahasa pemrograman C
- Glosarium
Terjemahan
- Belum ada. Untuk terjemahan edisi sebelumnya, lihat halaman sampul buku penulis
Pendapat GN⁺
- PPP adalah buku terkenal untuk pemula pemrograman, dan kini edisi ke-3 hadir dengan pemanfaatan C++20/23 serta perombakan/penyederhanaan besar pada isinya. Ini kabar yang menggembirakan.
- Khususnya, perombakan total bagian GUI berbasis Qt dapat dilihat sebagai contoh bahwa Qt telah menjadi framework GUI de facto di ekosistem C++.
- Tampaknya teknologi C++ modern seperti modularisasi diadopsi secara aktif dan keterkaitan dengan web juga diperkuat. Terutama, adanya versi yang bisa langsung dijalankan di browser web terasa sangat cocok untuk pendidikan.
- Namun, karena menggunakan C++ terbaru, ada kemungkinan pemula justru merasa bingung. Untuk pemula, memulai dengan C++ bergaya C mungkin masih bisa jadi pilihan yang lebih baik.
- Penulisnya, Bjarne, adalah pencipta C++ dan telah memimpin standardisasinya, jadi ini tampaknya akan menjadi buku yang paling otoritatif. Bukan hanya pemula, para profesional pun bisa mempelajari best practice dan tips pemakaian yang dipilih oleh Bjarne.
1 komentar
Opini Hacker News
Muncul kekhawatiran bahwa karena fitur modul C++20 masih belum didukung penuh oleh sebagian besar compiler,
"import std;"tidak berfungsi. Hal ini bisa membingungkan pemula.Penggunaan Qt alih-alih FLTK pada bab GUI merupakan perubahan besar, dan diperkirakan akan mendapat respons positif karena Qt banyak digunakan di industri. Namun, belum jelas bagaimana pengaruhnya terhadap kurva pembelajaran.
Dalam kode Stroustrup,
"using namespace std;"digunakan sehingga prefiksstd::bisa dihilangkan, yang meningkatkan keterbacaan kode.Muncul pertanyaan tentang ketidakkonsistenan penggunaan spasi setelah
#includedalam kode Stroustrup.Di masa lalu, hampir semua hal seperti UI dan parsing API ditangani menggunakan C++, tetapi sekarang posisi C++ dalam stack pengembangan telah turun ke lapisan yang lebih bawah.
Ada pengalaman mempelajari edisi sebelumnya dari buku ini secara mendalam, dan itu sangat membantu meningkatkan pemahaman tentang C++. Namun, banyak juga orang yang menulis kode C++ tanpa membaca buku semacam ini.
Diperkenalkan sebuah buku berjudul
"C++ Annotations"yang memuat informasi terbaru tentang C++.Jumlah halaman dan bobot edisi ke-3 berkurang hingga sekitar setengah dibandingkan edisi ke-2.
Panjang buku berkurang karena bagian
Part IV: Broadening the Viewdari edisi ke-2 dihapus, dan isi tersebut bisa dilihat secara online. Topik-topik yang memanfaatkan C++11/14 masih tetap relevan.Sedang mencari saran terkait masalah sulitnya menemukan IDE atau compiler yang mendukung C++20 sehingga
"import std;"bisa berfungsi.