[comp.lang.misc] Languages & cultures

billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 ) (03/21/90)

From jdudeck@polyslo.CalPoly.EDU (John R. Dudeck):
> I really think that those who are opposed to C, pointers, and all that
> goes with it, are more motivated by a desire to have programming done
> by grunt laborers in a DP shop environment, and have better productivity
> than has been had in the past with Cobol and Basic.  Those who like
> C are more of the craftsman type that like to produce finely wrought
> masterpieces.

   As one of the people opposed to C, pointers, and all that goes with
   it, (and very much preferring the Mac and Ada over the PC and C, as
   you correctly guessed earlier), I would partially disagree with this.

   Regarding the level of professional skill, it is and has long been 
   my position that professional software engineers should have, at a 
   MINIMUM, a Bachelor's degree (and preferably a Master's degree) in 
   Computer Science and/or Software Engineering.  One of the problems 
   associated with introducing Ada into previously COBOL-dominated 
   workcenters is the need to give the workers enough training to 
   convert them from raw COBOL programmers (with their assumption of 
   operating system dependence, their focus on patching and repatching, 
   their naivete concerning the software lifecycle, and their lack of
   awareness of fundamental principles of Computer Science) into Ada 
   Software Engineers.  This typically requires three training phases: 
   Introduction to Software Engineering, Introduction To Computer Science,
   and finally Software Development using Ada -- a far cry from insisting
   on "grunt laborers"!!

   The difference is between those who recognize the need for programming
   in the large and the economic benefits of operating collectively rather
   than individually, and those who seek to maintain a one-person business
   forever despite its limitations and relative inefficiencies.  Those who
   work in a programming-in-the-large atmosphere are at least as oriented
   toward quality craftsmanship as those who prefer a programming-in-the-
   small environment -- it's just that the former group recognizes the 
   need to work together in order to efficiently produce a higher-quality 
   product, and in order to produce extremely large products which simply
   cannot reasonably be produced in any other way. 


   Bill Wolfe, wtwolfe@hubcap.clemson.edu
 

reino@cs.eur.nl (Reino de Boer) (03/21/90)

billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 ) writes:

>   Regarding the level of professional skill, it is and has long been 
>   my position that professional software engineers should have, at a 
>   MINIMUM, a Bachelor's degree (and preferably a Master's degree) in 
>   Computer Science and/or Software Engineering.  One of the problems ...
	
or, should have, at a
MINIMUM, knowledge and experience comparable to the level of knowledge
and experience expected from a Bachelor's degree (and preferably a
Master's degree) in ....
[The key word here being `expected']

>   ... Software Engineers.  This typically requires three training phases: 
>   Introduction to Software Engineering, Introduction To Computer Science,
>   and finally Software Development using Ada -- a far cry from insisting
>   on "grunt laborers"!!

I don't see what Ada has to do with the (otherwise not far from the
truth) points you're making. In the above we could replace Ada by `the
language chosen for development'.

Reino
-- 
Reino R. A. de Boer
Erasmus University Rotterdam ( Informatica )
e-mail: reino@cs.eur.nl

preston@titan.rice.edu (Preston Briggs) (03/22/90)

In article <8440@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu writes:
>From jdudeck@polyslo.CalPoly.EDU (John R. Dudeck):
>> Those who like
>> C are more of the craftsman type that like to produce finely wrought
>> masterpieces.

Hmmm.

>   Regarding the level of professional skill, it is and has long been 
>   my position that professional software engineers should have, at a 
>   MINIMUM, a Bachelor's degree (and preferably a Master's degree) in 
>   Computer Science and/or Software Engineering.

I'd say more even training/learning is better.  Despite a bachelor's and
years of personal and industrial programming, I've learned a lot in
grad school.

>   The difference is between those who recognize the need for programming
>   in the large and the economic benefits of operating collectively rather
>   than individually, and those who seek to maintain a one-person business
>   forever despite its limitations and relative inefficiencies.

Hmmmmm.  I believe I'm more efficient (bang for the buck) than any large
group of programmers.  I also believe I can write cleaner, better organized,
better documented programs than a large group of people.  

On the other hand, there's a limit to the size job I can handle in a
reasonable amount of time.  Additionally, working with others is helpful
in many ways: other ideas and viewpoints, negative feedback to prevent
absurd rationalizations (Keith Cooper says "You should work with people
who have good taste").

I also try to build well-crafted programs.  My interpretation is something
like: 

	A clear, straightforward design
	The right algorithms
	Attention to details

Naturally, all these are subject to "taste."  Also, the operative word
is "try."  I'm a better programmer than I used to be, but I still
write "ugly" programs.

Oh yeah, languages...
Well, for Unix I write C (with garbage collection).  
I don't think there's an alternative.
At home I use WEB (Pascal + TeX).  For some experiments, I'm trying SML.
Someday, I'd like to try projects in Clu and Oberon.

--
Preston Briggs				looking for the great leap forward
preston@titan.rice.edu

jamiller@hpcupt1.HP.COM (Jim Miller) (03/22/90)

I think that anyone writing to notes (or writing any book, mag, or
letters to the editor) should have a PhD in both Philosophy and
English, at least.  

  jim - that sure leaves me out - miller

archer@elysium.sgi.com (Archer Sully) (03/23/90)

In article <5948@brazos.Rice.edu> preston@titan.rice.edu (Preston Briggs) writes:

>In article <8440@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu writes:
>>From jdudeck@polyslo.CalPoly.EDU (John R. Dudeck):
>>> Those who like
>>> C are more of the craftsman type that like to produce finely wrought
>>> masterpieces.

>Hmmm.

>>   Regarding the level of professional skill, it is and has long been 
>>   my position that professional software engineers should have, at a 
>>   MINIMUM, a Bachelor's degree (and preferably a Master's degree) in 
>>   Computer Science and/or Software Engineering.

>I'd say more even training/learning is better.  Despite a bachelor's and
>years of personal and industrial programming, I've learned a lot in
>grad school.

>>   The difference is between those who recognize the need for programming
>>   in the large and the economic benefits of operating collectively rather
>>   than individually, and those who seek to maintain a one-person business
>>   forever despite its limitations and relative inefficiencies.

>Hmmmmm.  I believe I'm more efficient (bang for the buck) than any large
>group of programmers.  I also believe I can write cleaner, better organized,
>better documented programs than a large group of people.  

Are you making a connection between your ability to write good code
and grad school?  I hope not.  I have had to look at large amounts of
grad school code.  It has been of uniformly low quality, although 
often expressing interesting ideas.

Archer Sully 	      |  I'm 27 years old.  That's 54 in Nerd Years
(archer@esd.sgi.com)  | 	-- Keith Rienzi

preston@titan.rice.edu (Preston Briggs) (03/23/90)

In article <5631@odin.corp.sgi.com> archer@elysium.sgi.com (Archer Sully) writes:
>In article <5948@brazos.Rice.edu> preston@titan.rice.edu (Preston Briggs) writes:

>>Hmmmmm.  I believe I'm more efficient (bang for the buck) than any large
>>group of programmers.  I also believe I can write cleaner, better organized,
>>better documented programs than a large group of people.  

>Are you making a connection between your ability to write good code
>and grad school?

No.  I meant something closer to "one person can do a better job than
many people."  A group have people will have communication and management
problems to deal with.  An individual should be able to avoid these!

Arguments for programming teams might run along the lines of:
	Finishing the product in time for it to be economically interesting.
	Distribution of overhead (building, computers, insurance, ...)

(On the other hand, considering grad student pay, the "bang for the buck"
 argument may still hold. :-)  Remember also that grad students are supposed
 to be working on their thesis.  Any code produced is usually a by-product,
 perhaps even toxic waste.  You get what you pay for.)

My earlier comments about grad school were intended to imply that I feel
like I've learned a lot.  It's been worth my while.

--
Preston Briggs				looking for the great leap forward
preston@titan.rice.edu

news@awdprime.UUCP (USENET News) (03/23/90)

In article <8440@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu writes:
>   Regarding the level of professional skill, it is and has long been 
>   my position that professional software engineers should have, at a 
>   MINIMUM, a Bachelor's degree (and preferably a Master's degree) in 
>   Computer Science and/or Software Engineering.  One of the problems 
This whole attitude makes me sick.  If you are going/went to college
that is fine with me but just because I wish to take a different route
to gain knowledge don't shove your pompous self-righteous attitude in
my face.

I'm glad that not everyone in the world has the same attitude as you,
some people are a willing to let the facts speak for themselves rather
then making judgements based on a worthless piece of paper.  I thank
those people and hope more will do the same.

Now for your (and my) edification I would like to close with a quote
from _The Little LISPer_ by Daniel Friedman and Matthias Felleisen:

	...In engineering, as in other creative arts, we must
	learn to do analysis to support our efforts in synthesis.
	One cannot build a beautiful and functional bridge without a
	knowledge of steel and dirt...  Similarly, one cannot build a
	beautiful computer system without a deep understanding of how
	to "previsualize" the process generated by the procedures one
	writes.

-- sanders
For every message of the day, a new improved message will arise to overcome it.
Reply-To: cs.utexas.edu!ibmaus!auschs!sanders.austin.ibm.com!sanders     (ugh!)