Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!apple!bionet!agate!ucbvax!hplabs!hp-pcd!hplsla!jima From: jima@hplsla.HP.COM (Jim Adcock) Newsgroups: comp.lang.c++ Subject: Re: Managing C++ Libraries: C++ too complex !! Message-ID: <6590071@hplsla.HP.COM> Date: 10 Nov 88 19:26:39 GMT References: <179@tityus.UUCP> Organization: HP Lake Stevens, WA Lines: 88 I have many sympathies with the comments here. The present implementations of C++ in a world of .h .c files, cc's, nmakes, etc. leaves MUCH to be desired. The requirements for efficient code development in C++ seem to overwhelm the traditional code development techniques used in Unix. I think we should admit C++ is still a little early in its life as a practical development tool. People who choose to use it need to realize they are jumping on the bandwagon early, and that this has advantages and disadvantages. Code reuse comes with code that was designed for reuse. Code that was not designed for reuse cannot be easily reused. Whatever language one uses, one needs to realize that reuseability has to be a deliberate design goal for any code to be reused on future projects. I think C++ IS going to require a higher skill level among its practitioners -- and I have no problem with that. Although I doubt all C++ programmers need to be geniouses at writing code. I think the time for "amatuer" code pounders is rapidly passing. ...Maybe its possible to assign the better programmers to write the code that it is hoped will be reused in the future -- and have the less experienced programmers write the "application specific" portion of the code -- that part of the code which is going to go into this project, and never used again. I believe organizations are going to have to head in a direction where a great portion of the code on each project is reused. Software is getting more and more competitive, -- and with windowing systems is getting more and more complicated. We are rapidly approaching a point where one simple cannot afford to start from scratch on each new project! I do believe that object oriented programming has much to offer in the way of offering reuseable software. If one's software is going to be used in a number of different applications, one will need to be able to offer a variety of different amounts of resources to different programs. Also if ones software is at all sophisticated it is going to be working on structures. So when one has to deal with a varying amount of structures, one is already dealing with much of what we call "object oriented programming." The other goodies of C++ go towards supporting this goal. I think people have got to realize the switch over to object oriented programming really is a major change from the function oriented programming that has done in the past, and is going to require major changes in how a project does business. For example, probably management is going to have to support the idea of spending extra time and money up front to fund the creation of some really world-class, clean, reuseable libraries oriented towards whatever task your organization specializes in. IE Quality doesn't come free initially -- it requires some up front investment -- which if done correctly rapidly pays itself back. If people in your organization don't realize or support the idea that object oriented programming really is a major change from how software was made in the past, then you're probably going to have problems. Mixing function oriented design techniques, and object oriented design techniques tends to lead to the problems of both.