OT: on IDEs and code writing on steroids

BCS none at anon.com
Thu May 21 23:54:17 PDT 2009


Hello Yigal,

> BCS wrote:
> 
>> It is my strongly held opinion that the primary argument for dlls and
>> friends, code sharing, is attempting to solve a completely
>> intractable problem. As soon as you bring in versioning, installers
>> and uninstallers, the problem becomes flat out impossible to solve.
>> (the one exception is for low level system things like KERNEL32.DLL
>> and stdc*.so)
>> 
> so, in your opinion Office, photoshop, adobe acrobat, can all be
> provided as monolithic executables? that's just ridiculous.

Office, I wouldn't mind. Photoshop, it's got lots of plugins (#1) right? 
adobe acrobat, it might as well BE a plugin (#1 again).

> My work uses this monolithic model approach for some programs and this
> brings so much pain that you wouldn't believe.

How exactly?

> just so you'd understand the scale I'm talking about - our largest
> executable is 1.5 Gigs in size.

That's point #3 and I'd love to known how you got that big. (I guess I should 
add a #5: Resource only DLLs.) 

> you're wrong on both accounts, DLL type systems are not only the
> common case, they are the correct solution.

I didn't say that aren't common. I said it's a bad idea IMO. 

> the "DLL HELL" you're so afraid of is mostly solved by using
> jars/assemblies (smart dlls) that contain meta-data such as versions.
> this problem is also solved on Linux systems that use package
> managers, like Debian's APT.

If you ignore system libraries like .NET its self, I'd almost bet that if 
you look at it long enough those systems, from a piratical standpoint, are 
almost the same as installing dll/so files to be used only by one program. 
That is that the average number of programs/applications that depend on any 
given file is 1. And as I all ready pointed out, I'll burn disk space to 
get the reliability that static linkage gets me.

I seem to recall running into this issue with .NET assemblies and .so files 
within the last year. 

> monolithic design like you suggest is in fact bad design that leads to
> things like - Windows Vista running slower on my 8-core machine than
> Window XP on my extremely weak laptop.

If the same design runs slower with static linkage than with dynamic linkage, 
then there is something wrong with the OS. I can say that with confidence 
because everything that a static version needs to do the dynamic version 
will also, and then a pile more.





More information about the Digitalmars-d mailing list