Inside COBOL #43
by
Shawn Gordon
President
The Kompany
This month I bring to you the resuts of the SIGCOBOL survey. I must say that I’m a little dissappointed that there was only about a 10% return rate, but maybe thats good, I don’t know since I never conduct surveys. Since the survey is interesting, and long enough, for the entire column, I think I will let it speak for itself. Thanks again to SIGCOBOL for all their hard work, I should probably join myself sometime.
During February 1997 approximately 500 SIGCOBOL 1997 Survey forms were distributed to Interex members.
The responses from the 55 surveys returned to date indicate that there is a significant difference of opinion between users. It is interesting to note that 4 extensions (3, 7, 19 and 27) feature prominently in the “difficult to do without” as well as in the “can do without”. This could be an indication that some users are using sophisticated editing tools and therefore are more willing to change to an alternative form, if there is one available. There are still a number of programs using the “EXAMINE” verb which was made obsolete in COBOL 85. Nearly half the respondents (44%) said they were still using this verb and 27% said it would be difficult to change to the new “INSPECT” verb.
The most popular new features in the next COBOL standard are related to Tables and year 2000 dates. Although Object Orientation was only popular with 27% of the respondents they voted an average $14.30 to this feature which was the 2nd
highest average vote.
The first part of the survey detailed the HP COBOL II extensions to the current standard and asked what items are being used in COBOL programs and how important they are to the respondent. Rank A means “I Must have this extension in the
future”. Rank B means “This is a useful feature and it would be a lot of work to change to an alternate form”. Rank C means “This is a useful feature but it would not be a lot of work to change to an alternate form”. Rank D means “This
is not necessary and I am willing to change to an alternate form”.
The most popular extensions were (in order of popularity):
18. 87% INTRINSIC phrase in the CALL statement.
23. 86% Special Registers – TALLY, CURRENT-DATE, TIME-OF-DAY, and WHEN-COMPILED.
19. 75% GIVING clause in the CALL statement.
27. 75% Inequality operator “<>” instead of the standard “NOT =”.
7. 73% USAGE COMP-3.
3. 56% $INCLUDE.
25. 56% Octal Literals.
20. 49% Use of “@” or “\” before a parameter in the CALL statement.
10. 45% REMARKS paragraph in the IDENTIFICATION DIVISION.
16. 45% EXCLUSIVE statement.
The most important extensions that respondents felt would be difficult to do without (adding A and B rankings) were:
18. 73% INTRINSIC phrase in the CALL statement.
23. 71% Special Registers – TALLY, CURRENT-DATE, TIME-OF-DAY, and WHEN-COMPILED.
7. 55% USAGE COMP-3.
19. 51% GIVING clause in the CALL statement.
25. 43% Octal Literals.
27. 42% Inequality operator “<>” instead of the standard “NOT =”.
8. 38% Intrinsic Relation Conditions.
3. 36% $INCLUDE.
20. 34% Use of “@” or “\” before a parameter in the CALL statement.
21. 34% ENTRY statement for secondary entry points in subprograms.
The main extensions that respondents felt they could do without (adding C and D rankings) were:
27. 33% Inequality operator “<>” instead of the standard “NOT =”.
10. 29% REMARKS paragraph in the IDENTIFICATION DIVISION.
19. 24% GIVING clause in the CALL statement.
3. 20% $INCLUDE.
26. 20% Interchangeability of single and double quotes.
6. 18% NO LIST phrase in the COPY statement.
7. 18% USAGE COMP-3.
14. 18% ACCEPT FREE form of the ACCEPT statement.
The second part of the survey detailed the major new features in the next COBOL standard. The respondents had up to $100 to indicate which new features they considered were the most important. (The table shows the Total $’s spent followed by % of respondents spending any $’s followed by average $’s spent)
The most popular features by $’s spent were:
30. $596 76% $14.20 SORT statement – This may be used to sort a table
11. $439 62% $12.90 Dynamic Tables
8. $392 45% $15.70 Conversion from 2 digit year to 4 digit year. 3 new
functions
1. $282 45% $11.30 ACCEPT statement – enter the four digit year
17. $265 55% $8.80 Initialization of Tables – Initialized to specified values
20. $215 27% $14.30 Object Orientation
22. $209 38% $10.00 POINTER Data Type
28. $187 33% $10.40 Screen Section
16. $178 45% $7.10 In-line Comments
12. $171 44% $7.10 EXIT statement
Two other features were popular with a significant number of respondents but they only received a small amount of $’s:
32. $145 40% $6.70 Subscripting with arithmetic expressions
3. %149 38% $7.10 Bit/Boolean support
Three more features were less popular with the respondents as a whole but received high $’s from their ‘supporters’:
7. $154 22% $12.80 CALL statement RETURNING clause
24. $149 25% $10.60 Record locking control has been added.
14. $56 11% $9.30 Fixed Point Numeric items – Maximum digits increased from 18
to 31.
The following tables show the survey items with the full results on alternate lines below the descriptions. The %figures represent the % of the total (55) respondents who use the extension. The figures in () indicate the top 10 ranking
for that column.
A: HP COBOL II EXTENSIONS ------------------------- Respondents A B C D A + B C + D ------------------------------------------------------------------------ 1. $DEFINE, $PREPROCESSOR. 36% 22%(9) 5% 4% 5% 27% 9% 2. $IF, $SET. 21% 5% 7% 5% 4% 12% 9% 3. $INCLUDE. 56%(6) 25%(6) 11% 7% 13%(3) 36%(8) 20%(4) 4. $EDIT. 9% 2% 0 2% 5% 2% 7% 5. $COPYRIGHT, $VERSION. 16% 4% 0 5% 7% 4% 12 6. NO LIST phrase in the COPY statement. 25% 2% 5% 11% 7% 7% 18%(6) 7. USAGE COMP-3. 73%(5) 33%(3) 22%(2) 13% 5% 55%(3) 18%(6) 8. Intrinsic Relation Conditions. 42% 25%(6) 13% 2% 2% 38%(7) 4% 9. WITH DUPLICATES phrase in the SELECT statement RECORD KEY clause. 40% 18% 6% 16%(3) 0 24% 16% 10. REMARKS paragraph in the IDENTIFICATION DIVISION. 45%(9) 2% 14% 14%(5) 15%(1) 16% 29%(2) 11. Abbreviation "ID" for "IDENTIFICATION". 18% 2% 3% 2% 11%(4) 5% 13% 12. Ability to have a section name that is not followed by a paragraph name. 25% 5% 4% 11% 5% 9% 16% 13. Ability to specify the language in the SORT statement. 2% 0 0 2% 0 0 2% 14. ACCEPT FREE form of the ACCEPT statement. 38% 11% 9% 13% 5% 20% 18%(6) 15. SEEK statement. 15% 2% 7% 4% 2% 9% 6% 16. EXCLUSIVE statement. 45%(9) 18% 11% 13% 3% 29% 16% 17. UN-EXCLUSIVE statement. 40% 18% 9% 9% 4% 27% 13% 18. INTRINSIC phrase in the CALL statement. 87%(1) 53%(1) 20%(3) 9% 5% 73%(1) 14% 19. GIVING clause in the CALL statement. 75%(3) 31%(4) 20%(3) 20%(1) 4% 51%(4) 24%(3) 20. Use of "@" or "\" before a parameter in the CALL statement. 49%(8) 25%(6) 9% 11% 4% 34%(9) 15% 21. ENTRY statement for secondary entry points in subprograms. 38% 22%(9) 12% 2% 2% 34%(9) 4% 22. EXAMINE statement. 44% 16% 11% 13% 4% 27% 17%(9) 23. Special Registers - TALLY, CURRENT-DATE, TIME-OF-DAY, and WHEN-COMPILED. 86%(2) 42%(2) 29%(1) 13% 2% 71%(2) 15% 24. Non numeric literals longer than 160 characters. 16% 4% 3% 9% 0 7% 9% 25. Octal Literals. 56%(6) 27%(5) 16% 9% 4% 43%(5) 13% 26. Interchangeability of single and double quotes. 44% 13% 11% 16%(3) 4% 24% 20%(4) 27. Inequality operator "<>" instead of the standard "NOT =". 75%(3) 22%(9) 20%(3) 18%(2) 15%(1) 42%(6) 33%(1) 28. USE AFTER STANDARD BEGINNING statement to process user labels for files. 6% 0 0 4% 2% 0 6% B: NEW COBOL 97 FEATURES ------------------------ Respondents Votes Average ------------------------------- 1. ACCEPT statement - enter the four digit year 45%(4) $282(4) $11.30(6) 2. BINARY and Floating Point Data 29% $108 $6.80 3. Bit/Boolean support 38%(9) $149 $7.10 4. Boolean Functions - 2 new functions BOOLEAN-OF and NUMVAL-B. 11% $36 $6.00 5. CALL recursively 22% $65 $5.40 6. CALL statement - Use Arithmetric expressions and literals as arguments 22% $62 $5.20 7. CALL statement RETURNING clause 22% $154 $12.80(5) 8. Conversion from 2 digit year to 4 digit year. 3 new functions 45%(4) $392(3) $15.70(1) 9. COPY statement - New LEADING and TRAILING phrases 22% $90 $7.50 10. Dynamic Storage Allocation - New ALLOCATE and FREE statements 24% $110 $8.50 11. Dynamic Tables 62%(2) $439(2) $12.90(4) 12. EXIT statement 44%(7) $171(10) $7.10 13. Free-Form reference format 15% $49 $6.10 14. Fixed Point Numeric items - Maximum digits increased from 18 to 31. 11% $56 $9.30(10) 15. HIGHEST-ALGEBRAIC and LOWEST-ALGEBRAIC Functions 9% $30 $6.00 16. In-line Comments 45%(4) $178(9) $7.10 17. Initialization of Tables - Initialized to specified values, new FILLER phrase 55%(3) $265(5) $8.80 18. Internationalization 7% $25 $6.30 19. 8 new functions - ABS, E, EXP, EXP10, FRACTION-PART, NUMVAL-F, PI, SIGN 25% $97 $6.90 20. Object Orientation 27% $215(6) $14.30(2) 21. PERFORM statement - The AFTER phrase is allowed in in-line PERFORMS 20% $62 $5.60 22. POINTER Data Type 38%(9) $209(7) $10.00(9) 23. RECORD KEY and ALTERNATE RECORD KEY - from more than one component 15% $43 $5.40 24. Record locking control has been added. 25% $149 $10.60(7) 25. REDEFINES clause - Redefinitions may be specified in any order. 20% $48 $4.40 26. Report Writer 16% $67 $7.40 27. TYPE and TYPEDEF clauses - user defined type 11% $35 $5.80 28. Screen Section 33% $187(8) $10.40(8) 29. SELECT clause - dynamic assignment of a file 20% $57 $5.20 30. SORT statement - This may be used to sort a table 76%(1) $596(1) $14.20(3) 31. STRING statement - The DELIMITED phrase is now optional 35% $93 $4.90 32. Subscripting with arithmetic expressions 40%(8) $145 $6.70 33. User Defined Functions 33% $145 $8.10 34. VALIDATE statement 29% $115 $7.20 35. The VALUE clause allowed in external data items and in Linkage and File sections 24% $57 $4.40 36. VALUE clause - WHEN SET TO FALSE phrase 13% $47 $6.70 37. Writing Literals to a File 9% $23 $4.60 38. Writing without a Record name 13% $30 $4.30