IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Not sure you are right about the linking part.
If I read it right, they are still using dynamic linking. So, if a module's Interfaces (input and output parameters) have not changed, the module that needs fixing can simply be replaced. So while it is technically a new version of the module, it can be accepted as a revised version of the original.

Your hairball scenario takes hold when these interfaces do change. Then, the changed module becomes a significantly different version of the module. The modules that need to call the new version must also be re-issued in new versions, etc. The caller modules that don't need the change could remain untouched and continue to call the old version of the module. Some of the memory savings that the DLL scheme has would evaporate, but it would still work.

In the case that a given module requires interface changes in a module that it calls, both the caller and the called module modules would need to be re-issued in a new versions. Depending on the nature of the problem, this may also develop into a hairball scenario. But, it need not necessarily.

It boils down to being damned sure you've got the interfaces right the first time.
Alex

"Of course, you realize this means war." -B. Bunny
New Getting interfaces right
It boils down to being damned sure you've got the interfaces right the first time.

And Microsoft has such a good record of doing that... oh, but forgive me, they also have such a great record of actually publishing their interfaces... Theoretically, OLE/COM modules have built-in versioning, too, but that doesn't stop them from crackling all over every time Microsoft does a system update.
Most of the work of government does not need to be done. - Attributed to Ronald Reagan, under whose administration the government expanded, of course.
New When you're innovating at internet speed,...
publishing interfaces would only confuse the developers.

Where is that sign, again? :)

Alex

"Of course, you realize this means war." -B. Bunny
New I know the sign, and I endorse it :=)
Where each demon is slain, more hate is raised, yet hate unchecked also multiplies. - L. E. Modesitt, from his Recluse series
New D'oh
I had misread [link|http://arstechnica.com/paedia/n/net/net-2.html|page 2]. I had thought that they just used a hash to sign the file so that any change to the file broke linking. They don't. Instead they cryptographically sign the hash value. Only with access to the private key can you produce a new file which will link with the old.

So they can make reasonable patches.

It does raise questions about key management though.

Cheers,
Ben
     Good link on .NET - (ben_tilly) - (27)
         Just confirms it-who couldn't figure as much 1 or 2 yrs ago? -NT - (CRConrad)
         Stack-based security - (admin)
         A different .NET link, makes me sick - (bluke) - (3)
             Some get to be sharks... - (ben_tilly)
             Blink blink - (wharris2)
             Dunno if he really believes it, but he has a reason to gush - (CRConrad)
         .NET Visual Studio - (tuberculosis) - (1)
             ...has at least one security-related compiler bug already - (CRConrad)
         Sounds about like I expected - (tonytib) - (8)
             Something nasty that I just realized (oops, I was wrong) - (ben_tilly) - (5)
                 Not sure you are right about the linking part. - (a6l6e6x) - (4)
                     Getting interfaces right - (wharris2) - (2)
                         When you're innovating at internet speed,... - (a6l6e6x) - (1)
                             I know the sign, and I endorse it :=) -NT - (wharris2)
                     D'oh - (ben_tilly)
             Re: Side note for Ben - (a6l6e6x) - (1)
                 You have to understand the context - (tonytib)
         I would miss dynamic typing. - (static) - (9)
             Take your pick - (ben_tilly) - (8)
                 Please, sir... - (static) - (7)
                     Very simple - (ben_tilly) - (6)
                         Versions peresnt during packaging? - (Arkadiy) - (3)
                             No - (ben_tilly) - (2)
                                 To do library versioning dynamically... - (neelk) - (1)
                                     Huh, interesting - (ben_tilly)
                         Yes, it makes sense now. - (static)
                         Specify prefered libraries up front - (tablizer)

This is nothing compared to Grand Theft Auto III, because you can't steal a taxi cab, pick up somebody, then drive into the ocean with him.
70 ms