OT: on IDEs and code writing on steroids

Yigal Chripun yigal100 at gmail.com
Thu May 21 21:59:08 PDT 2009


BCS wrote:

> I assert that very rare that a programs NEEDS to use a DLL/so/DDL type 
> of system. The only unavoidable reasons to use them that I see are:
> 
> 1) you are forced to use code that can't be had at compile time (rare 
> outside of plugins and they don't count because they are not your code)
> 2) you have lots of code that is mostly never run and you can't load it 
> all (and that sounds like you have bigger problems)
> 3) you are running into file size limits (outside of something like a 
> kernel image, this is unlikely)
> 4) booting takes to long (and that says your doing something else wrong)
> 
> 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)
> 
> In this day and age where HDD's are ready to be measured in TB and 
> people ask how many Gigs of RAM you have, *who cares* about code sharing?
> 
> 

so, in your opinion Office, photoshop, adobe acrobat, can all be 
provided as monolithic executables? that's just ridiculous.

My work uses this monolithic model approach for some programs and this 
brings so much pain that you wouldn't believe. Now we're trying to 
slowly move away from this retarded model. I'm talking from experience 
here - the monolithic approach does NOT work.
just so you'd understand the scale I'm talking about - our largest 
executable is 1.5 Gigs in size.

you're wrong on both accounts, DLL type systems are not only the common 
case, they are the correct solution.
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.

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.



More information about the Digitalmars-d mailing list