help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Octave and cargo cult programmingHello


From: Sergei Steshenko
Subject: Re: Octave and cargo cult programmingHello
Date: Sat, 22 Sep 2012 09:38:28 -0700 (PDT)




----- Original Message -----
> From: Thomas Weber <address@hidden>
> To: address@hidden
> Cc: 
> Sent: Saturday, September 22, 2012 4:10 PM
> Subject: Re: Octave and cargo cult programmingHello
> 
> On Fri, Sep 21, 2012 at 09:27:49AM -0400, Judd Storrs wrote:
>>  On Wed, Sep 19, 2012 at 3:04 PM, Thomas Weber <address@hidden> 
> wrote:
>> 
>>  > The example is in the documentation, under "Broadcasting and 
> Legacy
>>  > Code". If you have code that relies on catching the mentioned 
> error, you
>>  > can either change Octave's default behaviour or you can change 
> your code -
>>  > but you cannot run previously working, _unchanged_ code with the
>>  > _default_ Octave behaviour.
>>  >
>>  > And actually I don't think Sergei was wading through Octave's 
> source
>>  > code to find something to criticise - I bet he has previously working
>>  > code that doesn't work anymore.
>>  >
>> 
>>  Seriously? That example is a completely synthetic tautology. I insist that
>>  anyone typing anything remotely similar to that example (let alone *rely*
>>  on it) should have their keyboard license revoked--even if broadcasting
>>  didn't exist! 
> 
> I will repeat it again: Octave has broken previously working code. It
> doesn't matter if you like the code, its style or the editor it was
> written with - it worked before and doesn't work any longer. 
> 
>>  If destroying that type of code is a "strategic failure", I 
> don't want
>>  to be on the right track. 
> 
> ROFL. You and I have no idea why code was written as such. It can easily
> happen that everyone involved agrees that a solution is bad, but still
> the best option in a specific situation.
> 
> And btw, what is so bad about this kind of code?
> 
>>  The only time issues with broadcasting come up is when developing new
>>  code or by sending invalid input. If there was any actual broken
>>  legacy code, it's time for specifics and evidence.
> 
> WTF? Sergei has broken code or why do you think he posts here? If a
> warning appears now about broadcasting, earlier versions of Octave have
> errored out. In other words, he expected and dealt with the error. I
> don't need to see any code, the examples are trivially created - if it
> broadcasts now, it was an error earlier. And people obviously expected
> and dealt with these errors.
> 
>     Thomas
> _______________________________________________
> Help-octave mailing list
> address@hidden
> https://mailman.cae.wisc.edu/listinfo/help-octave


Even if my code was broken in a sense it was violating some rules/conventions, 
it was a _working_ code.

That is, it was producing the expected results and it was producing _no_ 
warnings. All that was "broken" in my code was mixture of row/column vectors in 
some places.


I understand that SW (Octave in this case) needs to sometimes be "upgraded" 
conceptually, and this can break working code, but, at least, I expect an 
_immediate_, _automatic_ and _clear_ notification from the SW of the _exact_ 
places in my code which are now not acceptable to the SW.

And, by the way, when Perl transitioned from 4 to 5, they made it so all the 
Perl 4 code continued to work. At all, once on Slashdot I read that significant 
from end user point of view difference between Perl and Python is that the 
former is developed with _production_ use in mind, there is an extensive 
regression tests code base, and utmost effort taken to preserve backwards 
compatibility.

According to that poster, in Python they break thing much more frequently, even 
in minor releases, i.e. not even in 2.x.y -> 3.X.Y transition.

So, with introduction of broadcasting Octave successfully imitated Python in 
more than one way - in the best cargo cult traditions.

...

Working for a world famous company I learned from my manager that one of the 
goals is while making new releases to minimize the surprise factor.

Regards,
  Sergei.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]