comp.lang.ada
 help / color / mirror / Atom feed
From: stephe_on_the_web@toadmail.com
Subject: Re: Working with incompetent adaists / unsafe typing war story
Date: Thu, 16 Feb 2006 05:20:34 -0500
Date: 2006-02-16T05:20:34-05:00	[thread overview]
Message-ID: <uwtfvwqod.fsf@acm.org> (raw)
In-Reply-To: VeRIf.30362$3V4.15715@trnddc06

Anonymous Coward <anonymous@coward.org> 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



  parent reply	other threads:[~2006-02-16 10:20 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-16  2:15 Working with incompetent adaists / unsafe typing war story Anonymous Coward
2006-02-16  8:32 ` Jean-Pierre Rosen
2006-02-16 16:10   ` Peter C. Chapin
2006-02-17  9:27   ` Jerome Hugues
2006-02-17  9:48     ` Stephen Leake
2006-02-16 10:20 ` stephe_on_the_web [this message]
2006-02-17  4:19   ` Anonymous Coward
2006-02-17  5:25     ` Jeffrey R. Carter
2006-02-19  3:58     ` adaworks
2006-02-19 15:28       ` Stephen Leake
2006-02-16 20:17 ` Ludovic Brenta
2006-02-17  4:25   ` Anonymous Coward
2006-02-17 23:09     ` Ludovic Brenta
2006-02-16 23:57 ` adaworks
     [not found]   ` <7glav1paqvs5oco9nn9s5gknlimfu8aglg@4ax.com>
2006-02-17 13:39     ` Marc A. Criley
2006-02-17 18:55   ` Simon Wright
2006-02-17 20:43     ` Pascal Obry
2006-02-17 21:02     ` Stefan Lucks
2006-02-17 21:04       ` Pascal Obry
2006-02-18  9:58       ` Simon Wright
2006-02-17  1:57 ` Brian May
2006-02-17  5:29   ` Jeffrey R. Carter
2006-02-17 12:43     ` Simon Clubley
2006-02-17 19:18       ` Jeffrey R. Carter
2006-02-20  4:44   ` Anonymous Coward
2006-02-20  7:42     ` Brian May
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox