Trong nhiều năm, tôi đã làm công cụ Thuật toán, viết các cấu trúc dữ liệu có thể mở rộng để tìm kiếm trên internet, ví dụ: Cây tìm kiếm nhị phân ngẫu nhiên cho Đề xuất tự động, BitMaps, Thuật toán dựa trên đám đông bằng cách sử dụng Biểu đồ, viết một số thuật toán học máy thú vị như Phân cụm, Phát hiện dị thường, làm việc trên các công cụ truy xuất thông tin và như vậy
Có một điều phổ biến trong những điều mà tôi đã đề cập ở trên. Tất cả những thứ ở trên, mỗi thứ nếu được mã hóa bằng một ngôn ngữ như C ++ đòi hỏi rất nhiều lớp. Ý tôi là chúng là những vấn đề thú vị nhưng chúng không phức tạp về mặt công cụ Hướng đối tượng được tải nặng. Tôi chưa bao giờ sử dụng Kế thừa, công cụ ảo, vv Mặc dù tôi đã sử dụng nhiều Lập trình chung, Mẫu, v.v.
Tôi yêu C ++ (- Công cụ OO cồng kềnh, vì tôi thích những gì Joe Armstrong, người tạo ra Erlang nói, Trong Thế giới OO nếu bạn yêu cầu một quả chuối, bạn sẽ có một khu rừng lớn dọc theo con khỉ đột đang cầm quả chuối). Tôi thích mã hóa trong các ngôn ngữ khác như Java, Python cũng vậy.
Bây giờ câu hỏi của tôi là vì tôi đang tận hưởng loại dự án / Thuật toán mà tôi đang làm, tôi có cần phải học OO không, tôi có phải là một nhà thiết kế / lập trình viên giỏi hơn chỉ bằng cách sử dụng các công cụ như Kế thừa, Đa hình động (ảo) không? HOẶC tôi có thể chuyển sang thế giới Lập trình chức năng (tôi chưa làm điều đó cho đến bây giờ), điều này thu hút tôi hơn khi tôi chỉ có thể tập trung vào các nhiệm vụ / thuật toán và không để các công cụ OO dựa trên Kingdom Of Noun, có-a, là một quy tắc tôi?
Tóm lại, công cụ OO có thể giúp tôi tất cả cho các loại dự án / Thuật toán mà tôi đã đề cập ở trên không?
BIÊN TẬP:
Một liên kết cực kỳ thú vị để thêm vào đây:
http://steve-yegge.blogspot.in/2006/03/execut-in-kingdom-of-nouns.html