Rick Smith wrote:
> On Friday, July 19, 2013 12:00:30 AM UTC-4, Pete Dashwood wrote:
>> Bill Gunshannon wrote:
>>> In article <
b4ph0f...@mid.individual.net>,
>>> "Pete Dashwood" <
dashw...@removethis.enternet.co.nz> writes:
>>>>
w.niem...@gmail.com wrote:
> [...]
>>> Not sure I would say most. I certainly don't and a lot of my peers
>>> share my undersdtanding of programming and softwarfe engineering.
>>> Pick the right tool for the job. And sometimes (not always) that
>>> tool is COBOL.
>>
>> Mostly, and certainly for a networked environment, it isn't.
>
> Yeah, but whose fault is that? <g>
>
> One of the early implementations of a "networked environment"
> was the COBOL Communications feature using the COBOL MCS to
> pass text messages between a central computer (server) and
> terminals (clients).
Yes, I knew it well and used it in a couple of places. I'm pleased to see
you are not seriously suggesting it replace .Net... :-)
>While there may be both practical and
> technical reasons why the feature, as defined, may not meet
> today's needs, the failure to adapt to or refine the feature
> may well have been 'political'.
Not sure. I try not to comment on COBOL politics because it is still a sore
point with me. The language and the community (in my opinion) were badly let
down by the Standards Committee and, although some very fine people put in a
huge amount of effort (Bill Klein is a perfect example), there was no proper
management of that effort and we ended up with an unimplementable standard,
and some dispirited and demotivated ex-committee members. It's water under
the bridge and I let it go a long time ago but it still irritates me when I
think about it. I would also agree that the COBOL community as a whole was
resistant to change and that didn't help.
>
> Given that COBOL Communications "isn't" currently usable in
> a "network environment", it is nonetheless reasonable, in
> some cases to use COBOL with a 'foreign' interface to the
> network.
Rick, I have never suggested anywhere that you CAN'T do things with COBOL;
you often can, but it is tedious and requires a lot of work, compared with
just plugging in pre-written, already debugged, functionality with a few
lines of code. My point was, and still is, that procedural COBOL is NOT the
best tool for the job of providing and using network layers and objects. (OO
COBOL is fine and my objection there is not to the COBOL; only that there
are easier and (in my opinion, better...) languages for doing that with.
>
> [In reviewing the COBOL Communications feature, the expression
> "Everything Old Is New Again" came to mind. Here is a video
> of the song from the movie "All That Jazz".
> <
http://www.youtube.com/watch?v=nL22e30bFic >]
I couldn't get the link to work from the text but cut and pasted it into the
browser. Excellent! And very entertaining...
>
> If it is possible to use COBOL, in any way, to transfer a page
> with an embedded video, such as that given, then there is no
> reason to not use COBOL in a "networked environment". I see no
> reason why such a transfer cannot be done with COBOL using a
> 'foreign' interface.
Ah, I can see a number of reasons to "not use COBOL" even if there was the
capability to transfer such a page.
1. It costs money to write and run it. (If you use Micro Focus) (Javascript
and HTML5 are free.)
2. It requires more code and therefore takes longer to write and is more
difficult to maintain. (The presentation you watched is driven by less than
a dozen lines of Javascript and HTML5 and that includes falling back to
Flash if the browser doesn't support HTML5, and also includes offering the
option to download the video if they are unable to view it at all.)
3. It doesn't innately support asynchronous processes in the way that
Javascript and C# 5 do.
4. It's difficult to find people who can do it. And they need to know the
'foreign interface' as well... :-)
5. It
I have been dealing with HTML5 videos for the PRIMA web site and addressing
the problems of outmoded browsers having to fall back to Flash. The videos
on the site took weeks of investigation, trial and error, and research
before I could get to an acceptable level of video delivery. Getting
deliverable video to everyone in the world is not a job for COBOL. It is
hard enough scripting this stuff in Javascript, I wouldn't even begin to do
it in COBOL.
>
>> If you want to argue this, my position is clear from the
>> presentation quoted earlier. (and the link below)
>>
>> If you watch the presentation, and wish to argue any of the points
>> in it, I'll be happy to respond, but I'm not going to waste time
>> here presenting arguments I already presented publicly.
>
> At 24:15, you show "... RDB instead of flat files. ...". I believe
> this should be 'indexed files'.
I agree, however I have no intention of editing the video now.
>
> [...]
>>>> But mostly, we need to move COBOL on, or move on from it.
>
> I am not clear what you mean by 'move COBOL on'
Move COBOL on from procedural COBOL to OO COBOL if you intend to salvage
your legacy, and move on from COBOL altogether once you have turned the
learning curve for OO.
Right about now there are a number of COBOL guys who have been using the new
OO COBOL .Net compilers and have come to grips with Object Orientation.
They're doing it in COBOL because it is familiar and that's the tool they've
been given. But they are starting to realize that if it is all about getting
everything to the .Net framework, then the .Net languages are better than
.Net COBOL for working in that environment. I see people moving to VB.Net
and C# for future .Net development, once we have their legacy COBOL migrated
to the platform. Some stay with COBOL; it is really their choice, but I
don't think there'll be many within a few years.
I could be wrong; time will tell.
The solution we are offering lets them continue with COBOL if they want to,
or they can move on to other languages. (And the Framework lets them use
multiple languages on a level playing field (I love .Net... :-))
>
> [...]
>> Meanwhile, their management are starting to wake up to the fact that
>> COBOL is EXPENSIVE, and compilers like C# and JAVA are FREE. Why
>> would you opt for a development tool which requires you to pay an
>> "up front fee" to buy it, an "ongoing fee" for support and
>> maintenance, and a "run time fee" for everything you build with it,
>> when you can download C# for free, get instant tuition, support, and
>> code samples for free, and pay NO fees to anyone for what you build
>> with it?
>
> I have yet to see any claims that the performance of C# and Java,
> with few exceptions, beats the performance of native compiled
> code.
After the initial JIT compile it IS 'native compiled code'... :-)
(Once an assembly has been JIT compiled if it is required again, it IS
native code; Assemblies are only JIT compiled when they need to be...)
In the same way that COBOL compiled native code may not be not quite as good
as Assembler code written by an experienced programmer, so the JIT compile
IS an added overhead on C#. However, it is not so significant that it is a
showstopper and the benefits far outweigh the very slight performance
penalty.
However, I agree with you about native compiled code. Except that the
differences are infinitesimal. A couple of years back when I was a bit
concerned about this (I'm not any more) I benchmarked native compiled code
using InterOP services against the same functionality written in C#. (Both
running in .Net Framework 3.5). The "unmanaged" code was faster but it was
in the order of microseconds, over thousands of transactions. Anything
accessing a database (or even indexed files) is going to spend more time
waiting on IO than it is burning processor cycles.
The whole point about the networked environment is that it is scalable. You
can add new (faster) processors and implement load levelling if you are
seriously concerned about performance. Even if COBOL gave SIGNIFICANTLY
improved performance, that still wouldn't swing it for me. It costs too much
and I have options which were not available in the last century. (I would
have jumped at Open COBOL if it supported COM and OO... but that ship is
sailing and it is probably too late now, even if they came up with it.
I'm happy with using C# and I'm more productive with it than I ever was in
COBOL.)
>While that may not mean much for the individual or small
> user, it can make a difference to large enterprises in the cost
> of hardware to run C# or Java.
That's an issue with the Framework (.Net or JVM) rather than the languages.
Large enterprises are already using networks so mostly it is a case of
upgrading/extending their servers. If you measure the kind of server farm
you can buy for the cost of a mainframe, making hardware choices is not that
difficult.
>
> [...]
>>>> Please take a look at:
>>>>
>>>>
http://primacomputing.co.nz/primametro/demosandtutorials.aspx
>>>>
>>>> and click on the tile for "Salvaging COBOL"
>>
>> As noted above, I'll happily debate any points arising from this
>> presentation, but only if you have watched it first :-)
>
> Then, happily debate why you used 'flat files' instead of
> 'indexed files', as noted above. <g>
No debate, it should have been "indexed files". I used "flat files" in the
generic sense of a non-database. A "loose use" if you like.
In a 28 minute presentation, if that was the only issue you had, I'm very
happy... :-)
Thanks for watching it and your feedback, which I always respect and value.