From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,1042f393323e22da X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,1042f393323e22da X-Google-Attributes: gid1014db,public X-Google-Thread: 109fba,1042f393323e22da X-Google-Attributes: gid109fba,public From: kaz@vision.crest.nt.com (Kaz Kylheku) Subject: Re: Any research putting c above ada? Date: 1997/04/30 Message-ID: <5k88b3$340@bcrkh13.bnr.ca> X-Deja-AN: 238489715 References: <5ih6i9$oct$1@waldorf.csc.calpoly.edu> <5k60au$gig@bcrkh13.bnr.ca> <33674E4C.446B@cca.rockwell.com> Organization: Prism Systems Inc. Newsgroups: comp.lang.c++,comp.lang.c,comp.lang.ada Date: 1997-04-30T00:00:00+00:00 List-Id: In article <33674E4C.446B@cca.rockwell.com>, Roy Grimm wrote: >> What is a computer-science view and how is it incompatible with a software >> engineering view? Do I detect a slight bias against computer science folk? > >If I'm not mistaken, you may have just illustrated his point. I'm not sure how, by asking a mere question! >I was trained in the computer-science paradigm. When I arrived at >Rockwell and started working on engineering projects, I was astounded to >see the difference between how I had done things before and how I had to >do them here. At my previous position, we cranked out code. Here, we >design and build software. The focus here is on the design process and >how we can build software to meet the design. At my former employer, we >were simply asked to crank out some code that did the job. If it wasn't >quite right, we'd throw some fixes into it and release it again, and >again, and again until we either got it close enough or the buyer wanted >something completely different. That kind of slip shod programming >doesn't fly very far here. That is slip-shod, but it doesn't seem to relate to my own computer science background and experiences. What was the focus of your computer science training? Was it largely theoretical, or did it involve a lot of ``hands on'' work? I remember one school project that I never even implemented. It was just a paper outlining requirements and design. There weren't many software engineering courses in the program, but there were two tough ones. One two-semester long team project, and a course focusing on various topics in software engineering. I've never been encouraged to just code something; design was always the focus. We learned to admire an elegant design, rather than implementations. There were courses in which one cranked out code; the upper level courses were very oriented toward implementation, although there was a large gap between the implementation assignments and the ``theory'' matter which was the subject of examinations making up most of the mark. The assignments did encourage a lot of coding in little time simply because of the time constraints of the curriculum and the overall hurried pace. It could well be that some people took this too seriously, and got the wrong message as a result. Throughout school, I hustled my own contract work. I've always insisted on going through a requirements analysis with the clients, as well as walking through some of the less technical aspects of the design. I thought that this was what computer scientists were supposed to do, and since I was trying to become one, I emulated the behavior. I actually find that I even looked for ways in which computers can be _avoided_ rather than blindly advocating their use for every problem or subproblem. You don't just throw code at everything in sight! However, over the years I've had the chance to talk to a few graduates from other computer science programs and was surprised at the diversity of experiences. One student complained that his whole undergraduate career was ``all theory'' geared toward further studies. He never got to do any projects involving real implementation. He claimed to have gained next to no experience with things like networking, graphical interfaces or concurrent programming. I was shocked when he revealed to me that he allegedly studied at MIT! It's hard to say anything about the nature of computer science training, since it seems to vary a great deal from institution to institution. >> Have you ever seen code written by engineers with no understanding of >> computer science? :)) > >I have. Let me tell you, the code is atrocious. However, it is only I was only joking, and playing on the multiple meanings of ``engineer''. It's clear that the discussion is about software engineers, not civil or electrical engineers! :) These latter guys tend to write 500 line procedures with repeated code that is not factored into subprograms. (This is just an observation based on a limited sample, not meant to generalize to all engineers. :) >slightly worse that code written by "computer scientists" with no >understanding of software engineering. In both cases, I find that the >code is hacked together to fit what the person felt the design should >be. The only real difference is that the computer scientis uses more >efficient algorithms than the engineer. How is that? Are you saying that the computer scientist had a very rigid design, and hacked the code to fit that design rather than going through a more iterative approach to find a more suitable or flexible design? Or perhaps the fellow didn't spend enough time on the design, and ended up with something having a narrow scope. Rather than indicating no training in software engineering, that could simply indicate a training in old-style software engineering, whereby a team is supposed to go through through requirements, design, implementation and testing stages in one swoop, leaving behind a massive paper trail of inconsistent documents and inflexible program text.