From: Howard Brazee on
One thing - the definition of "source code" changes over time. The
object is to make it as close as possible to "the requirements".

Having an existing source/requirements that can be quickly turned into
programming is important. Gathering requirements for a minor change
to a huge system should only be gathering requirements for that
change. The rest of the system's source code should be unchanged.

Some people say that if we make components small enough, this isn't an
issue - we just gather requirements for that component. That is
unless that component interfaces with other parts of the system.

We still have to program, and we still need source - it's just that
the meanings of these words has changed.
From: Pete Dashwood on

"Oliver Wong" <owong(a)castortech.com> wrote in message
news:MniNf.9508$vC4.5582(a)clgrps12...
>
> "CG" <carl.gehr.RemoveThis(a)ThisToo.attglobal.net> wrote in message
> news:41d3d$4404e7ff$453db2dd$1883(a)FUSE.NET...
>> Howard Brazee wrote:
>>>
>>> I suppose you could decompile code into just about any language you
>>> want. The more optimized the code, the more useless the decompiled
>>> results.
>>
>> You seem to insist on ignoring [or just being ignorant of] the fact that
>> this technology guarantees to create COBOL code that will produce exactly
>> the same output as the object code. In fact, I believe that the new
>> COBOL source, when compiled, will normally produce exactly the same
>> object code _assuming_ you have the same version/release/level/etc. of
>> the compiler that produced the original. If the code was optimized
>> before _and_ you indicate that the re-compile is to optimize the new
>> code, it will be the same. Therefore, the decompiled COBOL code is
>> exactly as useful or useless as it would be if you had the original
>> source code. If you still consider this code to be useless, then I
>> assume your process is always to trash every source program as soon as
>> you compile it. That is the essence of what you are proposing. I really
>> cannot understand your logic!
>
> Source code exists not for the benefit of computers, but for the
> benefit of humans. Computer would be just as happy if source code never
> existed, and everything was written directly in machine code. But to give
> humans an understanding of the behaviour of a program, source code is very
> helpful.
>
> For a given program behaviour, there exists multiple source codes which
> will produce that exact same behaviour. Some of these source codes are
> more difficult for humans to understand than others.
>
> Howard (and others) are making the claim that if you decompile a
> program, the source code you are likely to get will be very difficult for
> humans to understand. In that sense, the source code is "useless" because
> the main use of source code is to give understanding to humans.
>
> See http://groups.google.ca/group/comp.lang.cobol/msg/c9afd03ff070610a
> for example; this program outputs the fibbonacci sequence, but it is
> difficult for a human to understand it, and thus to safely modify it.
>
> Let's say you had a program which printed out the first 20 fibbonacci
> numbers, and you wanted to update the program to print out the first 40
> fibbonacci numbers instead. If you decompiled the program and got
> something like the above, it'd almost be easier just to start over from
> scratch.
>
> But if you had the original source code for the 20-fibbonacci program,
> and assuming it was "properly" written, it should be a relatively simple
> task to modify it so it prints the first 40 fibbonacci numbers instead.
>
> That's an example of how the original source can be useful while the
> decompiled source be useless.
>
> - Oliver
Excellent, Oliver. As usual a reasoned and succinct statement of the
positions expressed. It is a pity that Carl was not able to catch his breath
and produce this for himself.

The problem with Evangelism is that it seems to close the ears...

Pete.


From: Peter Lacey on
Pete Dashwood wrote:

>
> The problem with Evangelism is that it seems to close the ears...
>
> Pete.

Pot calling the kettle black, methinks!

Peter L.
From: on
In article <46mbn8Fbeu63U1(a)individual.net>,
Pete Dashwood <dashwood(a)enternet.co.nz> wrote:
>
><docdwarf(a)panix.com> wrote in message news:du1nsi$p2f$1(a)reader2.panix.com...
>> In article <1141137619.797762.312570(a)u72g2000cwu.googlegroups.com>,
>> Alistair <alistair(a)ld50macca.demon.co.uk> wrote:
>>>
>>>Pete Dashwood wrote:
>>>> <ozzy.kopec(a)gmail.com> wrote in message
>>>> news:1141046648.949404.165450(a)v46g2000cwv.googlegroups.com...
>>>> > Pete Dashwood wrote:
>>>>
>>>> I can think of at least two separate sites (and a number of occasions on
>>>> both of them) where we were very glad to have source recreated from
>>>> listings
>>>> after decks of cards got shredded or minced in various readers or were
>>>> destroyed by water after a storm where part of the roof was removed...
>>>>
>>>> Maybe your bud's Boss was an oldtimer like me :-)
>>>
>>>I worked in a place where an operator dropped a whole tray of punched
>>>jcl cards (and successfully mixed them quicker than a poker dealer
>>>could have done).
>>
>> Oh, I *cannot* resist...
>>
>> 000100 AND WITH THESE AND OTHER INSTANCES IN MIND WE SHOULD, THEREFORE,
>> 000200 MAKE SURE THAT ALL CODE IS BACKWARDSLY-COMPATIBLE WITH SUCH
>> 000300 LIMITATIONS... JUST BECAUSE I HAVEN'T WORKED WITH A PUNCHED DECK
>> 000400 IN DECADES IS NO REASON NOT TO 'JUST IN CASE' THINGS, RIGHT?
>>
>Cheap shot, Doc.

I know... but I *couldn't* resist.

>
>When writing COBOL it is necessary to use level numbers anyway. Why
>shouldn't they also assist in the (today) extremely unlikely event that the
>source needs to be recreated from a listing?

'Grandpa, why do you snore so loud?'

'To keep the tigers away.'

'Grandpa, there aren't any tigers anywhere near here.'

'See how well it works?'

It used to be, back in the Oldene Dayse and on some sites I where I
worked, that part of the Production Turnover Ritual involved generating a
listing (on greenbar, of course) and replacing the previous version in the
binder reserved for the program... Just In Case everything went kerflooie
and one had to re-key the code from scratch.

I haven't seen much greenbar lately.

>
>I have worked on many sites and no-one has ever asked why I start levels at
>12. It isn't problematic because there is room to insert other levels if
>required.

I've worked in places where Prod Review turned down my code because I used
an 03 where the Site Standard dictated an 05. They sign my timesheets,
they get what they ask for... within reason, of course.

>
>It isn't about 'just in case' anyway. It is about the habits of a lifetime,
>which do no harm...

Hmmmmmmm... it reminds me of a man of sixty saying 'I've thought this way
about it ever since I was a lad of five.'

On the one hand... it shows a five-year-old who has insights beyond his
years and that is good.

On the other hand... it shows a sixty-year-old who cannot see something
differently than a five-year-old and that is... perhaps not-so-good.

It might be that, once in a while, all things need to be questioned or
re-questioned... including this statement, of course.

DD

From: HeyBub on
Pete Dashwood wrote:
>
> No one is disputing that the compiled code will do the same as the
> old code. The point you seem to be missing is that the there is an
> ongoing maintenance requirement and it is easier to maintain code you
> wrote yourself, than code written by a tool.
>

What possible difference, in the real world, could efficiency in code
maintenance be? You always have time to fix the code whereas there's never
enough time to generate it in the first place. At least according to
received wisdom.

So, it would seem, in following the above dictum, that anything that can
scoot out code that gives every impression of working from the get-go would
be a "Good Thing(TM)."