Re: You know what they say about statistics and statisticians
- From: "Pete Dashwood" <dashwood@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 4 Jun 2009 15:22:18 +1200
Michael Wojcik wrote:
Pete Dashwood wrote:
Michael Wojcik wrote:
Pete Dashwood wrote:
3.In a straight batch processing environment COBOL is completely atVery few programming languages are designed to run in a distributed
home; in a distributed environment , it isn't.
environment. Erlang is the only one that comes to my mind at the
moment. What languages do you believe are better suited for
distributed programming, and why?
I never said "designed to run".
Fair enough. I was trying to extract something specific from "at
home".
OO languages (pedantically, "languages that support Object Oriented
Programming") are better suited to distributed environments than
non-OO languages because the Object Model suits itself to
distribution better than the procedural model.
Well, then, COBOL must be one of these "better suited" languages,
since it supports object-oriented programming.
Yes, OO COBOL is indeed more useful for distributed environments.
I found this out by using it for 10 years. I still have a number of OO COBOL
components that are running in newer environments... (have a look at:
http://primacomputing.co.nz/cobol21/S2NTestServer.aspx
for just ONE example...)
Unfortunately, although OO COBOL is excellent, it simply suffers by
comparison with more modern OO languages, which had object orientation
designed into them from the start. However, that is a different argument and
it will be coloured by personal preferences. I have been very happy to port
my existing inventory of COBOL components to the .NET environment. They run
perfectly well with C#, using Interop Services and I am relieved that it
wasn't necessary to redevelop stuff that took years to write.
To be honest, I'm rather dubious about the overall thesis. I can see
the argument for the usefulness of OO in some distributed programming,
simply because abstraction weakens coupling. But it's entirely
possible to achieve the same abstraction in a language with no direct
OO support, or without using the OO features of a language - and in
fact this is done all the time. Nearly all the PHP-based apps I've
seen make minimal use of PHP's OO syntax, for example. Yes, they'd be
much cleaner if they were written using a polymorphic MVC design; but
their developers simply haven't found that a compelling benefit.
Can/should we judge the efficacy of an argument about distribution and OO by
relating it to a sample of PHP? :-)
There are many reasons why programmers don't always take the "best"
approach. Some will argue Occam's razor and do the minimum that they can,
some are simply not aware of wider implications in what they do
("polymorphic MVCs" f'rinstance, are not EVERYBODY's cup of tea...) The
point is that there are millions of people programming computers, who DON'T
necessarily have the in-depth Academic background that you have Michael.
Nevertheless, they achieve results.
I did not seek to imply (in fact I have stated exactly the opposite,
explicitly) that you CANNOT do distributed computing in procedural code;
what I am suggesting is that OO code is better for it. You noted yourself
the fact that abstraction weakens coupling, but that is just one aspect of
it. Encapsulation too, weakens coupling, and then there is the benefit of
reuse with components being instanced locally and remotely as and when
needed. It is not so easy to achieve that with procedural approaches.
So while it might be convincingly argued that OO features make it
easier to write many kinds of distributed applications in clean,
robust, maintainable ways, in practice that argument appears to be
relatively inconsequential.
It is if you ignore it. :-)
That's kind of like saying: "Well yes, our local site Programming Standards
would definitely make it easier and better to develop code, but nobody pays
a mind to them, so they are really inconsequential."
I know, from my own experience, that applying the concepts I have outlined
works extremely well, just as the Programming Standards (even and especially
for COBOL) which I have written in various places, have been well received.
These days, "Best Practice" is a lot more prevalent than it was back in the
Wild West of the early days of computing. It isn't quite as necessary to
spell things out because "everybody knows" already...Programming Standards
from the last century have become "site guidelines" in this one. By the same
token, many more people recognize the value of an OO approach for
distributed network programming both on the desktop and on the web.
(Notwithstanding your PHP sample... I don't use PHP so I really can't
comment. I DO use ASP.NET and I can assure you OO plays a large part in it.
The framework Classes provide a rich library of functionality for Web pages
AND desktop applications.
Fortunately, it isn't just me... I'm seeing more and more people interested
in leveraging their legacy COBOL and realizing that OO is a very useful tool
for doing it. It simply ISN'T enough to just recompile everything for .NET
and many people are starting to recognise that.
We've been saying similar things about
dynamic functional languages since the early 1960s, and most
applications are still written in static compiled procedural languages
(with or without OO sugar).
Not sure who "we" is in the above... :-) (I certainly haven't...)
But I do take your point. There is talk that a "dynamic functional" release
of C# is in the pipeline. Personally, I'll get excited if it gives me more
functionality, but I really couldn't care less about whether a compiler is
static or not (at least, not at this stage of my development; maybe when I
have learned much more, I'll care more; right now, I just want the code to
work.
Pete.
--
"I used to write COBOL...now I can do anything."
.
- Follow-Ups:
- Re: You know what they say about statistics and statisticians
- From: Howard Brazee
- Re: You know what they say about statistics and statisticians
- From: Michael Wojcik
- Re: You know what they say about statistics and statisticians
- References:
- Re: You know what they say about statistics and statisticians
- From: tlmfru
- Re: You know what they say about statistics and statisticians
- From: Pete Dashwood
- Re: You know what they say about statistics and statisticians
- From: Howard Brazee
- Re: You know what they say about statistics and statisticians
- From: SeaSideSam
- Re: You know what they say about statistics and statisticians
- From: Pete Dashwood
- Re: You know what they say about statistics and statisticians
- From: Michael Wojcik
- Re: You know what they say about statistics and statisticians
- From: Pete Dashwood
- Re: You know what they say about statistics and statisticians
- From: Michael Wojcik
- Re: You know what they say about statistics and statisticians
- Prev by Date: Re: You know what they say about statistics and statisticians
- Next by Date: Realistic reuse WAS Re: You know what they say about statistics and statisticians
- Previous by thread: Re: You know what they say about statistics and statisticians
- Next by thread: Re: You know what they say about statistics and statisticians
- Index(es):
Relevant Pages
|