comp.lang.ada
 help / color / mirror / Atom feed
From: Shark8 <onewingedshark@gmail.com>
Subject: Re: Q: type ... is new String
Date: Tue, 5 Jun 2012 21:09:17 -0700 (PDT)
Date: 2012-06-05T21:09:17-07:00	[thread overview]
Message-ID: <b80f8594-0dad-41e8-9dd0-4c08be4cf605@googlegroups.com> (raw)
In-Reply-To: <4fcdf97f$0$9521$9b4e6d93@newsspool1.arcor-online.net>

On Tuesday, June 5, 2012 7:20:14 AM UTC-5, Georg Bauhaus wrote:
> On 05.06.12 11:06, Dmitry A. Kazakov wrote:
> 
> >> (All I see is subsequences of 2#bbbb_bbbb#. For the AI part,
> >> I am told to produce the most likely information that the
> >> originator might have intended to send.)
> > 
> > Bad design. Don't do that.
> 
> How is producing the most likely information from a piece
> of data bad design? And who am I to say "I don't do that"?

PHP gives a good answer [by illustrating the wrong way to do it].

"*PHP is built to keep chugging along at all costs. __When faced with either doing something nonsensical or aborting with an error, it will do something nonsensical.__ Anything is better than nothing.
*Weak typing (i.e., silent automatic conversion between strings/numbers/et al) is so complex that __whatever minor programmer effort is saved is by no means worth it__."
From: http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

"And if you are in the business of creating or using magic then make it very clear what it expects where and when and why and where. Be as upfront as you possibly can and give proper warnings when something goes awry."
From: http://www.pelshoff.com/2012/04/in-favour-of-typing

What you're asking with the "producing the most likely information" question is exactly summed up in the emphasized portions of the first quote. The second quote {being more about the internal codebase, but still applicable} could easily be rephrased "give a warning about behavior based on questionable assumptions".



  parent reply	other threads:[~2012-06-06  4:10 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-30 16:33 Q: type ... is new String tmoran
2012-05-30 17:04 ` Dmitry A. Kazakov
2012-05-31  7:37 ` Maciej Sobczak
2012-06-04  5:58   ` Yannick Duchêne (Hibou57)
2012-06-04  6:30     ` J-P. Rosen
2012-06-04  7:48       ` Yannick Duchêne (Hibou57)
2012-06-04  8:03         ` Dmitry A. Kazakov
2012-06-04  8:14           ` Yannick Duchêne (Hibou57)
2012-06-04  9:09             ` Dmitry A. Kazakov
2012-06-04 10:35         ` J-P. Rosen
2012-06-04  5:43 ` Yannick Duchêne (Hibou57)
2012-06-04 11:39 ` Brian Drummond
2012-06-04 13:36   ` Maciej Sobczak
2012-06-04 14:58     ` Georg Bauhaus
2012-06-04 15:14       ` Dmitry A. Kazakov
2012-06-04 16:06         ` Georg Bauhaus
2012-06-04 17:05           ` Dmitry A. Kazakov
2012-06-04 20:28             ` Yannick Duchêne (Hibou57)
2012-06-04 20:56             ` Georg Bauhaus
2012-06-05  7:32               ` Dmitry A. Kazakov
2012-06-05  8:40                 ` Georg Bauhaus
2012-06-05  9:06                   ` Dmitry A. Kazakov
2012-06-05 12:20                     ` Georg Bauhaus
2012-06-05 13:14                       ` Dmitry A. Kazakov
2012-06-06  4:09                       ` Shark8 [this message]
2012-06-06  8:52                         ` Georg Bauhaus
2012-06-06 23:56                       ` Randy Brukardt
2012-06-07 11:15                         ` Georg Bauhaus
2012-06-06 23:51                 ` Randy Brukardt
2012-06-04 20:33         ` Yannick Duchêne (Hibou57)
2012-06-04 21:27           ` Georg Bauhaus
     [not found]             ` <m9kqs7hgii13e220b1phm46n43d92tu1pj@invalid.netcom.com>
2012-06-05  6:15               ` Georg Bauhaus
2012-06-05  6:36                 ` Yannick Duchêne (Hibou57)
2012-06-06  4:14               ` Shark8
2012-06-07  0:01             ` Randy Brukardt
2012-06-07  0:20               ` Adam Beneschan
2012-06-05 12:05     ` Brian Drummond
2012-06-05 14:43       ` Yannick Duchêne (Hibou57)
2012-06-04 15:54   ` Shark8
2012-06-04 22:01     ` Jeffrey Carter
2012-06-05 12:10       ` Brian Drummond
replies disabled

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