Vui lòng xem xét, rằng nhu cầu của Harper trong việc giảng dạy một lớp học chương trình CS giới thiệu rất khác so với nhu cầu của một dự án thực tế . Công việc của anh là dạy các khái niệm cơ bản (ví dụ mô đun, song song, cảm ứng) cho sinh viên năm nhất. Vì vậy, điều rất quan trọng là ngôn ngữ (và mô hình) được chọn có thể diễn đạt các khái niệm này với càng ít lễ (cú pháp và khái niệm) càng tốt. Sự quen thuộc, hỗ trợ công cụ, thư viện có sẵn, hiệu suất thực thi, vv hoàn toàn không liên quan trong bối cảnh này. Vì vậy, hãy ghi nhớ điều này khi xem xét ...
Quan điểm cho rằng OO là kết quả chống mô-đun từ số lượng lớn các phụ thuộc cho các lớp khác, ngay cả các đối tượng của các lớp được thiết kế tốt có xu hướng kết thúc. Rằng đây là một vấn đề - ngay cả trong mắt những người đề xướng OO - trở nên rõ ràng khi bạn nhìn vào sự phổ biến của các khuôn khổ , bài báo, sách và bài đăng trên blog trong những năm qua (cũng là sự nổi lên của giả và cuống là thú vị).
Một gợi ý khác là tầm quan trọng của Mẫu thiết kế và sự phức tạp của việc triển khai chúng - so với một số mô hình lập trình khác - ví dụ: Factories, Builder, Adaptor, Bridge, Decorator, Facade, Command, Iterator, Mediator, Observer, Strateg and Template Method và có thể Tất cả đều theo cách nào đó liên quan đến việc cải thiện tính mô đun của mã OO.
Kế thừa cũng có vấn đề (ví dụ: Bài toán lớp cơ sở mong manh ) và tính đa hình (kiểu phụ) quyến rũ người ta để làm tăng việc thực hiện thuật toán giữa nhiều lớp, trong đó các thay đổi có thể gợn qua toàn bộ chuỗi thừa kế (lên và xuống!).
Trách nhiệm chống song song có liên quan đến sự nhấn mạnh của trạng thái so với tính toán (hay còn gọi là tính đột biến so với tính bất biến). Cái trước làm cho nó liên quan nhiều hơn đến việc thể hiện sự phụ thuộc của các tính toán con (mà Harper đang thực hiện song song!) Vì bạn thường không thể suy ra vị trí mà trạng thái được quản lý (còn gọi là tệp, trong đó biến thể hiện được khai báo) bên ngoài các tác nhân sẽ thay đổi nó vào thời điểm nào.
Việc nhấn mạnh vào tính bất biến và tính toán làm cho việc thể hiện sự phụ thuộc của các tính toán con dễ dàng hơn nhiều, vì không có quản lý nhà nước, chỉ có các chức năng / tính toán được kết hợp tại nơi bạn muốn thể hiện sự phụ thuộc của các tính toán con.