Path: utzoo!mnetor!uunet!tektronix!zeus!amadeus!karenc From: karenc@amadeus.TEK.COM (Karen Cate;6291502;92-734;LP=A;60sC) Newsgroups: comp.software-eng Subject: Re: Cynic's Guide to Software Engineering, part 3 Message-ID: <3370@zeus.TEK.COM> Date: 7 Apr 88 21:33:12 GMT References: <2636@Shasta.STANFORD.EDU> Sender: news@zeus.TEK.COM Reply-To: karenc@amadeus.UUCP (Karen Cate) Distribution: na Organization: Tektronix, Inc., Beaverton, OR. Lines: 80 In article <2636@Shasta.STANFORD.EDU> neff@Shasta.stanford.edu (Randall Neff) writes: > Monolingualism: the Religion and Curse of Software Engineering > >[Note: A, U, E are free variables and not meant to be any specific program] > >Joe's group/company prides itself on using programming >language A, ... operating system U, ... and text editor E... [which are] >about twenty years old. > ... >Now Joe's company only hires programmers with training and experience in >A,U,E, so they only get programmers that like A,U,E. > ... >Is the state of the software related to the choice and continued use of A,U,E? > ... >The basic conclusion is that a specific programming language is, at best, a >tool; imperfect, containing some subset of possible features. >...Unfortunately, monolinguists get >confused and seem to think that their language is the only true light. > As I was reading this, I saw the situation from another point of view. Let me try it this way: Joe's group/company started a large/complex project 10 years ago. At that time, they chose language A, operating system U, and text editor E. The product grew, and they hired people that could work with AUE. Now this product is still doing well, and other products in the same "family" are being developed, additional "follow-on" projects are released, etc. They now have 10 years of development time invested in AUE. Later products can leverage heavily on the previous, so they continue in the AUE tradition. Of course some of these developers are going to think AUE is wonderful... Look at all the great things they can do with it. They have spent the last 10 years becoming experts in it. They don't want to have to start all over. The company has thousands of man-hours invested in their product. It's the best there is. They don't want to start all over. Of course the state of the software is related to the choice of AUE. The software and environment are mutually reinforcing. When one develops a major system, one not only designs it to meet functional specs, but also to meet environment requirements and limitations. Application Q would be designed completely differenly in, say, Ada than it would be in, say, C. One might be able to make it look and act just the same (maybe...), but the data and control structures will be completely different. For example: COBOL will be around for a very long time. It has built up a lot of inertia. I happen to not like working with COBOL very much, but it is well suited to many applications for which it is used. Even if something new is faster/easier to develop, whole departments, office procedures, etc, are based on systems designed for COBOL. Not only would the all the code have to be converted, but chances are that the system would have to change, so procedures would have to change... The entire philosophy of the "world" would undergo a minor revolution. One can argue that the result would be better, but the cost is so high that companies are not willing to pay it. So old, slow COBOL still hangs around, and COBOL programmers are still being hired. I'm just not going to be one of them. We want to have libraries of common functions, and be able to re-use algorithms, etc, but we can't do that if we change environments every few years. I admit, I like the environment I'm using. I know it, I "think" in it, and I'm comfortable with it. We don't buy new cars every year or two just because the new ones are a little better. We like the car we chose five years ago, why change? I have a wonderful 20 year old car that runs better now than many new cars. It doesn't get as good gas mileage, it doesn't have emission control stuff, no beeps or buzzes to remind me to put on my seat belt, but it has almost 150,000 miles on it. I trust it to take me across the country without breaking down. I have the tools, and know how to fix it when it does break. There are advantages and disadvantages, but I'm not going to just junk all I have invested in it just because it's out of style. Karen A. Cate Tektronix Inc, Beaverton OR tektronix!amadeus!karenc -OR- karenc@amadeus.LA.TEK.COM