Path: utzoo!attcan!uunet!cs.utexas.edu!sdd.hp.com!samsung!emory!hubcap!sleepy!lsalomo From: lsalomo@sleepy.uucp (Lawrence W Salomon) Newsgroups: comp.os.os2.programmer Subject: Re: PM from SDK Message-ID: <10890@hubcap.clemson.edu> Date: 10 Oct 90 18:11:35 GMT References: <16134@rouge.usl.edu> Sender: news@hubcap.clemson.edu Reply-To: lsalomo@sleepy.UUCP (Lawrence W Salomon) Organization: Clemson University Engineering Department Lines: 33 I've never done any Windows programming, but after writing close to 30,000 lines of C code for OS/2 PM I will say the following things: The learning curve is EXTREMELY steep initially, because of the forced difference in coding style, but once you get over-the-hump, it smooths out a good bit. Debugging window procedures is a pain, especially since (up to and including OS/2 1.2) debuggers which debug PM programs cannot be PM programs themselves, due to the way PM processes input (and a few other technical issues which I will not go into here). So, you are forced to use a text-mode debugger (the only two I have ever used are CodeView and LogiTech, both of which have their good and bad points) which is archaic at best. I have seen some Windows source, and I will say that the OS/2 API's have Windows beat by a long shot, unless you are biased towards Unix (and are thus accustomed to names like those in Windows. No flames regarding this please...). OS/2 (not PM) does preemptive multitasking, but because PM processes input in a strange manner (there was once a big discussion regarding whether or not this was a design flaw, but I don't remember where) you must follow certain rules, or you are going to experience hangups in the input data stream (and since a lot of things are based on input, the system appears to freeze. A good example of this is changing the window focus. If one program grabs the input queue and doesn't get back to it's polling loop before the focus is changed, you don't notice the change until it does.). I hope this helps a bit...Feel free to send me EMAIL offline if you wish to discuss this further... Cheers, Q