Post #28,982
2/19/02 6:15:49 PM
|
No.
Hey, Trolling again, eh? Oh well, welcome back. Is that how you're evaluating modularity? File size? What would you say is the maximum size of a DLL below which it's modular and above which it isn't?[link|http://www.dictionary.com/search?q=modular|Modular] has a recognized meaning. In this case, meaning 2 fits best: * Designed with standardized units or dimensions, as for easy assembly and repair or flexible arrangement and use: modular furniture; modular homes. Modular programs have units which are restricted to single logical tasks. By the way, did you not know that in the COM world a single DLL may host any number of independent components?Is that relevant? One still has to load the entire DLL in memory to use any of those independent components, doesn't one? I consider IE modular because I can reuse portions of its functionality in many different ways. The whole thing is a collection of separate components that can be reused independently - the HTML engine, the GUI widget, etc.I guess you'd consider [link|http://www.ikea.com|IKEA] to be a modular store because they sell modular furniture, too. I hope you can see the connection. Having a huge DLL made up of interconnected and intertwined functions and modules that can be called separately isn't modular programming. Windows XP even has an option to remove IE. That doesn't do Netscape much good however, since Windows' standard file manager (EXPLORER.EXE) also exposes the Web browsing capability. When you remove IE, all you're removing is the tiny IEXPLORE.EXE container application.Squidley: You can remove IE's stub but you can't remove IE because it's not modular. Thanks for proving our point. My $0.02. Cheers, Scott.
|
Post #28,987
2/19/02 6:41:42 PM
|
I Respectfully Disagree
Trolling again, eh? Oh well, welcome back.
Nah, just discussing. I'd really like to know what the states expect to prove with the code. Some people here seem delighted with this latest courtroom development. Perhaps they could answer?
Modular programs have units which are restricted to single logical tasks.
You mean tasks like HTML parsing, HTML rendering, interactive browsing, etc.? Looks like IE fits the bill.
One still has to load the entire DLL in memory to use any of those independent components, doesn't one?
Logically speaking, yes, but of course paged virtual memory systems typically load individual pages on demand. In any case, this is irrelevant as DLL boundaries don't map to module or component boundaries, and IE consists of many DLLs anyway.
I guess you'd consider IKEA to be a modular store because they sell modular furniture, too. I hope you can see the connection.
No, sorry, I'm missing your point here. Could you elaborate?
Having a huge DLL made up of interconnected and intertwined functions and modules that can be called separately isn't modular programming.
Well, thanks for telling me what modular programming isn't. Now could you tell me what it is, and why IE doesn't qualify?
You can remove IE's stub but you can't remove IE because it's not modular.
Umm, no, you can't remove IE because its multiple independent modules (which are of course the result of modular programming) are reused by dozens of applications vital to the product.
Thanks for proving our point.
Forgive me if I don't yield just yet :-)
|
Post #28,991
2/19/02 7:29:50 PM
|
Your questions are answered in news stories.
Hi, I'd really like to know what the states expect to prove with the code. Some people here seem delighted with this latest courtroom development. Perhaps they could answer?If you'd read the [link|http://www.cnn.com/2002/TECH/industry/02/16/microsoft.code.reut/index.html|CNN] story at the head of this thread about CKK's ruling, and a [link|http://www.washtech.com/news/regulation/15173-1.html|Washtech] story about the request, you'dl see the states' arguments. Washtech: "Microsoft cannot base its defense on the design of its source code and simultaneously deny the litigating states the opportunity to test those arguments by interrogating the code," the states said in their filing. CNN: Nine state attorneys general had argued that they needed to see the Windows source code in order to verify Microsoft's claim it could not offer a simpler version of the Windows personal computer operating system, stripped of features like the Internet Explorer browser.
"It seems to me that if your side has access to it, then the other side, frankly, should have access to it," United States District Judge Colleen Kollar-Kotelly told Microsoft's lawyers in a conference call with attorneys from both sides.
[...]
An appeals court in June agreed with a lower court that Microsoft had illegally maintained its monopoly in personal computer operating systems, but rejected splitting the company in two to prevent future violations.
Among the illegal tactics cited by the court was the "commingling" of the Windows source code with add-on programs. Seems emminently reasonable to me. Cheers, Scott.
|
Post #28,994
2/19/02 7:44:32 PM
|
If it >IS< "modular".............
then, if I wasn't using it, it wouldn't be loaded into memory, right?
I will use NetWare as an example. If I'm not using a certain function (say a specific network card driver) then that MODULE is NOT loaded into memory.
Now, can you say that the same is true of Windows and IE?
If I'm not browsing a directory or the Internet or the network or anything. Just playing minesweeper.
If it were modular, those chunks of code would NOT be loaded into memory.
If it is NOT modular, they ARE loaded.
|
Post #29,011
2/19/02 11:30:08 PM
|
Re: If it >IS< "modular".............
then, if I wasn't using it, it wouldn't be loaded into memory, right?
I wouldn't say that modules by definition must reside in separate files, but for the sake of argument, I'll agree.
Now, can you say that the same is true of Windows and IE?
Yes.
If I'm not browsing a directory or the Internet or the network or anything. Just playing minesweeper.
... the none of IE's components are loaded... with a caveat. Windows' login program loads the designated shell when a user first logs in, and respawns it if it dies. The default shell is EXPLORER.EXE, which uses many of IE's components. But you can change it to something else, like CMD.EXE. I haven't tried this in Windows XP, but it worked just fine in Windows 2000.
|
Post #29,086
2/20/02 1:55:17 PM
|
Definitions vs. designs.
True, they >COULD< be designed as modular BUT be REQUIRED to be loaded all the time. In which case, we have MS building in un-needed dependencies. If it is "modular" but it is required to be loaded all the time, what is the difference (to the end user) of that design over a monolithic design? Now, MS's past "defense" has been that they're doing these things for the end user. And remember that there aren't specific .dll's that can be removed that would remove just that functionality without removing other, required, functionality. Which would be another reason to dis-believe the "modular" claims. ... the none of IE's components are loaded... with a caveat. Windows' login program loads the designated shell when a user first logs in, and respawns it if it dies. The default shell is EXPLORER.EXE, which uses many of IE's components. But this is the core of the issue. Components that are NOT needed ARE loaded. And they cannot (by design) be removed without killing Windows. Therefore, MS did illegally tie IE to Windows. Remember, this case was about Win9x. Not Win2K or WinXP.
|
Post #29,188
2/21/02 9:56:05 AM
|
Re: Definitions vs. designs.
If it is "modular" but it is required to be loaded all the time, what is the difference (to the end user) of that design over a monolithic design?
Very few. I'd say that most of the advantages of modular design benefit programmers rather than the end user. Better maintainability for Microsoft, and a more compelling platform for ISVs.
Now, MS's past "defense" has been that they're doing these things for the end user.
One potential end user benefit is that modular systems are more easily reused, and deeper reuse leads to greater efficiency, which leads to a better overall user experience, at least in theory.
But this is the core of the issue. Components that are NOT needed ARE loaded.
But they are needed. The standard shell (EXPLORER.EXE) uses IE's HTML parsing and display engines to render many of its views.
Therefore, MS did illegally tie IE to Windows.
Whoa, could you go over that proof again?
|
Post #29,239
2/21/02 12:23:18 PM
|
So, now we look at history.
I'd say that most of the advantages of modular design benefit programmers rather than the end user. Better maintainability for Microsoft, and a more compelling platform for ISVs. Ahhh, but the benefit to programmers SHOULD be seen as a more stable product (yes/no), a more secure product (yes/no), and so on. Yet Windows is well known for its instability and non-existant immune system (loveletter and so on). So, if it were "modular", we >STILL< aren't seeing any of the benefits. Check out the >SIZE< of the service packs MS has. Compare that to the patches for Linux (Debian in particular). And before you ask, no, size by itself does NOT determine modularity. But when when the service pack is larger than the applications, you cannot argue "modularity". One potential end user benefit is that modular systems are more easily reused, and deeper reuse leads to greater efficiency, which leads to a better overall user experience, at least in theory. But in MS's history we haven't seen this. We've seen each release being MORE buggy than the release before it. Win98 was less stable than Win95c. If it were modular, the modules would have been stabilized over the 3 years between Win95 and Win98. Code re-use of stable modules would have the core system rock solid by then. But that wasn't what happened. But they are needed. The standard shell (EXPLORER.EXE) uses IE's HTML parsing and display engines to render many of its views. No. That's "monolithic". If I'm not displaying HTML and don't have a background and I'm not browsing anything, then I shouldn't have anything that reads HTML loaded. But it is loaded. Whoa, could you go over that proof again? Simple. Since all your arguments as to why MS might design their system with modularity don't result in real-world improvements (Win98 was more buggy than Win95 at the time) then there must have been another reason for them doing so. Which gets back to the internal emails about cutting off Netscape's air supply and making the use of any other browser a "jolting" experience.
|