Newsgroups: comp.ai,comp.lang.misc,comp.programming,comp.software-eng
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!newshost.marcam.com!usc!elroy.jpl.nasa.gov!decwrl!netcomsv!netcom.com!netnews
From: scottw@advsysres.com (Scott A. Whitmire)
Subject: Re: A new approach to software engineering!
Message-ID: <netnewsD1CDDF.DIJ@netcom.com>
Sender: netnews@netcom.com (USENET Administration)
Reply-To: scottw@advsysres.com (Scott A. Whitmire)
Organization: Advanced Systems Research
X-Newsreader: IBM NewsReader/2 v1.02
References: <D0wsx8.6zC@prl.philips.nl> <netnewsD18uuF.Ju1@netcom.com> <1994Dec23.115040.4648@driftwood.cray.com> <3dghdq$m58@nkosi.well.com>
Date: Sun, 25 Dec 1994 00:58:27 GMT
Lines: 70
Xref: glinda.oz.cs.cmu.edu comp.ai:26072 comp.lang.misc:19734 comp.programming:13653 comp.software-eng:28932

In <3dghdq$m58@nkosi.well.com>, djello@well.sf.ca.us (Darius Bacon) writes:
>chuckm@willow129.cray.com (Charles E. Matthews) writes:
>> From a general consideration the goal of allowing non-programmers to write
>> computer programs has been attempted by many different companies with little
>> success.
>
>Perhaps in the successful cases the result is no longer considered
>programming, or the users no longer considered nonprogrammers?  I'd nominate
>spreadsheets in the first instance and Fortran in the second.  (Fortran was
>originally considered 'automatic programming'.  In a way, it was.)  Maybe
>flexible software packages and high-level languages are evolving towards
>convergence.

It has been said that the most popular programming language in existance today
is the macro language for Lotus 1-2-3.  By definition, even entering formulas
into a spreadsheet is programming.  Several companies have put their spreadsheets
under configuration control because the domain experts were getting the formulas
wrong, and making decisions on bad data.

Programming is programming, whether the langauge is declarative, procedural, or
object-oriented (which is a lot of both).

I didn't say this exactly, but the most important skill for a software engineer
is problem solving...the kind of skills that make story problems in calculus and
physics so much fun.

One other thing to consider.  Is it the best use of a physicist's time for them 
to be writing applications, in any language?

>
>> - FOR EACH APPLICATION DOMAIN, YOU DEVELOP A TAILOR MADE PROGRAMMING
>LANGUAGE.
>>
>> I admit that there is value to doing this. You can focus your attention on
>> the aspects of the language which are highly pertinent to your problem
>domain.
>> The main problem which needs to be handled is this. What happens when you
>> begin looking at a new problem within your domain which is very similar to
>> existing problems but different enough that it requires a little change to
>> your application domain language to handle it? And then the next, and the
>> next...
>

That, and you'd need to learn a new language for every new domain.  It's tough
enough to learn the semantics and idioms of new domains as it is...

>
>Good special-purpose languages tend to be declarative in flavor probably
>just because a lot of knowledge about what to do is built in.  Another
>reason is that they're built only when no existing language does the job,
>and conventional procedural languages are biased against expressing
>declarative thoughts.

Mostly, special-purpose languages tend to be declarative because declarative
languages are easier to write.  The translator (compiler or interpreter)
is doing little more than filling in variable values, not creating machine
instructions.

By the way, this is the most intelligent discussion I've seen in this group.
Congratulations.


Scott A. Whitmire             scottw@advsysres.com
Advanced Systems Research     
25238 127th Avenue SE         tel:(206)631-7868
Kent Washington 98031         fax:(206)630-2238

Consultants in object-oriented development, network-based 
applications, and software metrics.

