Python's Lisp heritage

James J. Besemer jb at cascade-sys.com
Sun Apr 21 03:07:14 EDT 2002


Carl Banks wrote:

> Computer programming is not science.
>
> The study of algorithms, their properties, etc., is science.
> Implementing a quicksort algorithm is not science, but studying its
> properties is.
>
> As long as we restrict computer science to the study of computer
> algorithms and such, then computer science is science.  If we use
> computer science as a sexy synonym for computer programming, then it
> isn't.

I agree 100% with all the above.

And there are other software related endeavors that may fairly be considered
science besides the ones listed above.

I also agree with someone else's remark that a lot of the "measurements" promoted
in the guise of "science" are mere numerology.

> Don't even get me started on whether is computer engineering is
> engineering.

Depends on the nature of the work.

The vast bulk of digital design hardly qualifies, even if computers play a role
in the design.  However, I think the few and select teams of people who design
computers on a chip from whole cloth include individuals who may fairly be called
"computer engineers".  Some from-scratch OS development similarly can fairly be
called engineering.

What I count as "software engineering" in my own background includes mostly
"embedded" programming -- software tightly coupled with special purpose
hardware.  At times this kind of programming may fairly be characterized as real
engineering.  Timing constraints, system performance and how software affects
external events is central to the design task.  I worked for a while as a
contractor at one of HP's printer divisons.  Everything was picoliters, meters
per second, megabytes per second and microseconds.  I routinely used algebra,
trigonometry and physics in the software design or specifications.

But yeah, most computer programming (including a fair amount of embedded work) is
more of a routine task and can hardly be considered engineering.

--jb

--
James J. Besemer  503-280-0838 voice
http://cascade-sys.com  503-280-0375 fax
mailto:jb at cascade-sys.com







More information about the Python-list mailing list