From: jimad@microsoft.com (Jim Adcock)
Subject: Re: feedback wanted on appropriate OOPL
Date: 29 Dec 92 23:07:13 GMT
Organization: Microsoft Corporation

In article <1992Dec29.011354.5929@informix.com> cshaver@informix.com (Craig Shaver) writes:
|In article <1992Dec28.173620.14793@microsoft.com> jimad@microsoft.com (Jim Adcock) writes:
|>2) Having just done an interview with a interview candidate who has
|>an MS in CS, who claimed C/C++ as a primary language, but who couldn't 
|>program simple problems in a straight-forward manner, using style
|>appropriate for the C/C++ languages, I must again express frustration
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|I have used both Smalltalk and C++ and do not agree with your conclusions
|without concrete evidence to the contrary.  Could you please elaborate
|on what style is appropriate for c/c++?  It would be a help to have
|some references to material that clarifies the differences in OO style.

I am expected to provide you with concreate evidence about an
interview candidate ???  The kinds of problems I'm talking about
are people who don't know the difference between pointers and
references and pass-by-value, don't understand const, don't know 
how to program without GC, can't get pointers right, don't get 
their Ctors and Dtors right, who want to do everything on the heap, etc....

|>at CS departments who don't teach students the skills they need to
|>get a job.  C is the mainstream programming language for the software
|>industry.  C++ is the mainstream OO programming language for the
|>software industry.  Non-mainstream languages are fine for PhD candidates
|>who plan to remain in acedemia.
|
|I thought COBOL was the mainstream language?  

It was.  So was mainframes.

|Could you support this 
|set of statements with some examples? Evidence? 

I have done so many times and will again.  Consider, for example one
measure, namely the number of references in the Computer Select Database
in 1992 of articles from the major computer magazines.  Number of
references to various languages we have been discussing:

C			39498
C++		 8148
COBOL		 6179
Smalltalk	  841

Same source, number of software products listed referencing each 
above language:

C			 9748
COBOL		 3222
C++		  572
Smalltalk	   39

If you look at a large number of languages over time, you see C/C++
gaining [C++ strongly] and leading the pack by a large margin.  Then
comes a middle grouping of a large number of historical languages --
pascal, fortran, cobol, ... then bringing up the rear is a very large
number of "esoterica" languages that never seem to reach critical
mass for some reason or another -- typically because they never get
even one stable efficient implementation on even one popular machine.

Other measures are relatively easily available from a number of 
subscription "industry watch" services.  Check out the number of
compilers that get sold for what languages, and by who, for example.

Other simple "measures" are to go to a good computer book store and
count the number of texts available for different languages.  C++
has 100+ texts in print, for example.

|>3) Neither 1) nor 2) above is as important as having students who 
|>know and can perform the necessary applied mathematics.
|
|This is a very broad statement.  Could you give an example please?

Sure.  If you must write a bubble sort you ought to at least be able to
quickly determine its O(n^2).  You ought to be able to reduce 
standard sums, or at least know that they can be reduced.  If you
do engineering you should know complex numbers ....  Most people
need to know statistics so that they can handle at least the
rudiments of quality control, or at least realize when someone
else is screwing it up, etc.

Newsgroups: comp.lang.c++