Path: utzoo!attcan!uunet!husc6!bloom-beacon!gatech!mcnc!thorin!piglet!coggins From: coggins@piglet.cs.unc.edu (Dr. James Coggins) Newsgroups: comp.lang.c++ Subject: Re: Managing C++ Libraries: C++ too complex !! Message-ID: <5278@thorin.cs.unc.edu> Date: 12 Nov 88 15:51:39 GMT References: <179@tityus.UUCP> <5217@thorin.cs.unc.edu> <184@tityus.UUCP> Sender: news@thorin.cs.unc.edu Reply-To: coggins@cs.unc.edu (Dr. James Coggins) Organization: University Of North Carolina, Chapel Hill Lines: 79 > (This tirade cuts close to home. You are a bit out of line here.) > (and it's "Ph.D.") My comment about Ph.D.'s (sp -- stand corrected) was NOT intended to be derogatory in any way, shape or form. I regretted turning up the burners on this soon after I posted the reply. I shouldn't have let it tick me off the way it did. What it was questioning is the intelligence level that is required for a person to utlize the task [tool?] at hand. Although it would be fantastic for more people to have higher intelligence this is not always the case. Hence an increase in the base level of intelligence for a person to comprehend and use any given tool reduces the set of people that can use the tool. [some examples deleted] Aha! now I see where we differ. I think you are associating "intelligence of the user" with "ability to use a crummy user interface", which is a serious error. The Mac has a unified interface based on a simple and pervasive metaphor. This beautiful design is what makes it so easy to learn, not the intelligence or lack thereof in the user community. Even Ph.D.s (especially Ph.D.'s?) find the Mac easier to use than the PC. Being able to use a PC does not indicate superior intelligence, but it might indicate motivation, hard work, time on your hands, ... . The problem is not in ourselves, but in our software user interfaces. The point that I was trying to make is that some people may be able to pickup and understand the C++ language easily, but most average programmers will not. I think that there are many things that could be done to make an integrated C++ environment better, but raising the "membership dues" of intelligence does not help to broaden the usage of the language. I can agree that learning to use C++ effectively is challenging right now, but this is not the fault of the language and not an indication of a C++ Programmer Master Race. The problem is that we lack educational materials right now. Just like when structured programming came out. The Ph.D.s had to figure out what SP really meant and what it could do, then the educational material appeared, and now we don't preach SP any more because it is accepted from the beginning. Object-Oriented design is proceeding the same way. C++ has found explosive acceptance even though the language is still evolving because OOP clearly is an improvement in technique. We Ph.D.s are working out what OOP really is and how to use it. The educational material has not yet appeared. You business types have jumped on the right bandwagon (and you are to be congratulated on your forward-looking management decisions), but being in the forefront has certain tradeoffs. Getting there before the educational material has been developed is one of them. In sum, when we get some reasonable teaching material out there, Joe Average Programmer will have no trouble learning OOD or C++. I find it difficult to read code that uses calls where the parameters may or may not be changed in the calling procedure. Also, if functions can come from any base class, and the resulting code executed can differ depending on the specific type of parameters passed, it results in a more "multi-dimensional" understanding of what a call is going to do. Basicially, there is a lot more, in terms of underlying behavior, that can be happening in a C++ program. You may not always be aware of it. Part of the necessary tool set for a C++ programming environment is a "class browser" that would ease or eliminate these problems that I agree can be annoying. The research community is fully aware of them and there are people working on such tools now. (those of you working on such tools are encouraged to edit the subject line and jump right in) --------------------------------------------------------------------- Dr. James M. Coggins coggins@cs.unc.edu Computer Science Department UNC-Chapel Hill Not a member of the putative Chapel Hill, NC 27514-3175 C++ Master Race. ---------------------------------------------------------------------