Code Comments
Programming Forum and web based access to our favorite programming groups.This is partially a response to the current "What is/was the problem with OO and COBOL?" discussion and partially a follow-up to the recent "Did the mainfram e kill COBOL?" thread. Hypothetical Situation: In 1995 (or so - but WELL before Y2K) ANSI and ISO had passed an amendment (similar to Intrinsic Functions) with a "well defined" OO specification - amending the '85 Standard and there were a FIPS certification test (as there was for Intrinsic Functions - but not the 2nd actual amendment) and the US government still required a certified COBOL compiler to be available for HARDWARE (and O/S) sales to any US government body Question: Would OO COBOL have been available AND adopted by most COBOL user sites? **** Follow-on question: If there hadn't been 100-200 identical "public review" comments on the first revision of the '74 Standard (what eventually became the '85 Standard) each of them complaining about things being removed from the Standard (i.e. those th ings that eventually become OBSOLETE) along with many public and private "threats " of lawsuits if ANYTHING were dropped from the '74 Standard, Would later revisions have come out more quickly? Would they have been implemented and adopted? (NOTE: Most of these comments came from IBM mainframe shops who never did understand that IBM could keep the features - even if they weren't in the Standard and almost NONE of them even knew how to run OS/VS COBOL or DOS/VS COBOL compiles with ANSI-conformance checking turned on. Common complaint, for example was the removal of EXHIBIT which wasn't even in the '74 Standard) *** Next Question: If the Intrinsic Function Amendment's first draft had either had decent erro r handling or no error handling (rather than returned values that could have a lso been good returned values) and if the Amendment process hadn't turned out to take 3-5 years for each amendm ent and If ANSI hadn't required that a 3rd amendment would mean that the entire Stan dard would have to be republished and if the '85 Standard had actually existed in a machine maintainable format th at COULD have been republished Question: Would the amendment process actually be used to introduce "new and timely" features into COBOL (besides the Intrinsic Functions Amendment which was slo w and had problems) -- Bill Klein wmklein <at> ix.netcom.com
Post Follow-up to this messageOn Fri, 05 Oct 2007 05:09:30 GMT, "William M. Klein" <wmklein@nospam.netcom.com> wrote: >Hypothetical Situation: > In 1995 (or so - but WELL before Y2K) ANSI and ISO had passed an amendmen t >(similar to Intrinsic Functions) with a "well defined" OO specification - >amending the '85 Standard > and >there were a FIPS certification test (as there was for Intrinsic Functions - but >not the 2nd actual amendment) > and >the US government still required a certified COBOL compiler to be available for >HARDWARE (and O/S) sales to any US government body > >Question: > Would OO COBOL have been available AND adopted by most COBOL user sites? My guess: Not a chance. There are a couple of different trends that have happened with languages - one of these is moving towards OO. Another important trend is the moving towards library based languages. IMHO, library based languages are harder to program, as commands aren't as rigidly defined and controlled. But they are much easier to write, modify, and evolve. They can be created by societies instead of by management groups - and can be cheaply available to everybody. Make ANSI changes in CoBOL and wait for one company then another slowly add those changes to its expensive compiler. Make similar changes to C, and the libraries are quickly changed and distributed. And make changes to HTML, XML, Java, etc. and people are chomping at the bits to play with the new powers they get.
Post Follow-up to this messageOn Fri, 05 Oct 2007 05:09:30 GMT, "William M. Klein" <wmklein@nospam.netcom. com> wrote: >This is partially a response to the current "What is/was the problem with O O and >COBOL?" discussion and partially a follow-up to the recent "Did the mainfra me >kill COBOL?" thread. > >Hypothetical Situation: > In 1995 (or so - but WELL before Y2K) ANSI and ISO had passed an amendmen t >(similar to Intrinsic Functions) with a "well defined" OO specification - >amending the '85 Standard > and >there were a FIPS certification test (as there was for Intrinsic Functions - but >not the 2nd actual amendment) > and >the US government still required a certified COBOL compiler to be available for >HARDWARE (and O/S) sales to any US government body > >Question: > Would OO COBOL have been available AND adopted by most COBOL user sites? OO Cobol would have been adopted by most user (mainframe) sites in the mid ' 90s if it could have been used, out of the box, to create Web pages. The missing featu res were class libraries like those offered by Java -- GUI components similar to AWT, datab ase via ODBC/JDBC, XML, collection classes, a stack walker for debugging, remote dep loyment and remote procedure calls and message passing similar to RMI/CORBA/EJB. Mainframers were under pressure to create Web sites. If Cobol had been capab le of doing it, they would have learned and used OO Cobol rather than Java. Government sponsorship didn't save Ada; IBM sponsorship didn't save PL/I. T he Cobol community didn't care about standards politics, it wanted a set of tools tha t could be used NOW.
Post Follow-up to this messageWilliam M. Klein wrote: > This is partially a response to the current "What is/was the problem with OO and > COBOL?" discussion and partially a follow-up to the recent "Did the mainfr ame > kill COBOL?" thread. > > Hypothetical Situation: > In 1995 (or so - but WELL before Y2K) ANSI and ISO had passed an amendme nt > (similar to Intrinsic Functions) with a "well defined" OO specification - > amending the '85 Standard > and > there were a FIPS certification test (as there was for Intrinsic Functions - but > not the 2nd actual amendment) > and > the US government still required a certified COBOL compiler to be availabl e for > hardware (and O/S) sales to any US government body > > Question: > Would OO COBOL have been available AND adopted by most COBOL user sites?[/color ] That's difficult to answer. I've obviously read what some other folks have said, and one of the complaints (other than the verbosity - but I think that's a red herring) is the lack of libraries. If this had happened the way you postulated above, would libraries have been available (either intrinsically to COBOL, or an interface to Java or C++ libraries)? For example, I know just recently (I believe) that the discussion on "collections" was done. This is such a basic building block of most all other OO implementations I've seen. Sure, you could implement it with the facilities that exist already, but being able to extend that collection building block make development time much quicker. I think that, with the other political things you've described in your other "what-ifs", it sounds like the customers got exactly what they asked for. It seems to be a mindset shift. Look at the distrust that Pete has encountered when he's posted about components - just yesterday, someone said "we'll have to re-test everything!" :) I've been in my current shop (Java) for about 6 months now, and I've been amazed at how isolated I can make fixes. The code belongs to the team, and the we can all work on whatever. I add a property to an object, or a method to a service, there's no clamoring for a re-test on everything. I don't know that that's inherent in the language, or is part of the design. I would tend to think it's more the latter. But, if we had tried to do that at my last shop, we would have been laughed out the place. So, to answer your "what-if", I'd say that it certainly would have helped - but it still might not have been enough. -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ / \/ _ o ~ Live from Albuquerque, NM! ~ ~ _ /\ | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Business E-mail ~ daniel @ "Business Website" below ~ ~ Business Website ~ http://www.djs-consulting.com ~ ~ Tech Blog ~ http://www.djs-consulting.com/linux/blog ~ ~ Personal E-mail ~ "Personal Blog" as e-mail address ~ ~ Personal Blog ~ http://daniel.summershome.org ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ GEEKCODE 3.12 GCS/IT d s-:+ a C++ L++ E--- W++ N++ o? K- w$ !O M-- V PS+ PE++ Y? !PGP t+ 5? X+ R* tv b+ DI++ D+ G- e h---- r+++ z++++ "Who is more irrational? A man who believes in a God he doesn't see, or a man who's offended by a God he doesn't believe in?" - Brad Stine
Post Follow-up to this messageOn Sat, 06 Oct 2007 14:46:38 -0600, LX-i <lxi0007@netscape.net> wrote: >William M. Klein wrote: > >That's difficult to answer. I've obviously read what some other folks >have said, and one of the complaints (other than the verbosity - but I >think that's a red herring) is the lack of libraries. If this had >happened the way you postulated above, would libraries have been >available (either intrinsically to COBOL, or an interface to Java or C++ >libraries)? > >For example, I know just recently (I believe) that the discussion on >"collections" was done. This is such a basic building block of most all >other OO implementations I've seen. Sure, you could implement it with >the facilities that exist already, but being able to extend that >collection building block make development time much quicker. > >I think that, with the other political things you've described in your >other "what-ifs", it sounds like the customers got exactly what they >asked for. It seems to be a mindset shift. Look at the distrust that >Pete has encountered when he's posted about components - just yesterday, >someone said "we'll have to re-test everything!" :) > >I've been in my current shop (Java) for about 6 months now, and I've >been amazed at how isolated I can make fixes. The code belongs to the >team, and the we can all work on whatever. I add a property to an >object, or a method to a service, there's no clamoring for a re-test on >everything. > >I don't know that that's inherent in the language, or is part of the >design. I would tend to think it's more the latter. But, if we had >tried to do that at my last shop, we would have been laughed out the place. > >So, to answer your "what-if", I'd say that it certainly would have >helped - but it still might not have been enough. Development of the Cobol language was fettered by the culture of its users. The notion that reusable code is bad because it requires re-testing every client progra m was a SHOW STOPPER. It meant OO Cobol was doomed, would be rejected by its mainframe us ers. As to Standard Libraries, consider that there *is no* Standard for Java. The formal spec is controlled by the Java Community Process, a group of industry representat ives reminiscent of Cobol's origins in CODASYL. It handles a hundred changes, cal led JSRs, per year. Anyone suggestsing 5 years or 17 years between versions would be laugh ed out of the room. Putting Java into the Standards process, called ISO/IEC JTC1, would be the kiss of death. It is little known that CODASYL continued defining Cobol Enhancements AFTER it handed off the Cobol language to ANSI in the mid '60s. They were trying to add database access to Cobol. Their ideas didn't make it into the language Standard, instead were i mplemented as calls to products such as IDMS. That chain of thought was replaced by relati onal databases and SQL in the 1980s. I mentioned that to say the Cobol language Standard should not be expected t o describe the entire computer environment. It should be open enough to interface with com plimentary technologies and languages. We FINALLY got that in the '02 Standard, which was too late. If we had it in the '80s, when C++ was catching on, Cobol would have stood a chance.
Post Follow-up to this messageRobert wrote: > On Sat, 06 Oct 2007 14:46:38 -0600, LX-i <lxi0007@netscape.net> wrote: > > > Development of the Cobol language was fettered by the culture of its users . The notion > that reusable code is bad because it requires re-testing every client prog ram was a SHOW > STOPPER. It meant OO Cobol was doomed, would be rejected by its mainframe users.[/ color] Right - that's what I meant when I said that the customers got exactly what they asked for. I couldn't believe that people would sue over a standard - especially when a vendor can pretty much do whatever they want and label it an extension. > As to Standard Libraries, consider that there *is no* Standard for Java. T he formal spec > is controlled by the Java Community Process, a group of industry represent atives > reminiscent of Cobol's origins in CODASYL. It handles a hundred changes, c alled JSRs, per > year. Anyone suggestsing 5 years or 17 years between versions would be lau ghed out of the > room. Putting Java into the Standards process, called ISO/IEC JTC1, would be the kiss of > death. It's interesting the way they handle deprecation. They put "@deprecated" before the method declaration, then the compiler flags it. However, I can't imagine a lawsuit over something in Java 5 that was marked as deprecated being removed in Java 6. Then again, I never understood how EXHIBIT was supposed to be better than DISPLAY - I guess I was just late to the game. Yes, I removed them when I converted programs from COBOL 74 to COBOL 85, but it was trivial, IMO. > It is little known that CODASYL continued defining Cobol Enhancements AFTE R it handed off > the Cobol language to ANSI in the mid '60s. They were trying to add databa se access to > Cobol. Their ideas didn't make it into the language Standard, instead were implemented as > calls to products such as IDMS. That chain of thought was replaced by rela tional databases > and SQL in the 1980s. When I learned Unisys COBOL, I thought FETCH, MODIFY, et. al. *were* part of COBOL. Only later did I learn that there was a preprocessor (external for COBOL 74, integrated into the COBOL 85 compiler) that converted all those statements to "CALL 'DBMS' USING ..." statements. (This knowledge did help, though, when understanding why the DML "IF" statement did not support "END-IF". I started using "PERFORM IF ... ELSE ... END-PERFORM" to wrap it.) > I mentioned that to say the Cobol language Standard should not be expected to describe the > entire computer environment. It should be open enough to interface with c omplimentary > technologies and languages. We FINALLY got that in the '02 Standard, whic h was too late. > If we had it in the '80s, when C++ was catching on, Cobol would have stood a chanc e. That's pretty close to what I was thinking. Also, the business model of languages has pretty much been turned on its head. COBOL is expensive, while you can download Java and Eclipse for free! C# and the Visual Studio.NET express versions are free too, and the .NET runtime is an integral part of Vista (which is where Windows is headed). Like mothers have told their daughters for generations - why buy the cow when you can get the milk for free? -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ / \/ _ o ~ Live from Albuquerque, NM! ~ ~ _ /\ | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Business E-mail ~ daniel @ "Business Website" below ~ ~ Business Website ~ http://www.djs-consulting.com ~ ~ Tech Blog ~ http://www.djs-consulting.com/linux/blog ~ ~ Personal E-mail ~ "Personal Blog" as e-mail address ~ ~ Personal Blog ~ http://daniel.summershome.org ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ GEEKCODE 3.12 GCS/IT d s-:+ a C++ L++ E--- W++ N++ o? K- w$ !O M-- V PS+ PE++ Y? !PGP t+ 5? X+ R* tv b+ DI++ D+ G- e h---- r+++ z++++ "Who is more irrational? A man who believes in a God he doesn't see, or a man who's offended by a God he doesn't believe in?" - Brad Stine
Post Follow-up to this messageOn Sat, 06 Oct 2007 19:22:06 -0600, LX-i <lxi0007@netscape.net> wrote: >Robert wrote: > >Right - that's what I meant when I said that the customers got exactly >what they asked for. The customers were not of a single mind. As happens so often in politics and consumer goods, they all got what the dumb or vocal ones asked for. > I never >understood how EXHIBIT was supposed to be better than DISPLAY - I guess >I was just late to the game. Yes, I removed them when I converted >programs from COBOL 74 to COBOL 85, but it was trivial, IMO. The advantage was in the NAMED option. EXHIBIT NAMED A B C displayed A = xxx B = yyy C = zzz Micro Focus still has EXHIBIT .. and also TRACE. > >That's pretty close to what I was thinking. Also, the business model of >languages has pretty much been turned on its head. COBOL is expensive, >while you can download Java and Eclipse for free! C# and the Visual >Studio.NET express versions are free too, and the .NET runtime is an >integral part of Vista (which is where Windows is headed). > >Like mothers have told their daughters for generations - why buy the cow >when you can get the milk for free? Mothers use that aphorism to caution daughters AGAINST giving it away withou t commitment. Look what free did to television. It gave the world low quality, poor select ion and a biased point of view. Now people willingly pay for cable rather than watchin g what's free.
Post Follow-up to this messageRobert wrote: > On Sat, 06 Oct 2007 19:22:06 -0600, LX-i <lxi0007@netscape.net> wrote: > > > > The customers were not of a single mind. As happens so often in politics a nd consumer > goods, they all got what the dumb or vocal ones asked for. > > > The advantage was in the NAMED option. EXHIBIT NAMED A B C displayed > A = xxx > B = yyy > C = zzz > > Micro Focus still has EXHIBIT .. and also TRACE. > > > Mothers use that aphorism to caution daughters AGAINST giving it away with out commitment. > > Look what free did to television. It gave the world low quality, poor sele ction and a > biased point of view. Now people willingly pay for cable rather than watching what 's free. No, cable is quantity, not quality. 8-) Jeff ----== Posted via mcse.ms - Unlimited-Unrestricted-Secure Usenet News= =---- http://www.mcse.ms The #1 Newsgroup Service in the World! 120,000+ New sgroups ----= East and West-Coast Server Farms - Total Privacy via Encryption =----
Post Follow-up to this messageOn Sat, 06 Oct 2007 19:22:06 -0600, LX-i <lxi0007@netscape.net> wrote: >Robert wrote: > >Right - that's what I meant when I said that the customers got exactly >what they asked for. I couldn't believe that people would sue over a >standard - especially when a vendor can pretty much do whatever they >want and label it an extension. As someone who was involved in the fight, our understanding was that the new standard mandated removal of function. Given the age of many programs and the longer predicted life for them, a change in the behavior of a compiler for existing code was not a welcome idea. As an example, marketing programs I wrote in the late 1960's with ALTERs were still running in the 1990's (not really meeting company needs but no one could agree on what the replacement should be). Payroll programs with ALTERs also were still alive but headed for extinction. I believe that gratuitous changes like replacing EXAMINE with INSPECT didn't help and that if ANSI had spent time on working out a way each vendor could set up a migration path to new world. There were a lot of discontinuities between the 1974 COBOL and the 1985 COBOL, most worrisome of them being where constructs would give different behaviors. > > >It's interesting the way they handle deprecation. They put >"@deprecated" before the method declaration, then the compiler flags it. > However, I can't imagine a lawsuit over something in Java 5 that was >marked as deprecated being removed in Java 6. Then again, I never >understood how EXHIBIT was supposed to be better than DISPLAY - I guess >I was just late to the game. Yes, I removed them when I converted >programs from COBOL 74 to COBOL 85, but it was trivial, IMO. > > >When I learned Unisys COBOL, I thought FETCH, MODIFY, et. al. *were* >part of COBOL. Only later did I learn that there was a preprocessor >(external for COBOL 74, integrated into the COBOL 85 compiler) that >converted all those statements to "CALL 'DBMS' USING ..." statements. >(This knowledge did help, though, when understanding why the DML "IF" >statement did not support "END-IF". I started using "PERFORM IF ... >ELSE ... END-PERFORM" to wrap it.) > > >That's pretty close to what I was thinking. Also, the business model of >languages has pretty much been turned on its head. COBOL is expensive, >while you can download Java and Eclipse for free! C# and the Visual >Studio.NET express versions are free too, and the .NET runtime is an >integral part of Vista (which is where Windows is headed). > >Like mothers have told their daughters for generations - why buy the cow >when you can get the milk for free?
Post Follow-up to this messageRobert wrote: > On Sat, 06 Oct 2007 19:22:06 -0600, LX-i <lxi0007@netscape.net> wrote: > > > The advantage was in the NAMED option. EXHIBIT NAMED A B C displayed > A = xxx > B = yyy > C = zzz > > Micro Focus still has EXHIBIT .. and also TRACE. DISPLAY "A = " A DISPLAY "B = " B DISPLAY "C = " C I know, more verbose, but a guy in our shop wrote a SlickEdit macro that did the conversion like that. > > Mothers use that aphorism to caution daughters AGAINST giving it away without comm itment. Yes, but the converse is that those who get the milk for free will generally not see the need to buy the cow. :) As a programmer, I have a wide array of programming language choices available to me at no cost. Then there's COBOL.. > Look what free did to television. It gave the world low quality, poor sele ction and a > biased point of view. Now people willingly pay for cable rather than watching what 's free. I don't know that quality is all of it. Our reception is crap, so cable lets us see things much more clearly. We've had digital cable for the first time, since we moved out here. I like the signal quality. However, I still sometimes find myself with 300 channels of nothing to watch. Thank goodness for Comcast OnDemand! :) -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ / \/ _ o ~ Live from Albuquerque, NM! ~ ~ _ /\ | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Business E-mail ~ daniel @ "Business Website" below ~ ~ Business Website ~ http://www.djs-consulting.com ~ ~ Tech Blog ~ http://www.djs-consulting.com/linux/blog ~ ~ Personal E-mail ~ "Personal Blog" as e-mail address ~ ~ Personal Blog ~ http://daniel.summershome.org ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ GEEKCODE 3.12 GCS/IT d s-:+ a C++ L++ E--- W++ N++ o? K- w$ !O M-- V PS+ PE++ Y? !PGP t+ 5? X+ R* tv b+ DI++ D+ G- e h---- r+++ z++++ "Who is more irrational? A man who believes in a God he doesn't see, or a man who's offended by a God he doesn't believe in?" - Brad Stine
Post Follow-up to this messagePowered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.