Thread: A New Reason to Hate Windows

  1. #16
    train spotter
    Join Date
    Aug 2001
    Location
    near a computer
    Posts
    3,868
    Quote Originally Posted by Elysia View Post
    Not to mention they love to use complicated and deprecated technologies such as COM.
    <snip>
    I'm rooting for the new Metro API to take root and become the standard for the future.
    (The UI sucks IMO; but the API itself is a huge leap of bounds from the old C API.)
    I don't think you understand WinRT, which is no longer termed Metro (due to another company using the name).

    WinRT is a COM based API and is built on the WIN32 API. So I fail to see how COM is depreciated, nor how WIN32 can be made redundant.

    Personally I just use the right tool for the task at hand, regardless of my feelings towards the company that made it (and I find WIN32 and COM easy to use/understand).
    "Man alone suffers so excruciatingly in the world that he was compelled to invent laughter."
    Friedrich Nietzsche

    "I spent a lot of my money on booze, birds and fast cars......the rest I squandered."
    George Best

    "If you are going through hell....keep going."
    Winston Churchill

  2. #17
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by Mario F. View Post
    Nope. Replacing Software Design Guidelines with an API is hardly a good thing. But we'll have this conversation again in a couple of years...
    From a programmer perspective, perhaps. But from a user perspective it is a really, really good thing when you have hobby devs pushing out apps. Just look at Android, and today's Windows desktop apps. They're a prime example of what happens if you have guidelines in place instead of proper APIs.
    Besides, I was referring to the fact that "maybe then we won't have the issue that every program steals associations and pops up windows right in front of your face whenever they feel like it." That kinda violates every guideline there is, if I have to guess (I haven't looked at the guidelines).

    Quote Originally Posted by novacain View Post
    I don't think you understand WinRT, which is no longer termed Metro (due to another company using the name).

    WinRT is a COM based API and is built on the WIN32 API. So I fail to see how COM is depreciated, nor how WIN32 can be made redundant.

    Personally I just use the right tool for the task at hand, regardless of my feelings towards the company that made it (and I find WIN32 and COM easy to use/understand).
    I know it's not named Metro, but that doesn't matter. A name sticks. I like to call it Metro, and that's all.
    WinRT may be built on COM and WIN32, but that doesn't change the fact that it's still inside a little isolated box. It's clean, it's modern, it's object-oriented, it's async by default, and just so much easier to use.
    Compare that to COM and WIN32. They are both the absolute reverse. They are C API on a rich modern, flexible and huge platform. Hardly appropriate. No matter how much you try to pretty it up, it will still fall short to APIs built on languages that can express the flexibility and power of a modern platform where resources are not constraints (does not apply to drivers and kernels).
    And no offence to you, but you've been using COM and WIN32 for a long time. You are like a guru there. Of course you find it easy. But other people will not.

    Again, we stress the right tool for the job, and I agree with you. If I have a chance to use a high level language with good abstraction, I will use that. And that typically means WinRT or Metro over WIN32 and COM unless I absolutely have to use it, because WIN32 and COM are essentially C based APIs. They take a lot of code to do little things. They don't clean up (has to be done manually). It's so big, and so hard to grasp. That means it will become a niche, where most people will fail to grasp everything.
    So again, if you understand COM and WIN32 well, then fine, go ahead and use it. It's fine.
    But if it's a new programmer who do not understand these technologies well (which will oh so many), then clearly it is not the right tool for them. And if they can learn a similarly powerful tool in less time, why should they not do it?
    Last edited by Elysia; 12-14-2012 at 05:30 AM.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  3. #18
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by Elysia View Post
    WinRT may be built on COM and WIN32, but that doesn't change the fact that it's still inside a little isolated box. It's clean, it's modern, it's object-oriented, it's async by default, and just so much easier to use.
    More confusion. But this time it wasn't your fault. Novacain lead you into it. WinRT is not built on Win32. It's a native API in its own right. ARM processors don't support the Win32 API, for instance. All they can rely on for windows-based application development is WinRT.

    On Intel-based processors, WinRT sits alongside the Win32 API. Completely independent and not on top of Win32. It's however for most purposes a redundant API under Intel-based windows development. It brings nothing really new to the table with one notable exception; WinRT gives proper access to C++ development for the .Net platform, whereas the .Net Framework atop Win32 doesn't.

    The price you pay is however a more limited access to Win32 functions and objects, limiting the scope of that which you can develop for Windows. Neither will WRL give you support for exception handling. HRESULT is the means by which you handle errors in WRL. Alternative you can go with a Microsoft extension to the C++ language; CX. But here you will have to contend yourself with an altered programming language with different syntax and semantics which most certainly won't reflect C++ standards evolution. And you still won't have full access to the Win32 API.

    WinRT is however the first proper API since Win32. I'll give you that. A possible successor to the WinAPI, despite what Microsoft may say about it now. It's however meant to forever change the landscape of Windows development in a direction you may not appreciate. Since the .Net Framework back in 2000, Microsoft has been doing all it can to reduce C++ development on windows... better, to control and limit the language tendency to provide programmers ways in which they can shoot their own feet and Windows itself. It's essentially trying to rescue the Windows platform from bad programming habits, much like what Apple does with iOS development. Being that C++ is a generic programming language that cannot be at the service of a operating system vendor, the only way to achieve this is to either remove access to it (Apple way) or to induce programmers into removing it from their toolset by slowly undermining the programming language scope and reach (Microsoft way).
    Last edited by Mario F.; 12-14-2012 at 07:51 AM.
    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.

  4. #19
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Maybe I am confused a little by how it all hangs together, so I won't comment on it much. Forgive me on that.
    For all its cons, the new WinRT or Metro app applications or however it hangs together now, will hopefully reduce the number of crap applications that steal associations and pop up windows in our faces. For that, I am thankful, and so should hopefully a lot of others.
    Any API has shortcomings, be it COM, WIN32 or WinRT. But the end result is what matters. If you can use WinRT to do it, then fine, go ahead and do it. If you can't, then use WIN32 or COM or whatever else you need to do it. One should be aware that this will increase the number of apps that misbehave in such cases, though.

    I honestly don't know what Microsoft thinks or how it behaves. It seems like a child that sees problems everywhere and tries to find their own solutions to them. Then, sometime in the future, they realize they can do better, so they throw away whatever tools they've made and makes new ones.
    *shrug*
    Anyway, we should remember that Microsoft has changed. Perhaps not much, and perhaps only a little, and perhaps the company's big goal or intent hasn't changed at all. But you know, Microsoft has a number of employees that are critical to ISO C++. They even have the chair of the ISO Committee! They've also invested tons of resources into C++, like C++ AMP, C++11, etc, etc. It seems strange they would just throw all that away if they didn't like C++.
    Anyway, we'll see what the future holds.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  5. #20
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by Elysia View Post
    For all its cons, the new WinRT or Metro app applications or however it hangs together now, will hopefully reduce the number of crap applications that steal associations and pop up windows in our faces. For that, I am thankful, and so should hopefully a lot of others.
    It's the third time you say this, and despite my best efforts I still can't understand what's the problem with that that makes you single it out like a plague.

    File associations in windows is a problem with the filesystem, not solvable by any API in the world. NTFS isn't suitable anymore as a consumer-grade filesystem for consume-grade computers and devices. Before Microsoft dropped WinFS development we did have some hope that a rich metadata filesystem would finally be put in place. But we all know what happened to that. Until NTFS is replaced all you can do to handle file associations is conjuring tricks.

    Overlapping windows (application and system-wide modal or modeless dialog boxes) are with us well before the DOS era and are shared by almost all UIs in existence. They are an essential aspect of any application workflow. The Win32 API knows how to handle these gracefully and stop anything but a system-wide modal window to interrupt the workflow of another application that has the focus. If the programmer didn't know or didn't want to take advantage of this, write them a letter. Don't impose a model where overlapping windows are banned, like the WinRT did.

    Quote Originally Posted by Elysia View Post
    Anyway, we should remember that Microsoft has changed. Perhaps not much, and perhaps only a little, and perhaps the company's big goal or intent hasn't changed at all. But you know, Microsoft has a number of employees that are critical to ISO C++. They even have the chair of the ISO Committee! They've also invested tons of resources into C++, like C++ AMP, C++11, etc, etc. It seems strange they would just throw all that away if they didn't like C++.
    I'm prepared to bet with you or anyone that Microsoft interest in C++ future exists only as an extension of their desire to see the programming language dispose of its most dangerous aspects. Those that generate ignorant users blaming Windows for a buffer overflow or a memory leak in their favorite game. The programming language history is otherwise the main responsible for Windows success.
    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.

  6. #21
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by Mario F. View Post
    File associations in windows is a problem with the filesystem, not solvable by any API in the world...
    I disagree. It's partly an API fault, and it's partly a Windows fault.
    There must be a good API that allows a program to register associations. Many programs and installers write directly to the registry which they should under no circumstances be allowed to. I dunno if there's an API for registering file extensions in the API right now, though.
    But the thing is that some models--like the Android model--is very good. Bring up a list of all programs that can handle that type and let the user choose the default one--if any.
    But to do that, there must be a good API that allows programs to tell the OS they can handle the type. But they must not be able to steal the associations for every other program without user consent.
    So partly API, partly OS model. The WinRT can fix that API problem.

    ...If the programmer didn't know or didn't want to take advantage of this, write them a letter. Don't impose a model where overlapping windows are banned, like the WinRT did.
    I'd rather not have to spend the time hunting down 1 million dumb programmers who make that mistake.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  7. #22
    Lurking whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    9,613
    Quote Originally Posted by Elysia View Post
    I disagree. It's partly an API fault, and it's partly a Windows fault.
    It is entirely a windows fault, because of what a file extension really is in windows. The only other API function that needs to be called, if you use an application to change file associations, is SHChangeNotify function (Windows). If an application has permission to change the registry, which it does sometimes, under the UAC model, then it can change file associations.
    Last edited by whiteflags; 12-14-2012 at 06:08 PM.

  8. #23
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    The behavior that has been described in this post has been in Windows for a very very long time. Anytime you come to work and try the local company intranet and can't connect or try your email and it refuses to log on you know to logout, change password and log back in. I don't know why it works this way but I was not exactly on the dev team so no one cares. It is not a reason to hate all of Windows.


    I'm prepared to bet with you or anyone that Microsoft interest in C++ future exists only as an extension of their desire to see the programming language dispose of its most dangerous aspects. Those that generate ignorant users blaming Windows for a buffer overflow or a memory leak in their favorite game. The programming language history is otherwise the main responsible for Windows success.
    As I understand it a silent war wages between the managed and unmanaged developers. So much so that they rarely sit together for lunch or talk to one another. Now this could be b/c the campus is pushing 50 buildings and it is impossible to eat lunch with some co-workers but who knows. Microsoft seems to be pushing C++ in one corner but C# and managed code in another. I think the reality is that today's production schedules and technological hurdles require a correct mixture of both.

    I do not hate Windows nor Microsoft because without them I probably would not have 1/10 the job opportunities that I do. What I dislike is their inability to stay with their own technology longer than a year or two. My leadership oriented classes in college constantly drilled into our heads that the more often you change a program or a policy the more people think you do not know what you are doing and are just trying the latest newest thing. In other words it appears you lack any definite direction. I can honestly say right now that I am not sure Microsoft has a definite direction. It appears they are dabbling here and there and everywhere. And so without a definite target Microsoft will never know when it hits what it is aiming for b/c it is hitting everything....which is akin to hitting nothing. I say they need to refocus their efforts on what has worked and what does work for them instead of worrying about what the latest thing is...especially when they have little to no market share and little hope of gaining it. It is not often in economics that late comers to the game take over the game...rather late comers devise a new plan and a new product and make a new game. I think Microsoft needs to stop playing Apple's game and create a new one that works for them.

    Microsoft is full of extremely talented individuals and they have the power and the know how to create a new game. For me Windows 8 is not a new game but a new look on Apple's game. We need something fresh and something revolutionary. Do you really think touch is the future of devices? I think not.

  9. #24
    Registered User
    Join Date
    May 2003
    Posts
    1,619
    Quote Originally Posted by Elkvis View Post
    you may be on to something there.

    it's also remotely possible that the password expired in the 10 minutes or so between logging in and his first attempt to access the network resources.
    Also possible the domain controller was unavailable to service the login request and the machine reverted to using the cached credentials because of it.
    You ever try a pink golf ball, Wally? Why, the wind shear on a pink ball alone can take the head clean off a 90 pound midget at 300 yards.

  10. #25
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by VirtualAce View Post
    What I dislike is their inability to stay with their own technology longer than a year or two.
    I spent the good part of the past 18 months studying and getting comfortable with WPF/XAML. 18 months. Not soon after I started I learned they are putting an end to WPF, with the only saving grace being the fact I can retain my acquired XAML knowledge for WinRT development. It's just too much with Microsoft technologies. It's impossible to trust this company. The whole .Net framework has been a constant series of technology dead ends.

    Fortunately the world doesn't turn at this pace. As far as I can tell on both countries where I'm currently operating, businesses have been highly resistant to Windows 8 adoption. This can guarantee me some years where I can actually apply my acquired knowledge to good use and make some money.
    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.

  11. #26
    Registered User C_ntua's Avatar
    Join Date
    Jun 2008
    Posts
    1,853
    Quote Originally Posted by VirtualAce View Post
    I do not hate Windows nor Microsoft because without them I probably would not have 1/10 the job opportunities that I do. What I dislike is their inability to stay with their own technology longer than a year or two. My leadership oriented classes in college constantly drilled into our heads that the more often you change a program or a policy the more people think you do not know what you are doing and are just trying the latest newest thing. In other words it appears you lack any definite direction. I can honestly say right now that I am not sure Microsoft has a definite direction. It appears they are dabbling here and there and everywhere. And so without a definite target Microsoft will never know when it hits what it is aiming for b/c it is hitting everything....which is akin to hitting nothing.
    I very much agree. It is a general problem with giants like Microsoft. You get successful, you keep investing and when the scene changes you realize that you cannot keep up. Since all your products are under one brand it has a domino effect.

    From a former VP of MS "While Apple continues to gain market share in many products, Microsoft has lost share in Web browsers, high-end laptops and smartphones. Despite billions in investment, its Xbox line is still at best an equal contender in the game console business. It first ignored and then stumbled in personal music players until that business was locked up by Apple."

    So you might have 10 divisions in your big company. If 9 fail you consider the company going down. You might have that one division that is doing excellent, but as an investor I don't buy stocks per division. As a user I will get the impression that all your company's products are bad, even that excellent one.

    Quote Originally Posted by VirtualAce View Post
    Microsoft is full of extremely talented individuals and they have the power and the know how to create a new game. For me Windows 8 is not a new game but a new look on Apple's game. We need something fresh and something revolutionary. Do you really think touch is the future of devices? I think not.
    I do believe that touch screens will eventually replace the mouse. Why not??
    If MS does actually manage to bring desktop functionality from Windows to mobile devices then there will be a few steps ahead of iOS that was built for phones. In tablets I believe already Windows 8 is the best you can get. I don't think Windows 8 will achieve this but probably what comes after that. As a desktop user, not so impressed by smartphones, I really hate MS focus on mobile devices somehow in the expense of desktop OS. But I rather see MS though investing on Windows 8 rather than Xbox. So I would rather MS not create a new game entirely but change, adjust or better their existing Windows game.

  12. #27
    Lurking whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    9,613
    I do believe that touch screens will eventually replace the mouse. Why not??
    Can't speak for everyone but I dislike the idea of every screen in the entire world becoming a smudgy piece of crap. God bless the unseen janitors on the Starship Enterprise keeping all the consoles clean from fingerprints. Same problem there.

  13. #28
    Registered User
    Join Date
    May 2003
    Posts
    1,619
    Quote Originally Posted by C_ntua View Post
    I do believe that touch screens will eventually replace the mouse. Why not??
    User fatigue. Keyboards and mice are actually fairly well designed in terms of being operable with the hands in a neutral, supported position, and even they can lead to repetitive strain injuries. While some of our muscles evolved to be in nearly constant use (the postural muscles, for example), our arms and hands simply aren't evolved to be held up unsupported for many hours in a row.
    You ever try a pink golf ball, Wally? Why, the wind shear on a pink ball alone can take the head clean off a 90 pound midget at 300 yards.

  14. #29
    [](){}(); manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    *nullptr
    Posts
    2,657
    Quote Originally Posted by Cat View Post
    User fatigue. Keyboards and mice are actually fairly well designed in terms of being operable with the hands in a neutral, supported position, and even they can lead to repetitive strain injuries. While some of our muscles evolved to be in nearly constant use (the postural muscles, for example), our arms and hands simply aren't evolved to be held up unsupported for many hours in a row.
    gorilla arm

  15. #30
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by Cat View Post
    User fatigue. Keyboards and mice are actually fairly well designed in terms of being operable with the hands in a neutral, supported position, and even they can lead to repetitive strain injuries. While some of our muscles evolved to be in nearly constant use (the postural muscles, for example), our arms and hands simply aren't evolved to be held up unsupported for many hours in a row.
    From the very beginning, when touchscreen started to become a buzzword, my thoughts exactly!

    I also distrust touchscreen ability to fully replace the mouse+keyboard combo on any serious productivity context. I've been using touchscreen devices and the interface is simply cumbersome for any real work. A good candidate for a nightmare is a dream in which all keyboards and mice had been banned and you would need to program and debug with a touchscreen.
    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.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Another reason why I hate life
    By BobMcGee123 in forum A Brief History of Cprogramming.com
    Replies: 24
    Last Post: 11-11-2006, 10:04 AM
  2. If you hate windows explorer....
    By misplaced in forum A Brief History of Cprogramming.com
    Replies: 1
    Last Post: 04-12-2005, 07:38 AM
  3. Is there any reason?
    By Blanket in forum C++ Programming
    Replies: 12
    Last Post: 03-18-2003, 06:05 PM
  4. Another reason to not like America
    By Shiro in forum A Brief History of Cprogramming.com
    Replies: 129
    Last Post: 06-13-2002, 12:11 PM
  5. How can you reason with this madman?
    By EvenFlow in forum A Brief History of Cprogramming.com
    Replies: 25
    Last Post: 10-11-2001, 06:51 PM