Wednesday, September 02, 2009

COBOL.Net is NUTS!!

Just read an article about COBOL.Net.....who would really want to subject themselves to this horror.

Let's take the sample code in C#:

private void button1_Click(object sender, System.EventArgs e)
{
button1.Text = "Call COBOL";
}
Now here is the same method in COBOL:

METHOD-ID. button1_Click PRIVATE.
DATA DIVISION.
LINKAGE SECTION.
01 sender OBJECT REFERENCE CLASS-OBJECT.
01 e OBJECT REFERENCE CLASS-EVENTARGS.
PROCEDURE DIVISION USING BY VALUE sender e.
SET PROP-TEXT OF button1 TO "Call COBOL".
END METHOD button1_Click.
Am I the only one that finds this maddening. OK, OK, for the record there are still more lines of COBOL running then any other language. It could be that COBOL is just that great or it could be the fear of re-engineering systems are working just fine.

Any thoughs?

5 comments:

Alex Turner said...
This comment has been removed by the author.
Alex Turner said...

Hi :)

You've been hoodwinked! The COBOL.net you read there is just very bad COBOL.net. It is easy to write bad code in any language, that is not the fault of the language.

First off - COBOL is no longer written in upper case - doh!

Second, the code is just terrible - I wrote this equivalent - which is much better:

method-id. "button1_Click" private.
procedure division using by value sender as object e as
type "System.EventArgs".
set button1::"PropTest" to "Call COBOL"
end method "button1_Click".

I had the pleasure of listening to the podcast in which Jeff Atwood discussed the post he wrote and which you read. He has no knowledge of COBOL and his heavy duty development experience is limited to one (yes - one) asp.net server machine.

Whilst I am sure that he is a competent and intelligent person, I am also sure he has no idea what he is talking about in regards to the benefits or otherwise of COBOL.

Should you wish to know more about COBOL.net or other developments in this language - please feel free to contact me.

I will also find some more useful and domain relevant COBOL in my comments on Mr Atwood's post.

Best wishes - Dr Alexander J Turner - Software Systems Developer, Senior Principal.

Agile Jedi said...

Thanks for the clarification! You'll excuse me if I still find it very verbose. While I can appreciate the performance gains found in procedural languages, I still wish the syntax was a bit more compact.

In Jeff's defense he pulled the code from another site that he references in the article. I'd love to see an article on the virtues of COBOL and possibly procedural languages. Do you have a blog?

Alex Turner said...

Hi,

It is nice to see you're able to see two sides to the discussion.

COBOL.net is not only a procedural language, it supports objects and generics as well.

I do have a blog, in it I do post about COBOL from time to time. You can find me at nerds-central.blogspot.com . I do feel a COBOL post in the making here ;)

I think that your defence of Jeff Atwood is not a good one however. If he just pulled the code from another site, then why did he think he was in any position to pass comment on it or COBOL.net?

Maybe, we should start to consider what else he has written upon subjects he knows nothing about?

It is a shame that he has chosen to torpedo his credibility this way.

Best wishes - AJ

Alex Turner said...

If you get chance, feel free to check out http://nerds-central.blogspot.com/2009/09/cobol-for-net-better-than-c-at.html