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=0.1 required=5.0 tests=BAYES_05,FREEMAIL_FROM, INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,b0d569080889afd6 X-Google-Attributes: gid103376,public From: Roy Grimm Subject: Re: A question for my personal knowledge. Date: 1999/05/11 Message-ID: <37387BC6.D1737672@bigfoot.com>#1/1 X-Deja-AN: 476702705 Content-Transfer-Encoding: 7bit References: <1VEZ2.1515$I51.88140@carnaval.risq.qc.ca> <37372A84.641F2133@bigfoot.com> <7h8oe8$2js$1@cf01.edf.fr> <37382B0C.A95B6745@bigfoot.com> <7h9o21$9v4$1@nnrp1.deja.com> X-Accept-Language: en Content-Type: text/plain; charset=us-ascii Organization: Me, Myself and I (Not representing my company) Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 1999-05-11T00:00:00+00:00 List-Id: Robert Dewar wrote: > > Well I won't disagree with your *should* here (indeed I think > they should have learned Ada as part of this training, since it > is a much better introduction to these critical concepts). > > But you are in my experience quite wrong to think that learning > a new language does not help. On the contrary, switching to a > new language often illuminates principles that are hard to > understand in a language that does not support or is actively > hostile to these principles. I would concede this point. I learned much when I went from GW-BASIC to Turbo Pascal lo those (not too) many years ago. Of course, that was before I took any "real programming classes". I spent much of my time in the "Intro to Programming" class reviewing what I had already learned. > For example, Fortran programmers were quite puzzled by EWD's > letter to the ACM on gotos, but this was totally familiar to > all Algol programmers. > > Once you understand the details of separation of spec and > implementation, you can indeed apply this even in languages > which are really not very hospitable to the notion, but the > experience I have seen is that typical C programmers do NOT > have a good understanding of this separation, and learning > Ada is very helpful in gaining this understanding. > > Roy, what is your experience with Fortran or C programmers > switching to Ada, does it match this? (indeed, do you have > direct experience with projects making such a switch?) I've seen that some experienced programmers (at least half of them) will not use many of the features of Ada. In some of the Ada projects here, I still see everything being laid out as if it was being written in C. I suspect that is more an effect that people just learn the Ada syntax they need or want and ignore the rest. They try to force the proverbial square peg into the round hole. Fortunately, while this attitude is not uncommon, it is not as pervasive as one might fear. I have seen some projects (or parts of projects) which have truly adopted the Ada culture as well as the language. You could almost call the code elegant. The specifications of the packages are really compact and efficient with minimal use of global variables and procedures. Package bodies are as encapsulated as they can be. All the relevant local data is kept locally instead of being brought in from global packages. The packages have been well organized and the code is easy to read. It's truly a joy to work on those projects. The new engineers on the project (experienced programmers or college grads) tend to pick up this attitude. The dedicated C style programmers often times transfer to other departments where the culture is more oriented to the C style (or in fact a C based project...). I think it really boils down to the attitude of the individual. They can either shape the language around their attitude or they can shape their attitude around the language. And the individual attitudes many times draw upon the collective attitude of the team. The attitudes of the lead engineers and other "gurus" can have a great deal of influence over the style of the code being written. Roy -- "I want you to do it right as fast as you can, not fast as right as you can." -- Arthur Collins, founder Collins Radio