By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,300 Members | 1,867 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,300 IT Pros & Developers. It's quick & easy.

Future reuse of code

P: n/a
Hi I'm developing a program and the client is worried about future
reuse of the code. Say 5, 10, 15 years down the road. This will be a
major factor in selecting the development language. Any comments on
past experience, research articles, comments on the matter would be
much appreciated. I suspect something like C would be the best based
on comments I received from the VB news group.

Thanks for the help in advance

James Cameron
Jul 19 '05 #1
Share this Question
Share on Google+
242 Replies


P: n/a
James Cameron wrote:
Hi I'm developing a program and the client is worried about future
reuse of the code. Say 5, 10, 15 years down the road. This will be a
major factor in selecting the development language. Any comments on
past experience, research articles, comments on the matter would be
much appreciated. I suspect something like C would be the best based
on comments I received from the VB news group.

Thanks for the help in advance

James Cameron


This question cross posted to five newsgroups appears to pit
C against C++ against Java against Pascal against Visual Basic.
If your intent was to start a flame war, this is the way to do it.

Jul 19 '05 #2

P: n/a
"James Cameron" wrote:
I'm developing a program and the client is worried about future
reuse of the code. Say 5, 10, 15 years down the road.


Tell your customer a lie. No one can predict 5 years, let alone 15 into
the future in this business. If your client asks, he doesn't have much
clue and will be happy with any answer.
Jul 19 '05 #3

P: n/a

"James Cameron" <ja***********@bindereng.com.au> wrote in message
news:45**************************@posting.google.c om...
Hi I'm developing a program and the client is worried about future
reuse of the code. Say 5, 10, 15 years down the road. This will be a
major factor in selecting the development language. Any comments on
past experience, research articles, comments on the matter would be
much appreciated. I suspect something like C would be the best based
on comments I received from the VB news group.

Thanks for the help in advance


Why would language choice affect code reuse? You can reuse code written in
any language as long as you care to.

Jul 19 '05 #4

P: n/a

James Cameron <ja***********@bindereng.com.au> wrote in message
news:45**************************@posting.google.c om...
Hi I'm developing a program and the client is worried about future
reuse of the code. Say 5, 10, 15 years down the road. This will be a
major factor in selecting the development language. Any comments on
past experience, research articles, comments on the matter would be
much appreciated. I suspect something like C would be the best based
on comments I received from the VB news group.


The language doesn't matter. Just keep the code
in the freezer so it won't spoil.

-Mike

Jul 19 '05 #5

P: n/a

"James Cameron" <ja***********@bindereng.com.au> wrote in message
Hi I'm developing a program and the client is worried about future
reuse of the code. Say 5, 10, 15 years down the road. This will be a
major factor in selecting the development language.

Your best bet is conservative C89.

Why not C++? Because the standard template library is only a few years old.
Things might have changed out of recognition in 15 years time. You will
stillbe able to compile the code, probably, but it will be difficult to
maintain.

C99 may never be implemented.

Java COBOL and Visual Basic I know little about. VB is unstable, COBOL is
virtually obsolete. Java might be an OK choice but is rather tied to the
net. A C file, OTOH, will almost certainly be linkable in ten years time.

Jul 19 '05 #6

P: n/a
ja***********@bindereng.com.au (James Cameron) wrote in message news:<45**************************@posting.google. com>...
Hi I'm developing a program and the client is worried about future
reuse of the code. Say 5, 10, 15 years down the road. This will be a
major factor in selecting the development language. Any comments on
past experience, research articles, comments on the matter would be
much appreciated. I suspect something like C would be the best based
on comments I received from the VB news group.


The best language to ensure future reuse of the code is english.
Whatever programming language you chose always remember to document
your code.
Jul 19 '05 #7

P: n/a
"Peter E.C. Dashwood" <da******@enternet.co.nz> wrote in message
news:3f********@news.athenanews.com...

"James Cameron" <ja***********@bindereng.com.au> wrote in message
news:45**************************@posting.google.c om...
Hi I'm developing a program and the client is worried about future
reuse of the code. Say 5, 10, 15 years down the road. This will be a
major factor in selecting the development language. Any comments on
past experience, research articles, comments on the matter would be
much appreciated. I suspect something like C would be the best based
on comments I received from the VB news group.

The source language is irrelevant in terms of code re-use. (It is OBJECT
code that will be re-used...)

You should select a source language SUITABLE FOR THE JOB YOU WANT TO DO!!!

Then make sure that an OO or modular approach is adopted, wrap your
functions as components, and you can reuse them FOR EVER not just 15

years.
Pete.


Aren't you talking about marriage or something? About the *only* code I
know that is still running after 15 years use is in Cobol. I could say the
same for 30 years.

Even in the last five years, the components I have used have evolved into
different packaging, required updates for each OS, etc. etc.

Donald
Jul 19 '05 #8

P: n/a

"Malcolm" <ma*****@55bank.freeserve.co.uk> wrote in message
news:bg**********@news8.svr.pol.co.uk...
... COBOL is
virtually obsolete...

Hey! Cut that out!

Check out this site: www.microfocus.com
Jul 19 '05 #9

P: n/a
James Cameron wrote:
^^^^^^^^^^^^^
You're a great filmmaker - why are you switching to programming? :)
Hi I'm developing a program and the client is worried about future
reuse of the code. Say 5, 10, 15 years down the road. This will be a
major factor in selecting the development language. Any comments on
past experience, research articles, comments on the matter would be
much appreciated. I suspect something like C would be the best based
on comments I received from the VB news group.

Thanks for the help in advance

James Cameron


(I'm a regular poster in comp.lang.cobol)

You really need to have them define what they mean by "code reuse". In
general, if the design of the system is done using components, this
really doesn't have to be an issue. A component could be written in any
number of languages, as long as it adheres to a standard interface (such
as COM).

And, 5 to 15 years down the road, what are they going to be "reusing"?
Seems to me, if they're interested in reuse, they'd use whatever
language you use on this project. At that point, the only decision you
need to make is, what language best supports the business logic you're
trying to automate?

Once you make this decision, structure the system in such a way that it
resembles a collection of building blocks (whether it's broken out by
component, by a collection of common subroutines, copybooks/macros,
whatever). Then, using your rationale for your language choice, and the
modularity design you've chosen, formulate a point paper for your client
detailing why the language you've chosen is the best for their needs,
and how you're posturing them for future code reuse.

Personally, I work on a large aircraft maintenance program for a major
military branch ;) . The system is written in COBOL, and we mostly use
copybooks (similar to macros in C) for our reuse. Each copybook has
comments that define the input parameters expected, and the output one
can expect from it. That way, if the process changes, we change the
copybook. The disadvantage to this technique is that it requires each
program that copies it to be recompiled (rebuilt).

I'm working on a few initiatives to convert this to common subroutines,
that can be modified and "switched out" without having to modify the
underlying programs. This is showing a lot of promise, and I know that
there are other regular posters here who have not only done this
successfully, but have also utilized C, VB, C++, even .NET classes and
components from within COBOL.

Of course, the bottom line - decide what language would be best, then
convince your client of your genius. :)
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~
~ / \ / ~ Live from Montgomery, AL! ~
~ / \/ o ~ ~
~ / /\ - | ~ AIM: LXi0007 ~
~ _____ / \ | ~ E-mail: LX*****@Netscape.net ~
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ I do not read e-mail at the above address ~
~ Please post if you wish to be contacted privately ~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~

Jul 19 '05 #10

P: n/a
Malcolm wrote:
Java COBOL and Visual Basic I know little about. VB is unstable, COBOL is
virtually obsolete.


What? COBOL is obsolete? I guess OO and .NET are obsolete too... ;)
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~
~ / \ / ~ Live from Montgomery, AL! ~
~ / \/ o ~ ~
~ / /\ - | ~ AIM: LXi0007 ~
~ _____ / \ | ~ E-mail: LX*****@Netscape.net ~
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ I do not read e-mail at the above address ~
~ Please post if you wish to be contacted privately ~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~

Jul 19 '05 #11

P: n/a

"Malcolm" <ma*****@55bank.freeserve.co.uk> wrote in message
news:bg**********@news8.svr.pol.co.uk...
|
| "James Cameron" <ja***********@bindereng.com.au> wrote in message
|
| > Hi I'm developing a program and the client is worried about future
| > reuse of the code. Say 5, 10, 15 years down the road. This will be a
| > major factor in selecting the development language.
| >
| Java COBOL and Visual Basic I know little about. VB is unstable, COBOL is
| virtually obsolete.

COBOL ain't dead yet.
It has a history, and some code that surpasses the 15 year reusability
requirement.


Jul 19 '05 #12

P: n/a
I've been very successful reusing COBOL, but mostly by virtue of it being
accessible behind CICS. I can connect to CICS from any platform using various
combinations of middleware, and avail my new system of the legacy of
COBOL-implemented functions as long as those function serve the customer's
purpose.
Donald Tees wrote:
"Peter E.C. Dashwood" <da******@enternet.co.nz> wrote in message
news:3f********@news.athenanews.com...
<snip> Aren't you talking about marriage or something? About the *only* code I
know that is still running after 15 years use is in Cobol. I could say the
same for 30 years.

Even in the last five years, the components I have used have evolved into
different packaging, required updates for each OS, etc. etc.

Donald


Jul 19 '05 #13

P: n/a


Peter E.C. Dashwood wrote:

The source language is irrelevant in terms of code re-use. (It is OBJECT
code that will be re-used...)
Simply by virtue of being OO it is not guaranteed to be reusable. Paradigm is
no substitute for design.
You should select a source language SUITABLE FOR THE JOB YOU WANT TO DO!!!
Well said.

Then make sure that an OO or modular approach is adopted, wrap your
functions as components, and you can reuse them FOR EVER not just 15 years.


Again, well said. Good advice.

Jul 19 '05 #14

P: n/a
jce
"James Cameron" <ja***********@bindereng.com.au> wrote in message
news:45**************************@posting.google.c om...
Hi I'm developing a program and the client is worried about future
reuse of the code. Say 5, 10, 15 years down the road. This will be a
major factor in selecting the development language. Any comments on
past experience, research articles, comments on the matter would be
much appreciated. I suspect something like C would be the best based
on comments I received from the VB news group.

Thanks for the help in advance

James Cameron


<---repeated from another post---->
In 5/10/15 years the questions come down to (a) Do we have time and money to
port (b) Can we survive with what we have or (c) is there a market product
that has what we want.

In general the argument seems to go straight to (b) and (c). No one wants
to pay for an upgrade.
<---repeated from another post---->

Java already has issues. The backward compatibility isn't the 100%
promised....you constantly need to upgrade to get the latest and greatest.
The API s have a lifecycle of a year or two so you are constantly faced with
question (a).

Seems to me that .NET would work best here because then you can pick the
source of your choice. I don't know much about this so I shouldn't really
comment.

You don't say what the application is which makes the response hard. Some
language are better for some things than others ;-)
It might be better for example as a plug-in to another application (say
eclipse) rather than you developing an entire framework.

I would always suggest a search on sourceforge to see if something is out
there that helps....

Personally I have four views - when you are talking of multiple programmers:

1. If you have COBOL programmers use COBOL. If you have C programmers use
C. This is built on the shaky assumption that they are good coders. I
would rather have competent programmers writing competent code that provides
higher stability than competent programmers writing immature code. Bear in
mind that COBOL has an underground "cool" factor now....no, really...

2. Java is the easiest answer to sell and as pointed out here...it's
pretty vanilla (which doesn't mean no gotchas) but should be relatively
readable. So if you're in competent programmer you can understand this
easily enough.

3. Does anyone really look to an application to last this long? Seems to
me that everything goes through a rewrite as part of natural evolution. I'd
rather go for quality than anything (which means I invested in Betamax over
VHS and Token Ring over Ethernet I suppose).

4. The MOST important question is ........does it matter if I can reuse it
in 5 years if I cannot get it out of the door quickly now? No point
architecting a 15 year plan if it takes 5 years to execute and you need it
in 3 months. I didn't get that priority from your original note.

If you are on your own then I only have one comment:
Narrow choices down to what you are comfortable with then add those
languages you are confident of handling. You have to deliver the quality
product NOW and not 15 years from now.

Here's the kicker:
Imagine......Sun goes belly up in 2006....Microsoft antes up with a few
billion to buy the Java licensing rights....woo hooo.....We'll all try
desperately to port to Inga's free open source virtual software layer Ingot
that runs on EyeBeeEmux to remove Microsoft dependencies....(remember they
once thought the earth was flat and that Senators were for the people).
In 2015 we no longer run processors as we know them. Electrons have been
isolated on switches that are built on self managed bio matter developed in
the Democratic People's China by po'd shepherds who refuse to divulge their
methods to the Communist States of America.

JCE

(Notice the lack of Pascal support here....why did we ignore ADA?)
Jul 19 '05 #15

P: n/a

"Jacob" <ja***@yahoo.com> wrote in message
news:3F**************@yahoo.com...
| James Cameron wrote:
| > Hi I'm developing a program and the client is worried about future
| > reuse of the code. Say 5, 10, 15 years down the road. This will be a
| > major factor in selecting the development language. Any comments on
| > past experience, research articles, comments on the matter would be
| > much appreciated. I suspect something like C would be the best based
| > on comments I received from the VB news group.
|
| NOTHING will run 10 years from now!

You might want to qualify this by language.
(NOTHING written in ? will run 10 years from now!)
Be careful, there are people out there with 10 year old software that is
still running.

Come to think of it, you might want to include the hardware, and operating
system.

|
| So just make sure (in logical design, system architechture,
| well written easy-to-read code, proven algorithms, adequate
| domain and storage models and system documentation presence)
| that the fundamental ideas can move along.
|
Jul 19 '05 #16

P: n/a
Harley wrote:

| NOTHING will run 10 years from now!

You might want to qualify this by language.


Just keep it as a rule of thumb. If something made today
runs 10 years from now it is either pure luck or a dead
slow organization. If you expect the world to go on, you
oraganize your software so it can go along.

The fact that 15 years old Cobol (or C or PL/1 or UniFace)
software is still out there is no *proof* that it has
outlived time. Maybe it's is just written in a way that
makes it impossible to move on.

Jul 19 '05 #17

P: n/a
Jacob wrote:
James Cameron wrote:
Hi I'm developing a program and the client is worried about future
reuse of the code. Say 5, 10, 15 years down the road. This will be a
major factor in selecting the development language. Any comments on
past experience, research articles, comments on the matter would be
much appreciated. I suspect something like C would be the best based
on comments I received from the VB news group.


NOTHING will run 10 years from now!


Ehm....

I have a lot of C programs that run perfectly
after more than 10 years!

E.g. see the following C programs that play Draughts
(Dama in italian) written on september 1989:
You can compile the original untouched C-source
(e.g. using gcc) and play it again immediately!

- Dario

#define linee_bianche (void)printf("\n\n");
#define odd(exp) ((exp)%2)

typedef int scacchiera[9][9];

struct mossa {
int a,b,a1,b1;
int valutatore;
};

static scacchiera s;
static
inizializza(s)
scacchiera s;
{
int r,c;

for (r=1; r<=8; r++)
for (c=1; c<=8; c++)
if (odd(r+c) || (r==4) || (r==5))
s[r][c] = 0;
else
{
if (r>=1 && r<=3)
s[r][c]= -1;
else
s[r][c] = 1;
}
}
static
read_2n(a,b)
int *a;
int *b;
{
char c;

*a = 0;
*b = 0;
do
if (1 != scanf("%c",&c))
c = '0';
while (c<'0' || c>'8');
*a = c-'0';
if (*a)
{
do
if (1 != scanf("%c",&c))
c = '0';
while (c<'0' || c>'8');
*b = c-'0';
if (*b == 0)
*a = 0;
}
}
static
posizione_in_scacchiera(r,c)
int r;
int c;
{
return (r >= 1) && (r <= 8) && (c >= 1) && (c <= 8);
}
static
muovi(s,r,c,r1,c1)
scacchiera s;
int r,c,r1,c1;
{
s[r1][c1] = s[r][c];
s[r][c] = 0;
if (abs(r1-r) == 2)
s[(r1+r)/2][(c1+c)/2] = 0;
if ( ((r1==1) && (s[r1][c1]== 1))
|| ((r1==8) && (s[r1][c1]==-1))
)
{
s[r1][c1] = s[r1][c1]*2;
(void)printf(" DAMA!\n");
}
}
static
leggi_mossa(s)
scacchiera s;
{
int casella_partenza_giusta;
int r,c;
int fine;

fine = 0;
casella_partenza_giusta = 0;
do
{
linee_bianche;
(void)printf(" DA? ");
read_2n(&r,&c);
if (posizione_in_scacchiera(r,c))
{
if (s[r][c] > 0)

leggi_posizione_arrivo(s,r,c,&casella_partenza_giu sta);
else
(void)printf(" POSIZIONE DI PARTENZA ERRATA.\n");
}
else
{
fine = 1;
linee_bianche;
(void)printf(" HAI ABBANDONATO E QUINDI HAI PERSO.\n");
}
}
while (!(casella_partenza_giusta || fine));
return fine;
}
static
leggi_posizione_arrivo(s,r,c,mossa_giusta)
scacchiera s;
int r,c;
int *mossa_giusta;
{
int r1,c1;

(void)printf(" A? ");
read_2n(&r1,&c1);
if (posizione_in_scacchiera(r1,c1))
{
if (mossa_corretta(s,r,c,r1,c1))
{
*mossa_giusta = 1;
muovi(s,r,c,r1,c1);
if (abs(r1-r) == 2)
leggi_altre_prese(s,r1,c1);
}
else
(void)printf(" MOSSA SCORRETTA.\n");
}
else
(void)printf(" RICOMINCIA DA CAPO.\n");
}
static
mossa_corretta(s,r,c,r1,c1)
scacchiera s;
int r,c,r1,c1;
{
int casella_arrivo_vuota, senso_giusto, presa_corretta;
int rr,cc;

casella_arrivo_vuota = s[r1][c1] == 0;
senso_giusto = (abs(r1-r)==abs(c1-c)) &&
(abs(s[r][c])==2 || (r1-r)*s[r][c] < 0);
rr = (r1+r)/2;
cc = (c1+c)/2;
if (abs(r1-r) == 2)
presa_corretta = (s[r][c]*s[rr][cc] < 0) &&
(abs(s[r][c]) >= abs(s[rr][cc]));
else
presa_corretta = abs(r1-r) == 1;
return casella_arrivo_vuota && senso_giusto && presa_corretta;
}
static
leggi_altre_prese(s,r,c)
scacchiera s;
int r,c;
{
int r1,c1;

do
{
(void)printf(" +A? ");
read_2n(&r1,&c1);
if (posizione_in_scacchiera(r1,c1))
{
if ((abs(r1-r)==2) && mossa_corretta(s,r,c,r1,c1))
{
muovi(s,r,c,r1,c1);
r = r1;
c = c1;
}
else
(void)printf(" PRESA SCORRETTA.\n");
}
}
while (posizione_in_scacchiera(r1,c1));
}
static
stampa_scacchiera(s)
scacchiera s;
{
int r,c;

linee_bianche;
(void)printf(" 1 2 3 4 5 6 7 8\n");
for (r=1; r<=8; r++)
{
(void)printf(" %1d ",r);
for (c=1; c<=8; c++)
switch (s[r][c])
{
case -2: (void)printf("DN"); break;
case -1: (void)printf("-N"); break;
case 0: if (odd(r+c))
(void)printf(" ");
else
(void)printf("--");
break;
case 1: (void)printf("-B"); break;
case 2: (void)printf("DB"); break;
}
(void)printf("\n");
}
}
static
elabora_mossa(s)
scacchiera s;
{
int r,c;
int fine;
struct mossa m;

fine = 0;
m.valutatore = -99;
for (r=1; r<=8; r++)
for (c=1; c<=8; c++)
if (s[r][c] < 0)
esamina_mossa(s,r,c,&m,0);
if (m.valutatore == -99)
{
fine = 1;
linee_bianche;
(void)printf(" HAI VINTO.\n");
}
else
{
/* (void)printf("%c",12); */
linee_bianche;
(void)printf(" DA %1d %1d\n",m.a,m.b);
do
{
(void)printf(" A %1d %1d\n",m.a1,m.b1);
muovi(s,m.a,m.b,m.a1,m.b1);
m.valutatore = -99;
if (abs(m.a1-m.a) == 2)
esamina_mossa(s,m.a1,m.b1,&m,1);
}
while(!( (m.valutatore == -99)
|| ( (m.valutatore <= 18)
&& ( (m.a==1) || (m.a==8) || (m.b==1) || (m.b==8) )
)
));
}
return fine;
}
static
esamina_mossa(s,r,c,m,mangia_solamente)
scacchiera s;
int r,c;
struct mossa *m;
int mangia_solamente;
{
int r1,c1,dr,dc;

for (dr= -1; dr<=1; dr++)
for (dc= -1; dc<=1; dc++)
if ((dr!=0) && (dc!=0) && ((s[r][c]==-2) || (dr==1)))
{
r1 = r+dr;
c1 = c+dc;
if (posizione_in_scacchiera(r1,c1))
{
if ((s[r1][c1] == 0) && ! mangia_solamente)
valuta_mossa(s,r,c,r1,c1,m);
else
if ( (s[r1][c1] > 0)
&& (abs(s[r][c])>=
abs(s[r1][c1]))
)
{
r1 += dr;
c1 += dc;
if
(posizione_in_scacchiera(r1,c1))
if (s[r1][c1] == 0)

valuta_mossa(s,r,c,r1,c1,m);
}
}
}

}
static
valuta_mossa(s,r,c,r1,c1,m)
scacchiera s;
int r,c;
int r1,c1;
struct mossa *m;
{
int dr,dc,v;

if (r1>r)
dr = 1;
else
dr = -1;
v = 0;
if (r==1)
{
if (s[r][c] == -1)
v-= 8;
else
v-= 1;
}
if (dr ==- 1)
v+= 1;
if (s[r][c] == -1)
v+= 2;
if ((r==8) || (r==1))
v+= 4;
if (s[r][c]==-1 && r1==8)
v+= 8;
if (abs(r1-r)==2)
v+= 20;
else
if (presa(s,r,c))
v+= 6;
for (dc= -1; dc<=1 ; dc++)
if (dc!=0 && posizione_in_scacchiera(r1+dr,c1+dc))
{
if (s[r1+dr][c1+dc]<0)
v+= 4;
else
if (s[r1+dr][c1+dc]>0 &&
possibile_presa(s,r,c,r1,c1,dr,dc))
v-= 8;
}
if (v > m->valutatore)
{
m->valutatore = v;
m->a = r;
m->b = c;
m->a1 = r1;
m->b1 = c1;
}
}
static
possibile_presa(s,r,c,r1,c1,dr,dc)
scacchiera s;
int r,c,r1,c1,dr,dc;
{
int cas_davanti_vuota;
int cas_dietro_occupata;
int avversario_temibile;

if (posizione_in_scacchiera(r1-dr,c1-dc))
{
cas_davanti_vuota = (s[r1-dr][c1-dc]==0) ||
(r1-dr==r) && (c1-dc==c) ||
(r1-2*dr==r) && (c1-2*dc==c);
avversario_temibile = s[r1+dr][c1+dc] >= -s[r][c];
cas_dietro_occupata = 1;
if (abs(r1-r)==2 && posizione_in_scacchiera(r1+2*dr,c1+2*dc))
cas_dietro_occupata = s[r1+2*dr][c1+2*dc] != 0;
return cas_davanti_vuota && cas_dietro_occupata &&
avversario_temibile;
}
else
return 0;
}
static
presa(s,r,c)
scacchiera s;
int r,c;
{
int dr,dc;
int p;

p = 0;
if ( (r>=2) && (r<=7) && (c>=2) && (c<=7) )
for (dr= -1; dr<=1; dr++)
for (dc= -1; dc<=1; dc++)
if ( (s[r+dr][c+dc] > 0)
&& (s[r-dr][c-dc] == 0)
)
p = p || (dr==1) || (s[r+dr][c+dc]==2);
return p;
}
static
help()
{
(void)printf("Dama (c) 1987 - Dario Dariol\n");
(void)printf("\n");
(void)printf("Il computer (nero) gioca contro l'avversario (bianco)\n");
(void)printf("adottando le regole della Dama italiana.\n");
(void)printf("L'unica eccezione e' che le prese NON sono obbligatorie\n");
(void)printf("\n");
(void)printf("Le mosse vengono comunicate scrivendo riga e colonna\n");
(void)printf("della casella da cui si muove o su cui si arriva.\n");
(void)printf("Uno 0 significa abbandono e/o mossa scorretta.\n");
(void)printf("\n");
}
main()
{
help();
inizializza(s);
while(1)
{
stampa_scacchiera(s);
if (leggi_mossa(s))
break;
if (elabora_mossa(s))
break;
}
}
Jul 19 '05 #18

P: n/a
Dario escribió:
E.g. see the following C programs that play Draughts
(Dama in italian) written on september 1989:
(snip)
help()
{
(void)printf("Dama (c) 1987 - Dario Dariol\n");


1989 or 1987?

Regards.
Jul 19 '05 #19

P: n/a
jce
"Jacob" <ja***@yahoo.com> wrote in message
news:3F**************@yahoo.com...
Harley wrote:
The fact that 15 years old Cobol (or C or PL/1 or UniFace)
software is still out there is no *proof* that it has
outlived time. Maybe it's is just written in a way that
makes it impossible to move on.


Or that it works and has done what it was supposed to for 15 years.
That's like saying that everyone over 75 has outlived their time coz they're
not supposed to be that old.

JCE
Jul 19 '05 #20

P: n/a
jce
"Dario" <da***@despammed.com> wrote in message
news:bg**********@fata.cs.interbusiness.it...
NOTHING will run 10 years from now!

I have a lot of C programs that run perfectly
after more than 10 years!

<code snipped>
I like the previous post that said to use english :-) I don't think I can
follow this very easily.
JCE
Jul 19 '05 #21

P: n/a
jce
"Andy Fish" <aj****@blueyonder.co.uk> wrote in message
news:nD*******************@news-binary.blueyonder.co.uk...
I would have to put my vote for java, simply because it's less
hardware-dependent than the others.

It's quite possible that JVM's in 10-15 years will be able to execute java
code you build now (in the same way that office XP can still open up a word 2 document). If the source got lost you could even have a reasonable go at
decompiling it, which I would definitely not fancy with any of the binary
formats.

Andy

Not likely.

http://java.sun.com/products/jdk/1.2...atibilities1.2

If you link to 1.1 you get:

Products listed on this page have completed the Sun End of Life process.

None of the items listed though would send a development area into apoplexy
:-)

JCE
Jul 19 '05 #22

P: n/a

On 4-Aug-2003, "Harley" <de*****************@worldnet.att.net> wrote:
| NOTHING will run 10 years from now!

You might want to qualify this by language.
(NOTHING written in ? will run 10 years from now!)
Be careful, there are people out there with 10 year old software that is
still running.


Correct - most of the software I work with is older than that.

But if we are talking about "reuseable", I wonder what we should be looking for.
Do we worry about plugging in the algorithm used to determine depreciation so
we don't have to analyze it again?

Coding it is simple in any language, so I am guessing we are talking about
keeping analysis and testing down. Except we will still need to analyze to
make sure conditions are still correct.

And we test as much as we can afford. In stand alone programs, we can afford
to test everything. If we code a widely used object, we had better make sure
the design is such that we can live with less testing.

Designing for reusability is designing for what we think is a characteristic of
good coding. Which is not a primary goal at all.
Jul 19 '05 #23

P: n/a
Julián Albo wrote:
(void)printf("Dama (c) 1987 - Dario Dariol\n");


1989 or 1987?


In 1987 I written the program.
My last correction to the same program was made
at September 8, 1989 17:56 (Italian local time).

- Dario

Jul 19 '05 #24

P: n/a

"Howard Brazee" <ho****@brazee.net> wrote in message
news:bg**********@peabody.colorado.edu...
|
| On 4-Aug-2003, "Harley" <de*****************@worldnet.att.net> wrote:
|
| > | NOTHING will run 10 years from now!
| >
| > You might want to qualify this by language.
| > (NOTHING written in ? will run 10 years from now!)
| > Be careful, there are people out there with 10 year old software that is
| > still running.
|
| Correct - most of the software I work with is older than that.
|
| But if we are talking about "reuseable", I wonder what we should be
looking for.

My GUESS is inheritance, and polymorphism.

| Do we worry about plugging in the algorithm used to determine
depreciation so
| we don't have to analyze it again?
|
| Coding it is simple in any language, so I am guessing we are talking about
| keeping analysis and testing down. Except we will still need to analyze
to
| make sure conditions are still correct.
|
| And we test as much as we can afford. In stand alone programs, we can
afford
| to test everything. If we code a widely used object, we had better make
sure
| the design is such that we can live with less testing.

A business rule should be able to be tested outside the system
One of the suggestions in extreme programming is that you have a test driver
BEFORE you start coding.
System integration testing is still a requirement, but the test driver
should have uncovered any problems not associated with integration issues.
You still have an Oops issue, but the Opps should be associated with the
integration, not the functionality of the object.

| Designing for reusability is designing for what we think is a
characteristic of
| good coding. Which is not a primary goal at all.

I think this is a personal preference, like a style issue.
Jul 19 '05 #25

P: n/a
In article <45**************************@posting.google.com >, James Cameron wrote:
Hi I'm developing a program and the client is worried about future
reuse of the code. Say 5, 10, 15 years down the road. This will be a
major factor in selecting the development language. Any comments on
past experience, research articles, comments on the matter would be
much appreciated. I suspect something like C would be the best based
on comments I received from the VB news group.


Mathlab? The only one I can think of being around over 15 years :-)
Jul 19 '05 #26

P: n/a
Marco van de Voort wrote:
In article <45**************************@posting.google.com >, James Cameron wrote:
Hi I'm developing a program and the client is worried about future
reuse of the code. Say 5, 10, 15 years down the road. This will be a
major factor in selecting the development language. Any comments on
past experience, research articles, comments on the matter would be
much appreciated. I suspect something like C would be the best based
on comments I received from the VB news group.

Mathlab? The only one I can think of being around over 15 years :-)


FORTRAN. I've reused FORTRAN aerodynamics models that were 30+ years old
because they captured the domain model and the domain model hasn't changed.

LISP. I've reused LISP symbolic math processing models were 20 ish
years old because they captured the domain model and the domain model
hasn't changed.

Java was designed for portable GUIs, though is a lot more general
purpose now. Does your domain model map well to the constructs in Java?
Even if you can reuse a GUI in 20 years time, Java swing will look as
old to a user then as MSDOS 3 does to a OS X user now.

C models the architecture of a defunct hardware platform, and maps well
enough to other hardware platforms to give performance efficiencies.

The closer a language is to the language of your domain model, and the
better the the representation of the domain you produce, the longer your
software will by usefully reused.
Pete

Jul 19 '05 #27

P: n/a
In message <MP************************@news.megapathdsl.net >, Randy
Howard <ra**********@FOOmegapathdslBAR.net> writes
What about ruby, perl, various assembly groups, applescript, delphi,
ada, awk, dylan, eiffel, forth, fortran, icon, lsip, logo, modula2,
oberon, php, scheme, smalltalk, prolog, etc.?

A truly astute troll would have included at least the above.


A with-it truly astute troll would have mentioned Rebol.

--
Alistair Maclean

Jul 19 '05 #28

P: n/a
In article <3f***********************@news.dial.pipex.com>, pete kirkham wrote:
Marco van de Voort wrote:
In article <45**************************@posting.google.com >, James Cameron wrote:
Hi I'm developing a program and the client is worried about future
reuse of the code. Say 5, 10, 15 years down the road. This will be a
major factor in selecting the development language. Any comments on
past experience, research articles, comments on the matter would be
much appreciated. I suspect something like C would be the best based
on comments I received from the VB news group.

Mathlab? The only one I can think of being around over 15 years :-)


FORTRAN. I've reused FORTRAN aerodynamics models that were 30+ years old
because they captured the domain model and the domain model hasn't changed.

LISP. I've reused LISP symbolic math processing models were 20 ish
years old because they captured the domain model and the domain model
hasn't changed.


Don't be annecdotical. Reuse all code you rewrite now, and something
that will be in major use then (so that reusing makes sense at all)

I can only think of two possible candidates. TeX, and Mathlab, both in a
different realm. I wouldn't dare to bet on another one.

Jul 19 '05 #29

P: n/a
Jacob wrote:
Harley wrote:

NOTHING will run 10 years from now!


You might want to qualify this by language.


Just keep it as a rule of thumb. If something made today
runs 10 years from now it is either pure luck or a dead
slow organization. If you expect the world to go on, you
oraganize your software so it can go along.

The fact that 15 years old Cobol (or C or PL/1 or UniFace)
software is still out there is no *proof* that it has
outlived time. Maybe it's is just written in a way that
makes it impossible to move on.


If you work for a large organization (more than 100,000 employees), I'll
wager dollars to donuts your paycheck was produced by a COBOL program that's
more than twenty years old (assuming your company has been around that
long).

A prudent company wants a piece of software - like a building - to just sit
there and do its job. While 'ancient' programs do have to have maintenance
from time to time, there's not a lot of maintenance to do on a General
Ledger program (whose basic rules have remined unchanged since the 16th
century).
Jul 19 '05 #30

P: n/a

"jce" <de*********@hotmail.com> wrote in message
news:ur*******************@twister.tampabay.rr.com ...
| "Harley" <de*****************@worldnet.att.net> wrote in message
| news:7q*********************@bgtnsc05-news.ops.worldnet.att.net...
| >
| > "Malcolm" <ma*****@55bank.freeserve.co.uk> wrote in message
| > news:bg**********@news8.svr.pol.co.uk...
| > |
| > | "James Cameron" <ja***********@bindereng.com.au> wrote in message
| > COBOL ain't dead yet.
| > It has a history, and some code that surpasses the 15 year reusability
| > requirement.
|
| If this was a requirement 15 years ago then it surpassed that requirement.
|
| I don't think this requirement is effective retroactively.

No, but there are languages that should have similary stories.
C++, and VB have been around for more than 5 years, so they have a history.
C has a longer history.

Isn't VB platform dependent?

| Question isn't what code has been reusable for 15 years....but what WILL
be
| reusable IN 15 years.

Any language that has a large customer base that would holler like hell if
it were abandoned, will be around for at least 15 years.

| COBOL has had a resurgence recently - question is whether it will hold up
| for 15 more years....Probably will....but you have to hope that the
| compilers/$$$ keep up or you'll just have something that works and isn't
| bleeding edge (what's wrong with that?).
|

Have you seen any evidence that the compilers have become stagnant?

Jul 19 '05 #31

P: n/a

"Donald Tees" <Do*********@sympatico.ca> wrote in message
news:mu******************@news20.bellglobal.com...
"Peter E.C. Dashwood" <da******@enternet.co.nz> wrote in message
news:3f********@news.athenanews.com...

The source language is irrelevant in terms of code re-use. (It is OBJECT
code that will be re-used...)

You should select a source language SUITABLE FOR THE JOB YOU WANT TO DO!!!
Then make sure that an OO or modular approach is adopted, wrap your
functions as components, and you can reuse them FOR EVER not just 15 years.

Pete.


Aren't you talking about marriage or something? About the *only* code I
know that is still running after 15 years use is in Cobol. I could say

the same for 30 years.

There is no reason to believe that what has been true in the past will be
true in the future.

On the contrary, the indications are that the future which is emerging for
IT will be VERY DIFFERENT from the IT past...
Even in the last five years, the components I have used have evolved into
different packaging, required updates for each OS, etc. etc.

Then your definition of "component" differs from mine.

If components (whether ActiveX or Java Beans) are properly wrapped (and they
have to be, to BE ActiveX or Java Beans) there will be NO NEED to make any
change to them whatsoever when running under a new OS or in a new
environment.

If you needed to change the functionality, that is a design issue which has
nothing to do with the Language in use.

I have components running on the Web, under Windows, and (in one case) under
Linux. They have never required any changes from the day they were released.

I believe that qualifies as a good definition of "re-use".

Pete.
Jul 19 '05 #32

P: n/a
On Mon, 4 Aug 2003 06:21:28 -0400, "Donald Tees"
<Do*********@sympatico.ca> wrote:
Aren't you talking about marriage or something? About the *only* code I
know that is still running after 15 years use is in Cobol. I could say the
same for 30 years.


I have product out there that's 30+ years old and still running. All in
assembly. Perfectly portable.
--
#include <standard.disclaimer>
_
Kevin D Quitt USA 91387-4454 96.37% of all statistics are made up
Per the FCA, this address may not be added to any commercial mail list
Jul 19 '05 #33

P: n/a
Clearly the language of choice is MIX. Completely documented and free.
Reuse on new hardware would require only a small program whose inputs and
outputs are clearly and completely prescribed.
--
#include <standard.disclaimer>
_
Kevin D Quitt USA 91387-4454 96.37% of all statistics are made up
Per the FCA, this address may not be added to any commercial mail list
Jul 19 '05 #34

P: n/a
And don't forget - a Real Programmer can write FORTRAN in any language.
--
#include <standard.disclaimer>
_
Kevin D Quitt USA 91387-4454 96.37% of all statistics are made up
Per the FCA, this address may not be added to any commercial mail list
Jul 19 '05 #35

P: n/a
Peter E.C. Dashwood wrote:

Aren't you talking about marriage or something? About the *only*
code I know that is still running after 15 years use is in Cobol. I
could say the same for 30 years.

There is no reason to believe that what has been true in the past
will be true in the future.


Huh? Dogs won't bark in North Carolina? The speed of light becomes less? The
world DEPENDS on things remaining - mostly - the same.

On the contrary, the indications are that the future which is
emerging for IT will be VERY DIFFERENT from the IT past...
Huh?

If components (whether ActiveX or Java Beans) are properly wrapped
(and they have to be, to BE ActiveX or Java Beans) there will be NO
NEED to make any change to them whatsoever when running under a new
OS or in a new environment.

If you needed to change the functionality, that is a design issue
which has nothing to do with the Language in use.

I have components running on the Web, under Windows, and (in one
case) under Linux. They have never required any changes from the day
they were released.

I believe that qualifies as a good definition of "re-use".


Nah, a better definition is 'continued use.' You know, like it functioned in
the past, it functions now, and we have every reason it will continue to
function in the future.

Jul 19 '05 #36

P: n/a
On Mon, 4 Aug 2003 06:21:28 -0400, "Donald Tees"
<Do*********@sympatico.ca> wrote or quoted :
Aren't you talking about marriage or something? About the *only* code I
know that is still running after 15 years use is in Cobol. I could say the
same for 30 years.


If the code is running unmodified in 20 years, most likely that code
is so obscure nobody knows how to change it, so it locks a business
rule into place, that really should be flexible.

In real life I have seen people emulating code for hardware that has
not existed for a decade mainly because they long ago lost the source
code.

Consider how many times that code will have to be read by maintenance
programmers, even if not changed, over that 20 years. You want to go
for something that is READABLE.

Java Gui code is not readable, but non-gui code is fairly good. It
should be considerably better with Java 1.5.

--
Canadian Mind Products, Roedy Green.
Coaching, problem solving, economical contract programming.
See http://mindprod.com/jgloss/jgloss.html for The Java Glossary.
Jul 19 '05 #37

P: n/a
jce
"Roedy Green" <ro***@mindprod.com> wrote in message
news:ue********************************@4ax.com...
On Mon, 4 Aug 2003 06:21:28 -0400, "Donald Tees"
<Do*********@sympatico.ca> wrote or quoted :
Aren't you talking about marriage or something? About the *only* code I
know that is still running after 15 years use is in Cobol. I could say thesame for 30 years.
If the code is running unmodified in 20 years, most likely that code
is so obscure nobody knows how to change it, so it locks a business
rule into place, that really should be flexible.


Typically it is not the code that is obscure. Code in PL/I, COBOL etc etc
is generally easy to read.
What locks a business rule in place is the Parent of ALL business rules:

"Business rules cannot change, after all, they are business rules".

I've seen code 15 years old that is perfectly understandable - we just
cannot find anyone to explain the "why".
I've seen code 15 years old that is perfectly understandable and continues
to do what it was supposed to and no one actually has asked for it to be
changed (outside of additional auditing information that was added in early
90's and again in the 00's).

So, to summarize, the "why" is often more important than the "how".
Flexibility is important if (a) It really is needed and (b) It doesn't
become bigger than the problem. KIS.
In real life I have seen people emulating code for hardware that has
not existed for a decade mainly because they long ago lost the source
code. The problem here is that they don't know what the old source was doing and
nothing more. An old employee of ours actually managed to lose some 5 year
old source code once. We knew what it did and we rewrote it...comparative
tests showed all was well. No problem.
Consider how many times that code will have to be read by maintenance
programmers, even if not changed, over that 20 years. You want to go
for something that is READABLE. Absolutely. But we want to have the annotated cliff notes that give the
summary of what it is doing it for.
Java Gui code is not readable, but non-gui code is fairly good. It
should be considerably better with Java 1.5.

All the things I see are definite improvements for readability, the enhanced
for loop and autoboxing. I'm not sure on the metadata front because most of
that "boilerplate" code is generated anyhow - it's just more hidden.
All these things though are just details. Nothing substitutes a good design
and it will be just as easy to write crap 1.5 as it was to write crap 1.1.
It's kind of like literature. We can remove grammatical constructs, reduce
words and make things nice and simple like Harry Potter....but 100 years
from now people will still be figuring out Shakespeare and it's
quirks...whilst Harry Potter gets studied at "alternative" colleges....It's
the grand picture that makes something important with value that will last
:-)

JCE
Jul 19 '05 #38

P: n/a
ja***********@bindereng.com.au (James Cameron) wrote:
Hi I'm developing a program and the client is worried about future
reuse of the code. Say 5, 10, 15 years down the road. This will be a
major factor in selecting the development language. Any comments on
past experience, research articles, comments on the matter would be
much appreciated. I suspect something like C would be the best based
on comments I received from the VB news group.


Well, C will be around in 15 years in the same sense that COBOL is
still with us today. But probably something that should be pointed
out is that there are very few C compilers out there that don't also
support C++. There are very few if any universities teaching computer
science that teach C but not C++. So you could easily make a
strategic decision between C and C++ according to what makes sense for
you today, and certainly both will still exist in some way shape or
form 15 years from now.

That said, Java certainly has enough momentum today to suggest it will
probably exist in 15 years. Though whether or not it will supplant
C++ or other alternatives is too hard to see. The problem with Java
is that if it fails to continue to gain momentum, it might very
quickly be relegated to that of a niche market. I won't make a call
as to which way I think it will go, but I think its fair to say that
both (dominance over C++, or relegation to a niche) are possible. I
think its very unlikely that it will completely disappear in 15 years.

COBOL and Pascal (the other groups you crossposted this message to)
will decrease in usage over time, not increase. There is absolutely
no new serious development being done in either language. In 15
years, Pascal will probably be completely dead, and the COBOL
community will be reduced even from the size of today's community
(human mortality alone will guarantee this.)

--
Paul Hsieh
http://www.pobox.com/~qed/
http://bstring.sf.net/
Jul 19 '05 #39

P: n/a
"jce" <de*********@hotmail.com> wrote:
COBOL has had a resurgence recently - question is whether it will hold up
for 15 more years....Probably will....but you have to hope that the
compilers/$$$ keep up or you'll just have something that works and isn't
bleeding edge (what's wrong with that?).


I don't know what's wrong with not being bleeding-edge (apart form Not
Being Cool In The Eyes Of The Press, to which I say: Pfffrrrrttt...),
but I can tell you exactly what's wrong with being bleeding-edge: the
blood tends to be yours.

Anybody remember 4GL? Prolog? Jav... oops <g>.

Richard
Jul 19 '05 #40

P: n/a
Peter E.C. Dashwood wrote:
If components (whether ActiveX or Java Beans) are properly wrapped (and they
have to be, to BE ActiveX or Java Beans) there will be NO NEED to make any
change to them whatsoever when running under a new OS or in a new
environment.


Q: What OS environments do ActiveX controls run on?
A: Only Win32.

S

Jul 19 '05 #41

P: n/a
In article <bg************@ID-189137.news.uni-berlin.de>,
Scott Condit <so****@socode.com> wrote:

Q: What OS environments do ActiveX controls run on?
A: Only Win32.


A more interesting question is: will they run on Win64? And they
probably will.

Cheers
Bent D
--
Bent Dalager - bc*@pvv.org - http://www.pvv.org/~bcd
powered by emacs
Jul 19 '05 #42

P: n/a

"Roedy Green" <ro***@mindprod.com> wrote in message
news:ue********************************@4ax.com...
| On Mon, 4 Aug 2003 06:21:28 -0400, "Donald Tees"
| <Do*********@sympatico.ca> wrote or quoted :
|
| >Aren't you talking about marriage or something? About the *only* code I
| >know that is still running after 15 years use is in Cobol. I could say
the
| >same for 30 years.
|
| If the code is running unmodified in 20 years, most likely that code
| is so obscure nobody knows how to change it, so it locks a business
| rule into place, that really should be flexible.

There is no such thing as "so obscure nobody knows how to change it".
It may be a challenge to follow a process, but it's never impossible.
Running the process, and checking the output, gives you an idea of what is
going on in the module.
Even if the source code is long gone, the testing process can give you
enough information to construct a replacement.
You have two of the three: Input, Process, Output.

Original programs may go back 20 years or more, but for the most part
enhancements have been made. There may be programs that have run untouched
for 20 years, but they the exception, not the rule.
I think that program enhancement falls under the reuse umbrella.

| In real life I have seen people emulating code for hardware that has
| not existed for a decade mainly because they long ago lost the source
| code.

AND the process still satisfies a business need.

|
| Consider how many times that code will have to be read by maintenance
| programmers, even if not changed, over that 20 years. You want to go
| for something that is READABLE.

Agree.

|
| Java Gui code is not readable, but non-gui code is fairly good. It
| should be considerably better with Java 1.5.

I sometimes take monstrous code, copy it, and edit my copy to improve
readability, and get a handle on what's going on.

Reformatting the structure, and changing data names may help make the code a
bit more readable.
Since you're not modifying the actual source code, your changes don't have
to conform to language restrictions.

You can write unreadable code in any language.
Jul 19 '05 #43

P: n/a
"Peter E.C. Dashwood" <da******@enternet.co.nz> wrote in message
news:3f********@news.athenanews.com...

"Donald Tees" <Do*********@sympatico.ca> wrote in message
news:mu******************@news20.bellglobal.com...
"Peter E.C. Dashwood" <da******@enternet.co.nz> wrote in message
news:3f********@news.athenanews.com...

> >

The source language is irrelevant in terms of code re-use. (It is OBJECT code that will be re-used...)

You should select a source language SUITABLE FOR THE JOB YOU WANT TO DO!!!
Then make sure that an OO or modular approach is adopted, wrap your
functions as components, and you can reuse them FOR EVER not just 15 years.

Pete.


Aren't you talking about marriage or something? About the *only* code I
know that is still running after 15 years use is in Cobol. I could say

the
same for 30 years.


There is no reason to believe that what has been true in the past will be
true in the future.

On the contrary, the indications are that the future which is emerging for
IT will be VERY DIFFERENT from the IT past...
Even in the last five years, the components I have used have evolved into different packaging, required updates for each OS, etc. etc.

Then your definition of "component" differs from mine.

If components (whether ActiveX or Java Beans) are properly wrapped (and

they have to be, to BE ActiveX or Java Beans) there will be NO NEED to make any
change to them whatsoever when running under a new OS or in a new
environment.

If you needed to change the functionality, that is a design issue which has nothing to do with the Language in use.

I have components running on the Web, under Windows, and (in one case) under Linux. They have never required any changes from the day they were released.
I believe that qualifies as a good definition of "re-use".

Pete.


So what you are telling me is that if I take my GL system(written in Cobol),
and properly wrap it in an OCX wrapper, then suddenly all the code becomes
perfect, and it will not need maintenance ever again?

Perhaps we should all do that, and then trade OCX's. It would be a lot
easier than maintaining the stuff.

Donald
Jul 19 '05 #44

P: n/a
"Roedy Green" <ro***@mindprod.com> wrote in message
news:ue********************************@4ax.com...
On Mon, 4 Aug 2003 06:21:28 -0400, "Donald Tees"
<Do*********@sympatico.ca> wrote or quoted :
Aren't you talking about marriage or something? About the *only* code I
know that is still running after 15 years use is in Cobol. I could say thesame for 30 years.
If the code is running unmodified in 20 years, most likely that code
is so obscure nobody knows how to change it, so it locks a business
rule into place, that really should be flexible.


That simply is not true. The general ledger rules have not changed an ioto.
What has changed is operating system interfaces, and most of those have been
cosmetic ... screen I/O and formating of reports. The rules of accounting
are identical, the account number scheme is identical, etc. etc. Being able
to re-use has a lot more to do with breaking the rules of bussness out from
the fluff than it does about technology.

Donald
In real life I have seen people emulating code for hardware that has
not existed for a decade mainly because they long ago lost the source
code.

Consider how many times that code will have to be read by maintenance
programmers, even if not changed, over that 20 years. You want to go
for something that is READABLE.

Java Gui code is not readable, but non-gui code is fairly good. It
should be considerably better with Java 1.5.

--
Canadian Mind Products, Roedy Green.
Coaching, problem solving, economical contract programming.
See http://mindprod.com/jgloss/jgloss.html for The Java Glossary.

Jul 19 '05 #45

P: n/a

On 4-Aug-2003, "Peter E.C. Dashwood" <da******@enternet.co.nz> wrote:
There is no reason to believe that what has been true in the past will be
true in the future.

On the contrary, the indications are that the future which is emerging for
IT will be VERY DIFFERENT from the IT past...


True enough. But one thing will likely remain the same - our ability to
predict how the future will be different.
Jul 19 '05 #46

P: n/a

On 5-Aug-2003, qe*@pobox.com (Paul Hsieh) wrote:
COBOL and Pascal (the other groups you crossposted this message to)
will decrease in usage over time, not increase. There is absolutely
no new serious development being done in either language.


Absolutely? I infer that the new development I see and do in CoBOL is all
jocular.
Jul 19 '05 #47

P: n/a
Snipped much of post.

"Marco van de Voort" <ma****@toad.stack.nl> wrote in message
news:slrnbivdbd.rak.ma****@toad.stack.nl...
|
| There only has to come some major new fashionable paradigm that promises
| managers to shave off 1 percent of development cost, and the total
direction
| and focus of the programming community can change.

What I THINK will happen is that we will abandon coding altogether.
We will have system modeling tools that generate the program coding for us.
Once the model is developed, the system could be generated for a variety of
environments. You want a Windows version, no problem. You want a Unix
version, no problem. You want a mainframe version, no problem.

The only tricky thing will be the reverse engineering of existing systems
into the model.
I've seen this done, but the reverse engineered model didn't address the
system from a business perspective.
Jul 19 '05 #48

P: n/a

According to Thomas Gagné <tg****@wide-open-west.com>:
:That's an interesting criterion. How reusable will the code be 15 years from
:now? Why not consider what makes code from 15 years ago reusable?

That's a great question - what are some libraries which were written
15 years ago still in use?
First, what is the criteria we are going to use - the code was written
15 years (or more) ago and never touched? Written 15 years ago and
continues to be maintained for portability? Written 15 years ago and
has undergone rewrites over time?
There's probably code in the first category on frozen systems - systems
where the only things being written are new reports, etc. but no new
applications written.

I'm trying to think what open source projects might fall into this category
- what about pbmplus ? The official release was
http://www.acme.com/software/pbmplus...dec1991.tar.gz
so that software is 12 years ago. I suspect that people still use that
distribution.
--
<URL: http://wiki.tcl.tk/ > <URL: http://www.tcl.tk/ >
Even if explicitly stated to the contrary, nothing in this posting
should be construed as representing my employer's opinions.
<URL: mailto:lv*****@yahoo.com > <URL: http://www.purl.org/NET/lvirden/ >
Jul 19 '05 #49

P: n/a

:The source language is irrelevant in terms of code re-use. (It is OBJECT
:code that will be re-used...)
:
:You should select a source language SUITABLE FOR THE JOB YOU WANT TO DO!!!

However, if the job being done is to develop a system which needs to continue
to be supported, and developed, for a long period of time, then the
language becomes at least a topic to be addressed.

One shouldn't _ignore_ the issue. One should consider it, build a business
case, then proceed.

If, for instance, one is deploying an application across a wide geographic
area, in a domain where applications need to run for long periods of time
with little down time, reliability issues, and little chance for replacements
(but possibilities for upgrades) etc., then one would hate to be saddled
with a language that in 5, 10, or 15 years few people will know. How many
developers can today develop, maintain, and debug in snobol, algol, rpg,
....
--
<URL: http://wiki.tcl.tk/ > <URL: http://www.tcl.tk/ >
Even if explicitly stated to the contrary, nothing in this posting
should be construed as representing my employer's opinions.
<URL: mailto:lv*****@yahoo.com > <URL: http://www.purl.org/NET/lvirden/ >
Jul 19 '05 #50

242 Replies

This discussion thread is closed

Replies have been disabled for this discussion.