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-Thread: 103376,cbb5b0d14f503195 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!newsfeed.gamma.ru!Gamma.RU!nntp.abs.net!news.abs.net!not-for-mail Newsgroups: comp.lang.ada Subject: Re: Working with incompetent adaists / unsafe typing war story References: From: stephe_on_the_web@toadmail.com Message-ID: User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (windows-nt) Cancel-Lock: sha1:KzhHs3mNwxO71zkzLSQBY0wTE/k= MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 16 Feb 2006 05:20:34 -0500 NNTP-Posting-Host: 66.159.65.1 X-Complaints-To: abuse@toad.net X-Trace: news.abs.net 1140085239 66.159.65.1 (Thu, 16 Feb 2006 05:20:39 EST) NNTP-Posting-Date: Thu, 16 Feb 2006 05:20:39 EST Xref: g2news1.google.com comp.lang.ada:2917 Date: 2006-02-16T05:20:34-05:00 List-Id: Anonymous Coward writes: > The understanding that most s/w developers seem to have is that they > design their own interfaces for packages they create, and users of > that ada spec only have a say in whether it meets standards and > requirements. That seems odd. My view is that interfaces are always negotiated between the implementers and the users, prefereably with input from the system architect; they both need the interface, but have different needs from it. The interface represents the best compromise they can achieve. > I always bend to accommodate types that other developers require > in their spec, because it's theirs. Maybe I'm wrong about what I > think is typical. It was explained to me that interfaces are > "shared" and are no more controlled by the author than the users > of it. They do have to be controlled; you can't let just anybody force a change to an interface. > That story is just a sample of what I encounter too frequently in the > Ada workforce. It seems a /majority/ of ada developers have no formal > Ada training, and are primarily C developers who picked up the Ada > syntax on the job. Consequently, ada principles are lost, and much of > the ada code out there is only slightly safer than C code (but still > safer primarily because even a poor Ada developer cannot write > ambiguous code like they can in C). In my experience, most programmers have inadequate training. Most of my current job is teaching people how to write good code. I find it helps that I'm also teaching them Ada; it helps them to abandon their preconceptions. It does give Ada a rep of being "hard to learn", but I can live with that. > I've only worked on four or so workplace ada projects. The projects > with elaborate coding standards produced substantially better code, > but I think it was just chance that those projects also had Ada > enthusiasts who used private types, as the coding standard did nothing > to promote private typing. I suspect that's a mindset issue; if you like elaborate coding standards, you are likely to also like private types and strong typing. > Do you folks encounter this frequently? Yes. > And what's the solution? Programmer education and strong project management. > Management can never appreciate the benefits of concepts like type > safety. That's not true. Managers need to be educated along with the programmers. The best way to educate managers is by demonstrating an impact on the bottom line. If you can show that good programming actually saves time and therefore money, they will listen. But you need support in getting that process started. That's when you need stories from others that have used good programming and saved money; check http://www.adaic.com for good stories. On the other hand, some programmers will never be "good", and you need to get them off your project. > Strong typing is incorrectly viewed as "academic" and counter to > progress. Unfortunately, we don't have a good database of examples to show this is wrong. In my job, I have sufficient clout that I can say "on my projects we use Ada, because it is the best language". However, other project managers don't want to be bothered with learning new tools, or training their staff; they are unconcerned about productivity. Since I work for the government, it's hard to use the profit motive. Instead, it helps to remember that our real purpose is to spend the taxpayer's money in the congress-critter's district. That explains why we often do things in the most inefficient way :). -- -- Stephe