home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.c++
- Path: sparky!uunet!microsoft!hexnut!jimad
- From: jimad@microsoft.com (Jim Adcock)
- Subject: Re: Garbage Collection for C++
- Message-ID: <1992Aug18.012402.18296@microsoft.com>
- Date: 18 Aug 92 01:24:02 GMT
- Organization: Microsoft Corporation
- References: <1992Aug14.021547.15215@news.mentorg.com> <TMB.92Aug14130323@arolla.idiap.ch> <1992Aug15.015237.17711@tfs.com>
- Lines: 40
-
- In article <1992Aug15.015237.17711@tfs.com> eric@tfs.com (Eric Smith) writes:
- |Explicit memory management functions have traditionally favored memory
- |economy over speed. That was because memory was very expensive. But
- |now that memory prices have fallen through the floor, e.g. from $4000
- |per megabyte in 1983 to $25 per megabyte in 1992, it no longer makes
- |much sense to waste cpu time to save memory.
-
- I disagree. Today's computer user now uses that extra memory to support
- GUI and multiple programs running simultaneously, such that proper maintainence
- of the working set remains as large a problems as ever. If anything, future
- needs to query over the entire space of a project, a division, a company, or
- the world, makes maintainence of the working set a bigger problem than ever.
- |The main advantage of GC is that it simplifies programs and makes them
- |easier to maintain. This is a very substantial advantage, worth
- |sacrificing a lot for. But, if non-GC memory management can obtain
- |nearly the same advantage, without the disadvantages of GC, then the
- |sacrifices aren't necessary.
-
- Conversely, if GC'ed memory management can obtain the advantages of non-GC
- memory management, without the disadvantages, then sacrifices aren't necessary.
-
- |So, the question would be, how can non-GC
- |memory management gain the advantage of simplifying programs and making
- |them easier to maintain, to approximately the same extent that GC gains
- |that advantage?
-
- On the contrary, the question is why not simply implement modern GC
- schemes such as generational scavenging which do not require a sacrifice?
-
- |One answer would be that modern programming languages, using OOP and
- |genericity, make complexity so much easier to manage that the complexity
- |of non-GC memory management is no longer anywhere near as big a problem
- |as it was with older languages. OOP and genericity have almost unlimited
- |potential to simplify complex software, to the point where the additional
- |simplification provided by GC might become superfluous.
-
- On the contrary, OOP and genericity have almost unlimited potential to
- simplify complex software, to the point where C++ programmers now spend
- almost all their time tracking down pointer bugs.
-
-