Jadi, saya telah membaca dan tampaknya perpustakaan Boost banyak digunakan dalam praktiknya (meskipun tidak di toko saya). Kenapa ini? dan apa yang membuatnya begitu indah?
Jadi, saya telah membaca dan tampaknya perpustakaan Boost banyak digunakan dalam praktiknya (meskipun tidak di toko saya). Kenapa ini? dan apa yang membuatnya begitu indah?
Jawaban:
Boost digunakan secara luas karena:
Dari halaman beranda:
"... salah satu proyek perpustakaan C ++ yang sangat dihormati dan dirancang dengan ahli di dunia." - Herb Sutter dan Andrei Alexandrescu, Standar Pengkodean C ++
"Item 55: Biasakan diri Anda dengan Boost." - Scott Meyers, C ++ Efektif, Edisi ke-3.
"Solusi yang jelas bagi sebagian besar pemrogram adalah menggunakan pustaka yang menyediakan platform elegan dan efisien yang independen terhadap layanan yang dibutuhkan. Contohnya adalah PENINGKATAN ..." - Bjarne Stroustrup, Abstraksi, pustaka, dan efisiensi dalam C ++
Jadi, ini adalah rangkaian pustaka yang banyak digunakan dan diterima, tetapi mengapa Anda membutuhkannya?
Jika Anda membutuhkan:
dan lebih banyak lagi saat Anda membuat kode dalam C ++, lihat Boost .
Karena mereka menambahkan banyak hal yang hilang ke pustaka standar, sehingga beberapa di antaranya termasuk dalam standar.
Mendorong orang tidak berbohong:
Mengapa organisasi harus menggunakan Boost?
Singkatnya, Produktivitas. Penggunaan pustaka berkualitas tinggi seperti Boost mempercepat pengembangan awal, menghasilkan lebih sedikit bug, mengurangi reinvention-of-the-wheel, dan memangkas biaya pemeliharaan jangka panjang. Dan karena pustaka Boost cenderung menjadi standar de facto atau de jure, banyak programmer yang sudah terbiasa dengannya.
Sepuluh pustaka Boost disertakan dalam TR1 Pustaka Standar C ++, dan juga dijadwalkan untuk standardisasi penuh nanti. Lebih banyak library Boost sedang disiapkan untuk TR2. Menggunakan pustaka Boost memberi organisasi permulaan dalam mengadopsi teknologi baru.
Banyak organisasi sudah menggunakan program yang diimplementasikan dengan Boost, seperti Adobe Acrobat Reader 7.0.
Beberapa kelas Boost sangat berguna (shared_ptr), tetapi menurut saya kelas tersebut agak gila dengan ciri dan konsep di Boost. Waktu kompilasi dan ukuran biner yang besar benar-benar gila dengan Boost, seperti halnya dengan kode template-heavy. Harus ada keseimbangan. Saya tidak yakin apakah Boost telah menemukannya.
Ia menambahkan pustaka yang memungkinkan pendekatan yang lebih modern untuk pemrograman C ++.
Dalam pengalaman saya, banyak programmer C ++ sebenarnya adalah programmer C ++ awal tahun 1990-an, cukup banyak menulis kelas C ++, tidak banyak yang menggunakan obat generik. Pendekatan yang lebih modern menggunakan generik untuk menyusun perangkat lunak bersama-sama dengan cara yang lebih mirip bahasa dinamis, namun pada akhirnya Anda masih mendapatkan pemeriksaan / kinerja jenis. Agak jelek untuk dilihat. Tapi begitu Anda mengatasi masalah sintaks itu benar-benar bagus. Boost memberi Anda banyak alat yang Anda butuhkan untuk menulis sesuatu dengan mudah. pointer pintar, fungsi, lambda, bindings, dll. Kemudian ada pustaka pendorong yang memanfaatkan cara baru penulisan C ++ ini untuk menyediakan hal-hal seperti jaringan, regex, dll ...
jika Anda menulis banyak for loop, atau objek fungsi hand rolling, atau melakukan manajemen memori, maka Anda harus memeriksa boost out.
BOOST adalah koleksi perpustakaan yang memenuhi kebutuhan umum untuk banyak proyek C ++. Umumnya, mereka memprioritaskan ketepatan, usabilitas, portabilitas, kinerja run-time, dan efisiensi ruang di atas keterbacaan kode implementasi BOOST, atau terkadang waktu kompilasi. Mereka cenderung tidak mencakup persyaratan fungsional tingkat tinggi yang lengkap (misalnya kerangka aplikasi), dan sebaliknya (untungnya) menawarkan blok penyusun yang dapat lebih bebas digabungkan tanpa mendikte atau mendominasi desain aplikasi.
Alasan penting untuk mempertimbangkan penggunaan BOOST meliputi:
Perpustakaan dijelaskan dalam satu atau dua baris di sini: http://www.boost.org/doc/libs/ .
Karena pustaka standar C ++ belum sepenuhnya lengkap .
Apa pun yang melibatkan Kevlin Henney harus diperhatikan.
Tingkatkan pada dasarnya sinopsis dari Standar nantinya, selain itu dengan semua tinjauan sejawat dan penggunaan yang didapat Boost, Anda dapat yakin bahwa Anda mendapatkan kesepakatan yang cukup bagus untuk dependensi Anda.
Namun kebanyakan toko tidak menggunakan Boost, karena ini merupakan Ketergantungan Eksternal. Dan dalam kenyataannya, mengurangi ketergantungan eksternal juga sangat penting.
Saya menggunakan perpustakaan filesystem keluar sedikit, dan boost :: shared_ptr cukup bagus. Saya mendengarnya melakukan hal-hal lain juga.