Hacker News new | past | comments | ask | show | jobs | submit login

C++ has a healthy relationship with OO.

"The aim of the C++ class concept is to provide the programmer with a tool for creating new types that can be used as as conveniently as the built-in types. [...] A type is a concrete representation of a concept. For example, the C++ built-in type float [...]" --Stroustrup

This emphasis on concrete types is how I use and think about objects. If it doesn't cleanly act like a concrete type, I prefer to write a library that provides the data structures and related functions separately to the user. I hate how languages like Java shoehorn EVERYTHING into objects. It's very useful to keep the distinction between what cleanly forms a type and what doesn't.




In my spirit of hiding behind one-off quotes:

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


Agreed, and besides, you can think of objects as tiny modules with isolated names spaces and an additional feature: you can have multiple instances of a module in one process, which isn't possible otherwise in C/C++.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: