Nhằm giảm gánh nặng cho lập trình viên, cũng như tận dụng tối đa khả năng của thiết bị lõi kép và đa phân luồng trong quá trình viết phần mềm, Peter Buhr, nhà khoa học máy tính người Canada, đã phát triển một bộ tiện ích mở rộng cho ngôn ngữ C++.

"Trong vòng 5 năm nữa, bạn sẽ khó có thể tìm mua được một máy tính không tích hợp thiết bị lõi kép", giáo sư khoa học máy tính tại trường đại học Waterloo này cho biết. "Cần có những phần mềm cho phép các chuyên gia lập trình có cơ hội tận dụng hết khả năng của công nghệ mới. Chúng tôi đang hạn chế sự phức tạp hiện nay của C++".

Dự án của Buhr mang tên micro-C++, tăng thêm 4 lớp ngôn ngữ mới chưa có trong C++ gốc, được lập trình viên sử dụng để phân loại các luồng riêng biệt trong mã. "Chỉ cần tưởng tượng bạn muốn chương trình sẽ được chia nhỏ ra như thế nào, và sau đó viết mã để biến chúng thành đa phân luồng", Buhr giải thích. "Những luồng này sau đó có thể chạy độc lập và bạn không phải quan tâm đến những mã tầng thấp (low-level). Micro-C++ sẽ giúp quá trình phát triển gọn hơn và rành mạch hơn".

Do phần mở rộng không thuộc ngôn ngữ C++ chuẩn, Buhr triển khai micro-C++ như là một trình biên dịch. Nó đọc tất cả các chương trình được viết với phần mở rộng và dịch chúng sang ngôn ngữ C++ chuẩn. Sau đó, qua trình biên dịch, chúng liên kết mã nguồn với thư viện cập nhật micro-C++ của Buhr.

Nghiên cứu của Buhr được hỗ trợ tài chính bởi Gelato Federation, tổ chức do Intel và Hewlett Packard hậu thuẫn. Tổ chức này được thành lập nhằm để xây dựng chip Itanium của Intel trong ứng dụng điện toán chạy trên Linux với khả năng vận hành cao. Mặc dù Gelato chỉ tập trung vào Linux, micro-C++ hỗ trợ cho cả thiết bị xử lý và hệ điều hành chạy trên x86, Sparc và MIPS.

"Trong 6 năm qua, giới công nghệ đã nghiêng hẳn về Java, và không ai chú ý đến công trình của tôi. Nhưng hiện giờ mọi người lại đang bắt đầu quay lại với C++", Buhr nói. "Không chỉ hợp tác với Intel và HP, chúng tôi cũng đang đàm phán với Sun Microsystems về việc phát triển ứng dụng cho bộ mở rộng này".

Về lâu dài, lập trình viên chuyên về C++ sẽ không phải phụ thuộc vào phần mở rộng của Buhr như là một phần mềm riêng biệt. Liên minh C++ đang xem xét để đưa những tính năng này vào chuẩn ngôn ngữ lập trình.

Micro-C++ hiện được cung cấp miễn phí và Buhr khẳng định sẽ chính thức phát hành nó như một phần mềm mã mở.

Micro-C++ là nỗ lực giản lược C++ mới nhất nhưng không phải là cải tiến đầu tiên. Trước đó, Posix threads, còn gọi là pthreads, là một bộ Procedure Call (cuộc gọi thủ tục) cũng đã được phát triển để sử dụng trong ngôn ngữ C. Tuy nhiên, pthreads bị coi là cồng kềnh vì nó đòi hỏi lập trình viên phải thực hiện quá nhiều thao tác để đảm bảo những luồng dữ liệu khác biệt không chèn lên nhau. Ngoài ra còn có những dự án của Boost, thư viện luồng C++ trên trang web phần mềm nguồn mở Sourceforge, bộ công cụ của Adaptive Computing Environment... Tuy nhiên, chưa có chương trình nào được phổ biến rộng rãi và trở thành một phần chính thức của C++.