Minor point: if you rewrite a quote, it's no longer a quote, to prove my point (at least in an internet-based discussion):
Major point: quoting a well-known person doesn't bode well for your argument, it's an appeal to an authority, an authority that you didn't identify, which somewhat reduces the impact...
Last edited by archibald; 03-04-2013 at 05:59 PM. Reason: missing parenthesis
Well, RHEL has always used Gnome, though you could install others (I THINK).
SUSE has been a KDE desktop for ages (again, you can install others as well).
Don't think RH thinks of Gnome as their own. Think instead that the various developers (not all at RH) think of it as their own.
OOP has been eliminated from the introductory CS curriculum at Carnegie-Mellon in favor of an introductory course to functional programming. They say that OOP "is eliminated entirely from the introductory curriculum, because it is both anti-modular and anti-parallel by its very nature, and hence unsuitable for a modern CS curriculum". And this is but one of the many criticisms of OOP.
http://existentialtype.wordpress.com...p-to-freshmen/
Last edited by Sergio; 03-04-2013 at 06:26 PM. Reason: Typo
Yeah, well... What I find truly 'disturbing' is the whole "...because it is both anti-modular and anti-parallel by its very nature, and hence unsuitable for a modern CS curriculum".
I'd think maybe the anti-parallel argument extends more generally to imperative programming, but they say that this is not the case; the problem is OOP.
More information can be found here: http://reports-archive.adm.cs.cmu.ed...-CS-10-140.pdf
well, they aren't so far away fropm truth as it seems at the first look. and i say that as someone quite oop affine.
how powerfull oop is and allows for simple and elegant constructions, it also allows for more bad designs if not used right than C ever allowed. though, it is something one may get only the chance to see this in larger projects.
though, there are various attempts in cutting down a lot of that power to put the developer back in line... as far as i have seen with very very bad results. leads to such bad though designs like java, where features where cut off, claimed they are not needed and make things worse and then you start doing ugly things around just to compensate for that.
though, most common devs won't observe this. they actually indeed profit from this reduced modularity and features because they were never able to handle it. and this closes the circle to the thesis of that announcement
though the funny thing is: i always tended to code oop style, even before i heared about oop the first time in my life, while coding in C
edit: just a very small example about how oop can reduce modularity by its nature:
while using C you have access to every method / module (what ever you define as a module) you can restricte in oop things very easy in such a way, that you totally lose all modularity. you declare fields and methods private or protected etc. thinking of controlling bad usage of your design, and end up often cutting down all roads of an efficient and effective way of modular extention or integration.
what i mean is, that you have far more to plan into the "future" to not lock down future code development than in most other "styles" and it tends to overcomplicate things.
Last edited by a user; 03-04-2013 at 07:39 PM.
Anti-modular? Surely they must be joking. When you're modeling objects you're breaking your program up into bits that are serving individual functions with intent for designing things so that you can just take the class out and use it elsewhere and use polymorphism to fit it to your own uses and otherwise. I mean modularity is kind of the entire point behind OOP.
As far as anti-parallel goes I strongly disagree here too because parallelism is more a function of imperative languages themselves as stated by Sergio, and with languages beginning to pick up async keywords and such this issue becomes a whole lot smaller because you're no longer having to play games in that regard. Also I fail to see how OOP makes it harder as opposed to easier, at least compared to other imperative programming styles. Again you're breaking things down into components which is going to make work as split up and as isolated as possible, which makes things easier.
I will however grant that functional languages do have a bit of an edge in parallelism because everything is const but these aren't reasons.. they're lies.