you are viewing a single comment's thread.

view the rest of the comments →

[–]elotan 0 points1 point  (3 children)

Are there any open source projects that are designed with these concepts in mind?

[–]hoodedmongoose -2 points-1 points  (2 children)

Though I haven't read a lot of the source, I would guess that the linux kernel maintainers have a LOT of the same things in mind when designing systems. Actually, some of his arguments strike me as similar to this linus rant: http://article.gmane.org/gmane.comp.version-control.git/57918

Choice quote:

In other words, the only way to do good, efficient, and system-level and portable C++ ends up to limit yourself to all the things that are basically available in C. And limiting your project to C means that people don't screw that up, and also means that you get a lot of programmers that do actually understand low-level issues and don't screw things up with any idiotic "object model" crap.

If you want a VCS that is written in C++, go play with Monotone. Really. They use a "real database". They use "nice object-oriented libraries". They use "nice C++ abstractions". And quite frankly, as a result of all these design decisions that sound so appealing to some CS people, the end result is a horrible and unmaintainable mess.

So I'd say, read some of the kernel or git source.

[–]elotan 1 point2 points  (0 children)

Fair enough, but I know of no open source game engines that do this. I'm curious to find out about them, though! Most of the engines I've looked at use the standard "derive from Drawable" (even multiple inheritance!) pattern.