Re: Pete Dashwood





"James J. Gavan" <jgavandeletethis@xxxxxxx> wrote in message
news:ZdzDk.13121$VS3.10605@xxxxxxxxxxxxxxx
Pete Dashwood wrote:
"SeaSideSam" <Sam@xxxxxxxx> wrote in message
news:1c587$48dde0be$6214c5e7$14321@xxxxxxxxxxxxx


The amount of COBOL that remains would depend on how much you were able
(or willing) to refactor in step 3. I'm working on a project at the
moment where we expect to refactor around 80% of the code. If the code is
well written, it isn't difficult to refactor. The whole idea is not to
"cling to COBOL", it is to move on, but not lose your existing
investment. By step 4 everyone will have been trained in C# (which is
much quicker to write than COBOL, mainly because the IDE (VS 2008)
virtually writes it for you with Intellisense), and the new development
will be new components in new languages (python, Ruby, C#, VB.NET, and so
on. The language doesn't really matter, although some languages are
better than others for certain tasks. What really matters are the
objects. These are the building blocks of your business. Glueing them
together is not only fun, it is also profitable. Being able to include
legacy COBOL with the new stuff and have it all run seamlessly together,
is a big deal.

To my mind the most important word you used in the above paragraph was
INTELLISENSE. What programming has to be about, regardless of language, is
TOOLS and even more TOOLS.


Yes, tools are very important. Actually building them, although complex, is
rewarding at many levels.

I am working on some at the moment that I have had to set aside because I
simply haven't been able to concentrate on really hard stuff due to illness.
I'm now pretty much recovered and ready to get stuck into it again.


Maybe not quite 'Intellisense' although very close, some tools I was
familiar with :-

- Converting one COBOL compiler's files to another COBOL compiler format.
UGGH ! How many times has this one come up on clc ? Back in MF DOS days I
needed to get RM/COBOL (obsolete version now) across to MF.
They produced a book on conversion not just RM, but many of the other
compilers around at the time. User-wise you were prompted for a copyfile
or a source containing the file, plus enter the filename you wanted to
convert. Stand-alone program - hey presto you got your results; not
difficult to copy/paste from their source to make a suite of programs so
you automatically generated 10 or more files into MF format in one run.
Worth bearing in mind I'm talking about some 700 file sets accumulated
over a 10 - 15 year period. There were some 10 file formats with a file
set for each oil/gas plant being dealt with. Assume I was bit/byte
oriented, which I'm not, how long would that have taken me to produce ?

I wrote a package called COSSET (COBOL Source Statement Edit and Translate)
for CDC back in the '70s which translated from a given source to any other
version of COBOL requested. (It was a lot easier then than it is now... :-))

- MF ESQL - I would call it 'Intellisense'.

Not in the sense that that term is used in Visual Studio, but no reason why
you can't call a tail a leg if you want to... :-)

I'd call ESQL a generator.

Yes I got the intro to DBMS from you but how to be sure I got it right the
first time. As you know at your recommendation I used MS Access, but the
following applies to all popular DBs. Register the ODBC drivers you are
using and ESQL pops up a treeview, a line per ODBC. Expand the treeview and
select which application you want; further expansion to show the tables
applicable. Now you zero in on a particular table.

For starters you can generate a copy file with SQL/COBOL/Null field
formats, for the particular table.

You can select one-by-one the individual SQL executes that you want. From
the table format you select which fields are appropriate then hit a 'go'
button and your SQL statement is displayed on the screen. Now here's the
nifty bit; without compiling you can run the query from ESQL and check out
results to ensure the files you selected give the correct answers. You
wont get syntax errors but of course you could have included or excluded
pertinent fields. Satisfied it works you now copy/paste the SQL statements
into your COBOL source.

The Query generator on Access does the same. I don't like it, as I'd rather
write my own SQL, and SQL View lets me do that, test it, then cut and paste
to COBOL exactly as you described.

These days I'm moving away from SQL and more interested in LINQ and Lambda
functions. At the moment, these still generate SQL, because that's what we
have, but query multi-processing and new storage media are just round the
corner and that's where this stuff shines. Again, it is all about objects...

Now old hands at SQL might observe they don't need this tool, they worked
it out a decade ago. But for the newcomer making that switch from COBOL
files to SQL - it is a dream and incredibly quick when you have
familiarized yourself with the tool.

Sure. So is Query Analyzer, QMF, QBE and a host of similar. Anything that
works for people is good.

- GUI Tools - not quite sure how yours worked in FJ, but my own guess, the
current version of MF Dialog System is a winner. There's a prepackaged set
of source for each individual control, requiring you to design/paint the
dialog box, code additions/exceptions in dialog code and then compile. I
don't need to tell you this in detail because it can't be far removed from
when you were using Dialog System in DOS days.

No it isn't. The main problem I saw with it was that it is a separate
language... not COBOL. With Fujitsu PowerCOBOL you can write EVERYTHING,
including event processing scripts, in COBOL. While it is primitive compared
to using .NET, at least it is consistent.

I say it's successful because there are very low volumes in the MF Forum
asking about it. I'm guessing users have reached a comfort zone with the
product; alternatively having got NE Version 4 or 5 they may have switched
to dotNet and possibly use VB.

I think the latter is the most likely.

- GUI Tools - MF Dialog Editor, the one I used. Sure, use icons to
dropdown into your Dialog design, but you then get involved in a lot of
coding per dialog - so after much effort I wrote a generic MyDialog
to create a dialog using any controls and response to Windows events. This
is back when you and I were first figuring out OO, so this was not a five
minute exercise.

I can smile now at some of the vitriol that was generated. Do you remember
the old chestnut about performance and how OO objects would be horrifically
inefficient and would take forever to instantiate and use?

Here's a simple C# Class with three properties....

class Person
{
public string Name;
public string Address;
public DateTime Birthdate;
}

Know how long it takes to create a MILLION of these on todays notebooks?
Just under quarter of a second... But it would have made no difference if
that was attainable then; the community were not having any part of OO
COBOL...


IF ONLY MF had 'Intellisense-itised' it there may have been considerably
more people using this approach - OO-wise far more flexible than Dialog
Editor. Of course, that's a hindsight observation after the event and
every technology has a progression.

Yeah, we'll never know...:-)


Yep, they do. VS 2008 has enhanced Intellisense even more. It is really
essential when you consider the .NET Framework has over 40,000 base classes.
It would be extremely difficult to remember the properties, methods, and
events of every Class. Much easier to decide: "Oh, I need to use the
clipboard...not sure about that, never used it before..." just type the
word, add a fullstop and let Intellisense show you all the available
methods, properties and events. Put the cursor on a method and Intellisens
shows you the syntax for invoking it, and what parameters and their data
types are needed. Still not sure? Need some background? Well, you could wade
through MS's comprehensive Help technobabble, but I have found it is just
easier to GOOGLE "C# Clipboard". Instant response in plain English, sample
code on the finer points, what more could you need? The advantage of being
part of a community of over 50 million programmers writing C#. It is a far
cry from the days of trying to get support for COBOL...

As to the word 'Intellisense'; Thane didn't use that word but brought our
attention to the concept, either here in clc or softwaresimple. He was the
J4 rep for Fujitsu at the time. He mentioned this feature, (presumably,
acting on behalf of FJ he had insight as to what the dotNet model would
be). 'X' = Visual Studio, could prompt you with methods. Sounded
interesting, but I let it pass, because I had a separate file which I
could bring up with all methods applicable to a particular class - but
although very comprehensive, it was somewhat laborious .

And what about Classes you wrote yourself? And what about properties and
events as well as methods? Intellisense covers all of it. As soon as you
reference a separate Class you wrote yourself, Intellisense has it covered.
I was amused the other day because I referred to a Class I hadn't written
yet, in code... Immediately, Intellisense asked me if Id like for it to
create a prototype (stub) for this Class. Intrigued, I agreed. It wrote a
dummy Class with correctly typed parameters which it had deduced from my use
of the Class, and then placed a system stub in it that simply displayed a
message saying: "This function is not yet implemented." So I could have run
and tested my program without ever writing that Class. It made me smile, but
VS 2008 does that fairly frequently as I discover new stuff in it. Of
course, those nice people at MicroSoft make it available free, but we all
know what villains they are really.... <yawn>



Then our buddy Will Price covered 'Intellisense' with his book on MF and
dotNet. Subsequently you enthused about Intellisense and its application.
Go for it !

I don't recall reading about it in Wil's book on OO COBOL which is the only
book by him that I have. I just checked the index and couldn't find it. I
have been enthusiastic about Intellisense since I frst encountered it in the
flesh, in VS 2005 Express. In fact, I was SO impressed by the free version
(Express) of VS 2005 that I actually bought VS 2008 so as to get the full
features and extensions. The Express version DOES have Intellisense and is
more than adequate for normal Visual C# development. If you want to develop
for mobile devices and the Web you MAY (I'm not sure) need the full version.


As I wrote above, technology is a progression, regardless of whether or
not we are talking about computing, automobiles or food
preparation/packaging. Each new idea/innovation is a compliment to
previous technology and enhances it. It's by no means exhausted and the
Intellisense approach will be/and must be expanded in IT beyond what we
can currently dream about.

To the point where code writes itself. I see that in about 20 years. After
that computers will probably depart from the current Von Neuman model and
programming as we understand it will be a thing of the past.


Just as an afterthought back in the 70s/80s, akin to what I described
above abouut SQL - would have been quite neat if COBOL could have
generated COBOL file (methods) Paragraphs based on prompts as to what you
wanted to do with a particular copyfile ? I'm assuming invidual vendors
would do this. Oh my gawd, not the Standards Committee - imagine what they
would do with this simple idea !

Er... I'd rather not thanks...:-)

As a futurist you look to the days when you can cobble together components
to produce the results you want without intervention. Well yes and no - if
some smart ass produces components to create web pages - he'd better be
damn sure it covers EVERY authorised web page vendor - so that it will
function with IE, Firefox, Opera, etc., etc. :-).

There already are such components and they are supposed to be cross browser
compatible. Most of the ones I've used are. AJAX is a step in this direction
(and a step towards taming rogue client JavaScript...)


My utter distaste is where I see you and Richard having to delve into the
software for what it will actually do; granted you said it was
'interpretation'. But bearing in mind that young lady who zeroed in on a
problem of yours, that implies specialization.

What really pissed me off about that is that she is totally non-technical
and comes to me when she wants a JavaScript function... :-) She runs a Web
building business while she is completing her studies at the local Polytech
and does it entirely using templates and code that she simply downloads
without any understanding of it... :-) BUT, she has a young user's eye and
she saw things I didn't expect anyone to pick up on. I was actually very
glad of her input and cooked her dinner for it. As I've known her since she
was born and we are good friends, I can't be too hard on her... :-)


Perhaps that's necessary
- but assuming cottage industry computing grows, individuals finish up as
'Jack of all trades, master of none'. The buzzword 'Intellisense' has to
produce a progression.

Well you picked "Intellisense". It was a fairly minor part of what I wrote,
mentioned in passing. I don't see it as a "buzzword" (that has negative
connotations to me, and I see nothing negative in Intellisense...), and I
don't see it needing to produce a progression, although if it does, that's
fine too.

You lost me here. My experience is that the more you learn and practise, the
better you get at it. I believe it is necessary to expand the skill set and
master all of them. At least to the point of competence where you can USE
the skills you have acquired... (it seems pointless to me to invest time
learning something you won't use, at least at a technology level.
Philosophically, there is much use for knowledge you may not apply directly
in your life.)

How much of a "master" do you want to be?... I want mastery to the point
where I can use the skill to achieve the results I want; I'm not interested
in having Oxford debates about the background philosophy of Bendix
assembler, for example, although I don't disrespect the people who DO want
to do that.

Master, Guru, Teacher, are all titles bestowed by other people. We should
not seek these titles for ourselves. It is enough to learn and understand.
If you can help others to learn and understand, that's a bonus, and in that
process you can grow.


My use of the word 'authorised' - an example. There are some 6 packages
which will handle personal income tax in Canada, some quite simple and
others more detailed. Go to the Revenue Canada site and those six vendors'
names appear with an imprimatur from Revenue Canada. Their software has to
pass stringent tests from RC so that they will accept printed or webbed
returns from the applications. (User-wise - Snail-mail returns will get
any refunds back, but zipping your return via the Internet - you money is
back in less than 10-14 days). I've forgotten the number but Internet
submissions of Personal Income Tax in Canada are quite high - don't hold
me to it - but I think at least 60%.


I don't know what it is here as I don't get involved in it. I pay people to
do that and they do a very good job :-) I believe the major honcho in
Auckland audits my business and personal accounts and submits them
electronically once a year to IRD (Inland Revenue Department); his local
agent here in Tauranga collects all my dockets for business related
expenditure and has electronic access to the company account. Once a month I
meet her for lunch and hand over an envelope with all the dockets (mainly
fuel and car related expenditure, but also software or hardware if I buy
any). She does the MYOB and the guy in Auckland (who is my official tax
agent; they talk to him not me if there is any problem) audits and submits
it. Totally pain free from my point of view. Last year the two of them saved
me thousands of dollars more than they cost, so I reckon it is good value.
I asked a few people what they did and 3 out of 5 submit electronically. Too
small a sample to draw any solid conclusion.

Pete.
--
"I used to write COBOL...now I can do anything."


.


Quantcast