Ngôn ngữ lập trình C++ đang trở lại thời hoàng kim

Ngôn ngữ lập trình C ++ đang quay trở lại thời hoàng kim của nó. C++ đứng thứ tư trên Tiobe Index trong hạng mục ngôn ngữ phổ biến nhất trong tháng 7/2021 sau khi được 8% người dùng đánh giá cao nhất, đây đã là một con số ấn tượng. Cho dù chưa thể so sánh ngôn ngữ lập trình mới mẻ này ngang bằng với C, Java hoặc Python ở mức 11-12%. Nhưng cũng có nghĩa là C ++ đã lọt vào tốp đầu và tiếp tục ngày càng phổ biến trở lại kề từ đầu năm 2020.

C ++ đã từng được trọng dụng trong các ngân hàng đầu tư và các công ty dịch vụ tài chính. Nhờ khả năng truy cập bộ nhớ cấp thấp giúp cho việc truy cập trở nên nhanh chóng. C++ thường là ngôn ngữ được lựa chọn cho các hệ thống giao dịch cần tốc độ cao. Đây là lý do tại sao JPMorgan, chẳng hạn, hiện đang tuyển kỹ sư C ++ cho nền tảng ứng dụng có độ trễ thấp JISU của mình. Hay quỹ đầu cơ Citadel lại muốn một kỹ sư C ++ cho các hệ thống tạo thị trường của riêng họ. Goldman lại tìm kiếm người có chuyên môn C ++ cho đội ngũ giao dịch có hệ thống của họ.

Khái niệm ngôn ngữ lập trình C++

Ngôn ngữ lập trình C++ là một ngôn ngữ lập trình hướng đối tượng (OOP – Object-oriented programming) được phát triển bởi Bjarne Stroustrup. C++ là ngôn ngữ lập trình được phát triển trên nên tảng của ngôn ngữ lập trình C. Do đó, C++ có song song cả 2 phong cách(style) lập trình hướng cấu trúc giống C và có thêm phong cách hướng đối tượng.

Khái niệm ngôn ngữ lập trình C++
Khái niệm ngôn ngữ lập trình C++

Trong nhiều trường hợp, C++ sử dụng kết hợp cả 2 style trên. Do đó, nó được xem là một ngôn ngữ “lai tạo”. Ngôn ngữ C++ là một ngôn ngữ lập trình cấp trung. Bởi vì nó có các tính chất của cả ngôn ngữ lập trình bậc thấp(Pascal, C…) và ngôn ngữ lập trình bậc cao(C#, Java, Python…). Ngôn ngữ lập trình C++(C plus plus) có đuôi mở rộng là .cpp

Tại sao lại có tên là C++?

Câu hỏi này thường là một câu hỏi khá hài hước. Thường được các bạn trẻ thảo luận sôi nổi trên các mạng xã hội. Thông thường, một phiên bản mới ra đời dựa trên thế hệ tiền nhiệm thường có thêm hậu tố “plus” ngay sau tên của phiên bản trước đó, hay chính là dấu “+”. Ngôn ngữ lập trình C++ được phát triển triển dựa trên ngôn ngữ C. Vậy tại sao lại là “C++”(2 dấu cộng) mà không phải là C+(1 dấu cộng)? Một câu trả lời mà mình thấy hợp lý nhất đó là:

C++, tương đương với C = C + 1. Bởi vì “++” là toán tử 1 ngôi trong ngôn ngữ lập trình C/C++

Người có chuyên môn C ++ được săn đón

Khi các hệ thống giao dịch điện tử tốc độ cao ngày càng trở thành một yếu tố khác biệt quan trọng. Giao dịch thuật toán vượt ra ngoài thị trường chứng khoán. Người có chuyên môn C ++ được săn đón nhiều hơn trong lĩnh vực tài chính. Paul Bilokon, cựu nhân viên định lượng tín dụng tại Deutsche Bank và là người sáng lập công ty AI Thalesians, cho rằng: Bjarne Stroustrup, nhà khoa học máy tính người Đan Mạch. Người đã tạo ra C ++, đã mô tả C++ như một ngôn ngữ để định nghĩa và sử dụng light-weight abstractions.

muốn một kỹ sư C ++ cho các hệ thống tạo thị trường
Nhiều công ty muốn một kỹ sư C ++ cho các hệ thống tạo thị trường

Và điều này khiến nó trở nên đặc biệt thích hợp; trong các ngân hàng và quỹ đầu tư. Ông nói: “Tài chính chứa đầy những điều trừu tượng. Và có rất nhiều nhu cầu đối với việc triển khai light-weight của chúng. Trong định giá phái sinh và đặc biệt là trong giao dịch tần suất cao. Nơi có rất ít lựa chọn thay thế cho C ++,” ông nói. Khi C ++ phát triển, Bilokon cho biết việc sử dụng nó đang ngày càng rộng rãi. Quỹ phòng hộ Millennium chỉ định rằng các nhà phát triển định lượng (quantitative developers) của họ có “kinh nghiệm đáng kể về lập trình C ++ hiện đại“. Bilokon cho biết: “C ++ hiện đại từng có nghĩa là C ++ 11 trở lên, nhưng ngày nay có thể được hiểu là C ++ 17 hoặc thậm chí C ++ 20 trở lên”.

C ++ có lợi thế đáng kể trong lĩnh vực tài chính 

C ++ đã bắt kịp “đàn anh” Python

Trong lĩnh vực tài chính và các lĩnh vực khác. Các lần lặp lại gần đây của C ++ có lợi thế đáng kể so với các phiên bản tiền nhiệm của chúng. Các thành ngữ kiểu C cũ ít được sử dụng hơn và ngôn ngữ này vừa sạch sẽ vừa mạnh mẽ hơn. Có thể giúp người dùng làm việc hiệu quả hơn.

Bilokon nói: “Trước đây, tôi đã thấy nhiều người viết các con trỏ thông minh của riêng họ để quản lý tài nguyên. Ngày nay không cần phải làm điều này, người ta có thể dựa vào Thư viện Chuẩn C ++“. Ông cho biết kết quả đạt được là C ++ đã bắt kịp Python. Bằng cách giới thiệu các vòng lặp “for” dựa trên phạm vi và các biểu thức lambda mạnh mẽ. “C ++ 20 là tất cả về mô-đun, coroutines, khái niệm và thư viện phạm vi.”

Ngôn ngữ lập trình này đang trở nên dễ sử dụng

C ++ không thể thay thế Python trong lĩnh vực tài chính
C ++ không thể thay thế Python trong lĩnh vực tài chính, đây là điều chắc chắn

Mặc dù C ++ không thể thay thế Python trong lĩnh vực tài chính, điều này có nghĩa là ngôn ngữ này đang trở nên dễ sử dụng hơn và đang mạo hiểm vượt ra khỏi một số ngách lịch sử của nó. Ví dụ, Goldman Sachs đang di chuyển hệ thống định giá và rủi ro SecDB khỏi ngôn ngữ độc quyền của họ. Slang đang tìm kiếm những người có thể viết code bằng cả Java và C ++. Để giúp thực hiện quá trình chuyển đổi. C ++ cũng được sử dụng tốt trong các hệ thống phân tích, kỹ thuật độ tin cậy của trang web. Và cho các vai trò liên quan đến định giá, rủi ro và tính toán P&L.

Vị thế của C ++ sẽ tiếp tục nâng cao trong tương lai

Python đã trở thành một ngôn ngữ cần thiết để học nếu bạn muốn có một công việc trong lĩnh vực tài chính. Tuy nhiên, trong khi sinh viên ở khắp mọi nơi đang trở thành những lập trình viên Python bán chuyên. Thực tế là C ++ khó thành thạo hơn. Và vì vậy có thể là một yếu tố khác biệt khi nói đến việc kiếm việc làm. Đồng thời, các phiên bản C ++ mới hơn dễ sử dụng hơn so với các phiên bản trước đó.

Bilokon cho biết C ++ 20 đã cải thiện hỗ trợ cho phần mềm đáng tin cậy quy mô lớn. “Các light-weight abstractions mà C ++ hứa hẹn giờ đây dễ đạt được hơn. Những thay đổi này đang thúc đẩy sự phục hưng của C ++ trên Phố Wall và ở các trung tâm giao dịch tần suất cao như Chicago.“