Tôi tò mò - lập trình chung (GP) được sử dụng nhiều trong công nghiệp?
Nó thực sự phụ thuộc rộng rãi vào bối cảnh của nhóm và dự án.
Ví dụ, trong các trò chơi video, thường thì mã là "đơn giản nhất" có thể (và thậm chí đôi khi quá đơn giản) nhưng trong các kiến trúc lớn. Đó là bởi vì các nhà phát triển trò chơi có rất nhiều vấn đề cần khắc phục và không muốn bận tâm đến lập trình meta (đó là một ngôn ngữ rất trừu tượng và khó nắm bắt trong C ++).
Đồng thời, việc sử dụng cơ bản các mẫu là phổ biến ngay cả trong các cửa hàng đó và bạn có thể thấy một số tối ưu hóa dựa trên mẫu trong một số chức năng rất cụ thể của một số công cụ.
Nhưng trong trò chơi dev, hầu hết mọi người sẽ tránh mọi chương trình siêu hình.
Bây giờ, ở một khía cạnh cực đoan khác, một số ứng dụng xử lý thực sự phức tạp hoặc nặng, không phổ biến, đòi hỏi một số loại siêu lập trình nặng vì yêu cầu về hiệu năng và tính linh hoạt (tại thời gian biên dịch) không phổ biến. Tôi đang làm việc trong một ngay bây giờ.
Nó không phổ biến nhưng nó tồn tại và một số miền thích hợp (trong một số bối cảnh nhúng khoa học hoặc số giòn) không yêu cầu mọi người biết nhiều về siêu lập trình hoặc muốn tìm hiểu.
Ở giữa, hầu hết mọi người sẽ chỉ sử dụng siêu lập trình như là "khách hàng", chứ không phải là "nhà thiết kế". Hầu hết các mã lập trình meta được gói trong các thư viện vì các thư viện là công cụ cho mã và điều gì tốt hơn một thư viện có thể thích ứng với các loại tùy chỉnh mà bạn đã làm việc cho đến bây giờ?
Boost (http://boost.org) là một tập hợp các thư viện, một số được tạo ra bằng ma thuật đen siêu lập trình nặng và được sử dụng trong rất nhiều cửa hàng C ++ dưới dạng "STL ++", một phần mở rộng của STL (và nó là). Không phải mọi cửa hàng đều sử dụng nó vì một số lý do, như khả năng tương thích trình biên dịch (một số thư viện tăng cường có thể khiến trình biên dịch của bạn xin lỗi mỗi khi anh ta làm tổn thương cảm giác của bạn ...) và thường xuyên hơn vì một số nhà phát triển không thể hiểu được làm thế nào một công cụ hoạt động bên trong (cố gắng hiểu Boost.Sprite ...)
Bất kể công ty nào bạn sẽ làm việc, một số sẽ sử dụng mô hình này, một số sẽ ít hoặc không hoàn toàn hoặc thậm chí cấm họ.
Không có sự đồng thuận vì không ai có cùng nhu cầu, bối cảnh hoặc nhóm.
Nhưng rõ ràng, nó được sử dụng. Có thể hỏi ai sử dụng boost trong danh sách gửi thư của họ để có nhiều ví dụ thực tế hơn?