“In the first part of this analysis we looked at how the polymorphic side of object-oriented programming was implemented in the Linux kernel using regular C constructs. In particular we examined method dispatch, looked at the different forms that vtables could take, and the circumstances where separate vtables were eschewed in preference for storing function pointers directly in objects. In this conclusion we will explore a second important aspect of object-oriented programming – inheritance, and in particular data inheritance.”
It’s really quite a shame that there has been traditionally so little support for modern programming techniques in the Linux kernel. It’s really nice to see someone take initiative and promote some ‘newness’ in Linux.
Maybe some Linux kernel developers could take a look at a modern OS like Haiku, which was written in C++ and had a really nice class hierarchy from the start.
http://haiku-os.org/legacy-docs/bebook/index.html
Actually, what’s really sad is that C++ is pretty much the compiled-to-native language that has OO built-in. After using Java and C# and Perl and Haskell (and I haven’t even touched real OO languages like Smalltalk or Modula), I feel for those people who still have to use C++. Too bad D is still immature.
Modula is not OO, unless you are referring to Modula-3
See, I haven’t used it
Its a shame the user does not make a comparative study of these techniques wrt gtk+ and motif.
There is a big difference between kernel programming and GUI programming. With kernel development you need near-real time response, highly predictable behavior, and no garbage collection.
With GUI tool kits you can annoy the user to no end with slow response, unpredictable behavior, and not collect the garbage
Hey, I patented those mechanisms – they are features, designed for general amusement. Nobody better be using my paradigm!
Even though quite a few research OS do have GC on them.
I didn’t get that at all from the linked articles. They were both studies on what OO techniques are currently used in the Linux kernel and how they are implemented. There is no “promotion” at all – it is simply a technical analysis of what is already there. There are a couple of minor (and valid) criticisms of the specific techniques used, but overall it is just a good technical analysis.
Where do you see anyone “promoting” anything?
“Where do you see anyone “promoting” anything?”
This article??
The techniques talked about in the article are ancient… The vast majority of them have been in the kernel since, well pretty much forever (Linus started doing a lot of this psuedo-OO stuff himself when it was mostly just him).
I’m just saying I fail to see how this promotes “newness” in Linux when they are describing things that have, for the most part, always been there.