Thread: Is Vista object-oriented?

  1. #1
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607

    Is Vista object-oriented?

    There have been many attempts by Microsoft to save their aging Win32 API.

    They've encapsulated the API using MFC/ATL and for the most part it's object oriented. However the non-object oriented portions of Win32 are quite glaring and annoying and don't fit well into certain OOP paradigms.

    They've tried to do objects with their version of Visual Basic, with some success, but overall it's a mess.

    They've come up with .NET which is another attempt at doing objects in a non-object oriented API.

    So, my question is.....

    Are we finally going to get a truly object-oriented API and OS with Vista?

    From the looks of it, I'd say no. Comments, please. I'd like to hear opinions as to why an OS should be object oriented and why it shouldn't be. Also I'd like to hear opinions as to what object-oriented paradigm you would follow. C++ is not the only object oriented language out there anymore so creating an OS solely on C++ design's might not be advantageous.

    C++ for the most part brought OOP to the forefront. Now where do we go from here?
    Last edited by VirtualAce; 07-01-2006 at 12:00 AM.

  2. #2
    unleashed alphaoide's Avatar
    Join Date
    Sep 2003
    Posts
    696
    Well, what do I know about MS' timeline but I must say that .NET is amazingly good OO. I've worked with MS products as well, e.g. SharePoint, and objects are all over the place and I must say that their OO API/libraries are intuitive (to me, at least). I must say that MS could easily answer 'Yes' to your question.
    source: compsci textbooks, cboard.cprogramming.com, world wide web, common sense

  3. #3
    Dump Truck Internet valis's Avatar
    Join Date
    Jul 2005
    Posts
    357
    The entire os may have been written in java judging from the system reqs of vista...
    Sarcasm aside, I think they will just provide a good binding for the common OOP languages, it's not often pointed out but C++ is noticeably amount slower than C and to offer no lower level layer to the system seems like suicide--then again, the bastards are trying to force a new driver model on us again.

  4. #4
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    *must ... not ... respond ... to ... C++ ... speed ... claims*

    I don't think there'll be a binding for C++. It will still use the good ol' Win32 API. WinFX (now .Net 3.0 - sheesh, they're really eating up those version numbers, aren't they?) is only for Managed languages such as C#, VB.Net and C++/CLI. Unless you use COM interop, in which case you can, at great effort, use it in C++, and with even greater effort in C.

    Only a good look at WinFX will tell if it's really object-oriented, but so far they've done quite well in .Net. Not excellent, but quite well.
    All the buzzt!
    CornedBee

    "There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
    - Flon's Law

  5. #5
    Crazy Fool Perspective's Avatar
    Join Date
    Jan 2003
    Location
    Canada
    Posts
    2,640
    Quote Originally Posted by alphaoide
    Well, what do I know about MS' timeline but I must say that .NET is amazingly good OO. I've worked with MS products as well, e.g. SharePoint, and objects are all over the place and I must say that their OO API/libraries are intuitive (to me, at least). I must say that MS could easily answer 'Yes' to your question.

    Thats all well and good, but MS dropped the .NET integration with Vista. They also dropped the Monad developmonet tools and WinFS (the 3 main features that they boasted about). For those who haven't heard. They've also decided NOT to ship WinFS as an update because they can't get it to work propery, you'll only see bits of this technology in their SQl DB. Vista is a new GUI for XP.


    @Bubba. Its highly unlikely that vista is anymore OO than previous incarnations of windows. I posted a link to an interview with a top MS developer a little while ago, he explained that they, once again, used the "wild wild west" development methodology with Vista (put a bunch of programmers in a room working on separte pieces with little to no communication, then try to stich it all together at the end). This has been a recepe for disaster for many companies, and MS is just starting to learn this.

  6. #6
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Hmm... without WinFS why will I want to upgrade to Vista? Having to buy a new computer just to be able to handle it's minimum requirements is already a strain that, quite frankly in this world of Linux as an option, makes little sense.

    But the only thing that had any real meaning to Vista as a productive platform is not shipping with it? Gosh... There's a lot of skinning software out there incredibly more cheaper than Vista.

    I'm shifting towards C++ at the end of my career in software development. Made some decent money to start my lifelong dream, a small cozy bookstore. Software development will soon be something I do for fun and pleasure as opposed for slavery. I think I will also be shifting to a more... erm... stable, productive and consistent platform...

    I just can't keep buying a new computer everytime Microsoft decides to throw a "new" operating system to the streets. Especially when I then get dissapointed. Heck! Windows 2000 is by far a superior OS to Windows XP. If there is something that should be making me buy machines, that something is the software I run. Not where I run the software.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  7. #7
    the Great ElastoManiac's Avatar
    Join Date
    Nov 2005
    Location
    Republika Srpska - Balkan
    Posts
    377
    Well i can also use any software i want, but not because i'm rich. It's 'cause it's all cracked around here...
    Despite that i'm going to use Linux!
    lu lu lu I've got some apples lu lu lu You've got some too lu lu lu Let's make some applesauce Take off our clothes and lu lu lu

  8. #8
    Registered User
    Join Date
    Jun 2004
    Posts
    277
    Quote Originally Posted by MDofRockyView
    I live in one of the richest areas in the world and have money to burn so I could buy a new system every year, but I'll just stick with Linux until there is some valid reason why I need to buy a new system with Vista on it.
    Where do you live? I wanna move there, any good looking sister / cousing or neighbour?

  9. #9
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    I think he lives in Oman
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  10. #10
    Lurking whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    9,613
    I don't feel so bad asking this question now. Is there any good reason for an OS to be object oriented? I just have to ask this because most of what the OS does seems procedural in nature.

  11. #11
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Anyways, replying to Bubba...

    I don't think we will Bubba. Well, it's obvious we won't. Not with Vista at least. Maybe the next one. We got perhaps sidetracked by this talk about WinFS, but the truth is that Microsoft seems to be trying to move forward while still chained to a bloated, ugly and heavy API that clearly doesn't answer today's demands. And maybe, just maybe, that is also one of the reasons WinFS seem to have failed.

    MFC was a huge effort, but I doubt it was created to start a shift from the Win32 API. It could have been. But a simple wrapper can't really do that, can it. But the .Net Framework can. In fact I believe that Microsoft effort in having everyone program for the framework has little of a business objective. That is not the major reason in my opinion. It seems to me it's more a somewhat long road they set themselves on, in order to ease the transition on that fatidic day when they announce the Win32 API is dead and no longer supported.

    The framework can be changed to suit itself to the operating system specifics without the theoretical need for the programmer to change one line of code whatsoever. If you remember back then when it was still in Beta, Microsoft was announcing it as a cross-platform framework. It could at least be used as such. I think this clearly states the nature of the framework. When enough people, enough software houses, and enough customers, are using the framework as a development and productive platform, it won't be hard for Microsoft to slowly start messing with the internals of their aging API without risking a huge uproar.

    In fact, as the framework matures and becomes a de facto standard for windows systems, it won't be much hard for Microsoft to mess with their operating system internals whenever they feel like it. Of course... this will have a huge impact on those deciding not to follow the .Net trend. But I don't think Microsoft will keep the .Net contained for much longer. As it matures, I expect MS to start providing and maintaining .Net libraries for those who still wish to develop with the more traditional tools like C++.

    The shift from DOS to Windows 2000 was a mild one. It was made easy with windows 95 and 98 versions. However, I don't think Microsoft has that chance now. I believe they are as eager as anyone of us to get rid of the Win32 API. But they locked themselves too much around it and exposed it too much. Consequently, any change means breaking the old code (as we know, exactly the opposite of the OOP paradigm). Microsoft is well aware of this I'm sure. They want to rectify it, I want to believe. Besides backward compatibility increases the size, cost, and demands more maintenance of an operating system by a significant factor.

    The .Net framework has all the ingredients to become a true framework and consequently get us finally rid of the Win32 API. It does have to stop being stuckup though, and open itself to the traditional programming languages, or microsoft risks loosing a strong base of active, "pro-bono", developers who have been along the years one of Microsoft's major source of income with their little (read awsome) tools and gizmos being delivered as shareware or freeware.
    Last edited by Mario F.; 07-02-2006 at 06:40 PM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  12. #12
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by citizen
    I don't feel so bad asking this question now. Is there any good reason for an OS to be object oriented? I just have to ask this because most of what the OS does seems procedural in nature.
    I believe from a developer perspective wanting to code for the operating system, there is, citizen. It provides the developer with an already existing OOP base to expand on, instead of having to start the OOP paradigm within his code.

    MFC with it's poorly implemented OOP already shows some of the advantages for those of us who cared to actually use it beyond calling a window.

    I think the biggest advantage of using MFC doesn't come of it being (for some) quicker to code. I think it comes because code based on MFC becomes easier to maintain and expand. And yet, it's still not even close to perfection. I can only imagine an operating system that exposes itself entirely in an OOP fashion...
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  13. #13
    Carnivore ('-'v) Hunter2's Avatar
    Join Date
    May 2002
    Posts
    2,879
    Doesn't Vista share the same API as XP? AFAIK, the SDK is the same, except Vista includes a few extra APIs (most notable to me was the WLAN api, which I discovered on MSDN but couldn't use because Vista isn't out yet...)
    Just Google It. √

    (\ /)
    ( . .)
    c(")(") This is bunny. Copy and paste bunny into your signature to help him gain world domination.

  14. #14
    Registered /usr
    Join Date
    Aug 2001
    Location
    Newport, South Wales, UK
    Posts
    1,273
    If you're prepared to turn back time a bit (insofar as running an OS that won't work on a modern PC due to lack of driver support), then IBM's OS/2 is as OO as they come, baby.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. What's a good Object Oriented Strategy for OpenGL/Graphics
    By indigo0086 in forum Game Programming
    Replies: 9
    Last Post: 04-03-2007, 06:27 PM
  2. object oriented C
    By FlatLost in forum C Programming
    Replies: 4
    Last Post: 11-08-2005, 06:22 AM
  3. Question on l-values.
    By Hulag in forum C++ Programming
    Replies: 6
    Last Post: 10-13-2005, 04:33 PM
  4. A question about constructors...
    By Wolve in forum C++ Programming
    Replies: 9
    Last Post: 05-04-2005, 04:24 PM