Tuesday, 10 April 2012

OOP languages

Nếu bạn đi hỏi phần lớn những người lập trình hướng đối tượng ngôn ngữ nào tốt nhất để học OOP hoặc đơn giản hơn là "google cụm từ pure oop language" , câu trả lời nhận được sẽ không bao giờ  là C++!

"I invented the term 'Object-Oriented', and I can tell you I did not have C++ in
mind."    — Alan Kay

Nhưng với cái giáo trình cũ rích mà trường mình vẫn dạy, bạn vẫn học C++ ;)

Một sự thay thế tốt hơn:

http://en.wikipedia.org/wiki/Objective-C
Ngôn ngữ này nếu bạn chưa nghe đến bao giờ và nghĩ nó "vô giá trị" thì hãy nhớ rằng Objective-C là ngôn ngữ được dùng để viết phần mềm IPhone :D

Objectivi C = C + OOP (Lấy ý tưởng từ 1 ngôn ngữ "cực OOP" - smalltalk)

Smalltalk nghe tên có vẻ thuộc loại siêu hiếm có :)) nhưng nó chính là ngôn ngữ thuần OOP nhất. Chả biết là để làm gì ngoài học :p

Smalltalk được thiết kế nhằm bảo vệ tối đa các đặc điểm ngắn gọn và trong sáng của nó và không hướng đến tính khả dụng (usability) hay tính hiệu năng (performance). Vì vậy nó phù hợp với các mục đích giáo dục hơn là mục đích thương mại, tuy nhiên các đặc điểm của Smalltalk đã ảnh hưởng và góp phần mang lại thành công cho nhiều ngôn ngữ khác trong đó có Java, C#.

http://vi.wikipedia.org/wiki/Smalltalk

Nếu mình là thầy giáo :))  Python hay Java sẽ được mang ra dạy, thay vì C++ :-"

Nhưng cuối cùng vẫn phải nhắc lại, OOP là 1 paradism, không phải ngôn ngữ lập trình. Và chương trình của bạn "OOP" đến đâu thì phần lớn là do bạn, không phải do ngôn ngữ. Chỉ là kiếm chỗ để đổ tội mà thôi :))