COBOL As A Modern Language
COBOL As A Modern Language
Spring 2017
Recommended Citation
Kiefer, Charles, "COBOL as a Modern Language" (2017). Honors Theses. 17.
https://digitalcommons.northgeorgia.edu/honors_theses/17
This Honors Thesis is brought to you for free and open access by the Honors Program at Nighthawks Open Institutional Repository. It has been
accepted for inclusion in Honors Theses by an authorized administrator of Nighthawks Open Institutional Repository.
COBOL as a Modern Language
A Thesis Submitted to
the Faculty of the University of North Georgia
in Partial Fulfillment
of the Requirements for the Degree
Bachelor of Science in Computer Science
With Honors
Charles Kiefer
Spring 2017
1
ACKNOWLEDGEMENTS
My thanks go to my committee, Dr. Markus Hitz, Dr. Bryson Payne, and John-David
Rusk for their valuable insight on what can be a difficult language to research, as well as
to Dr. Stephen Smith for his assistance in the creation of this thesis.
2
Introduction
The use of COBOL cripples the mind; its teaching should, therefore, be regarded
This statement may be hyperbole, but Dijkstra’s view on the language reflects
machines. 2 More than half a century later, COBOL is still used extensively in
This longevity has also contributed to problems with COBOL. The chief
become more user-friendly. 4 COBOL software tends to be verbose, even for simple
tasks. It’s said that the average size of a COBOL program is 600 lines of code,
1 Dijkstra, Edsger W. Selected Writings on Computing: A Personal Perspective. 1st ed. New York,
NY: Springer New York, 1982. Print.
2Wexelblat, Richard L. History of Programming Languages. 1st ed. New York, New York:
Academic Press, 1981. 210.
3Arranga, Edmund C., and Frank P. Coyle. Object-Oriented COBOL. New York, New York: SIGS
Books & Multimedia, 1996. 15.
4 Volpano, D., & Dunsmore, H. (1981). Problems with COBOL--Some Empirical
Evidence. Computer Science Technical Reports, 81(371). Retrieved from
http://docs.lib.purdue.edu/cstech/300/
3
fewer. 5 Difficulties with the language will only increase as the workforce
History of COBOL
a joint project between the United States Navy and several computing corporations
such as IBM and RCA. 6 According to Jean Sammet, a member of the original
COBOL design group, COBOL suffered from being in an intermediate period where
companies had high expectations for language features and the technology
required had not yet caught up. COBOL’s scope had to be scaled down a more
cited as being both useful and dangerous, 8 since it meant more resources for
production, but also could have led to an overdesigned final product. The
5 Du Preez, Derek. Banks will stick with COBOL because Java has performance issues.
Computerworld UK, June 13, 2013.
6 Wexelblat, Richard L. History of Programming Languages. 1st ed. New York, New York: Academic
Press, 1981. 210.
7 Ibid, 212.
8 Beyer, Kurt. Grace Hopper and the Invention of the Information Age. Cambridge, Massachusetts:
MIT Press, 2009. 285.
9Reilly, Edwin D. "COBOL." In Concise Encyclopedia of Computer Science, 104. Chichester, West
Sussex, England: Wiley, 2004.
4
formulae, COBOL had to be easy to use and understand. It also needed to be able
with logic circuits created for a specific application. Betty Holberton, a member of
the design committee, claims that this is what lead to COBOL’s unexpected
longevity when its lifecycle is compared against other languages of the time, even
military’s needs. 10
language, with extensive use of GO TO statements for logical control. 11 Only later,
in COBOL. These include functions such as loops and function blocks that could
be used repeatedly.
the concept of object orientation became the new favored programming style.
Object orientation allows for logic units of data, or objects, to be reused throughout
these objects. Languages like C and Java began to take market share away from
10Wexelblat, Richard L. History of Programming Languages. 1st ed. New York, New York:
Academic Press, 1981. 288.
11Sneed, H.m. "Extracting business logic from existing COBOL programs as a basis for
redevelopment." Proceedings of the 9th International Workshop on Program Comprehension,
2001, 2. Accessed April 9, 2017. doi:10.1109/wpc.2001.921728.
Philippakis, Andreas S., and Leonard J. Kazmier. COBOL for Business Applications. New York:
12
McGraw-Hill, 1973.
5
it to lose support not only in business, but also in academia.13 The loss of academic
support for the language led to fewer programmers for the language being
available, a dearth that is still visible today. 14 This programmer shortage lead to
The continued lifespan of COBOL was called into question at least by 2003
COBOL. 15 The paper notes that businesses are slowly halting development of new
COBOL programs, and the most likely reason is that newer languages have
practice of keeping code well organized through the use of classes and objects. This
paper was written in the transitional period to object-orientation for COBOL, and
the authors admit that this could be a temporary phase until COBOL’s features
A trend in COBOL usage has become visible over the last decade. While
COBOL has been on the decline in both academia and business since the 1970s,
since 2010 it has experienced a resurgence. There are two categories of COBOL
13 Dunn, Deborah L., and Dennis Lingerfelt. "Can visual basic replace COBOL? ...and should
it?" Journal of Computing Sciences in Colleges 20, no. 4 (April 1, 2005): 214-20. Accessed April
10, 2017.
14Mitchell, Robert L. "Rebuilding the Legacy." Computerworld. April 24, 2006. Accessed April 10,
2017. http://www.computerworld.com/article/2554624/enterprise-applications/rebuilding-the-
legacy.html.
Carr, Donald, and Ronald J. Kizior. "Continued Relevance of COBOL in Business and
15
Academia: Current Situation and Comparison to the Year 2000 Study." June 13, 2003. Accessed
April 10, 2017. https://dl.microfocus.com/000/WP-20030613_tcm21-2774.pdf.
16 Ibid, 16
6
utilizing COBOL in any capacity, and the total percentage of programming effort
maintenance of legacy software, whereas the latter shows potentially new software
in a Micro Focus survey. In 1999, 87% of businesses were using COBOL in any
capacity. 17 Micro Focus performed a similar survey in 2003, showing that the
number had dropped to 56%. 18 In 2006 and 2012 Mitchell conducted similar
surveys showing a slight uptick to 62% 19 and then 64%, 20 respectively. These
Carr, Donald, and Ronald J. Kizior. "Continued Relevance of COBOL in Business and
17
Academia: Current Situation and Comparison to the Year 2000 Study." June 13, 2003. Accessed
April 10, 2017. https://dl.microfocus.com/000/WP-20030613_tcm21-2774.pdf.
18 Ibid.
19Mitchell, Robert L. "COBOL: Not Dead Yet." Computerworld. October 04, 2006. Accessed April
10, 2017. http://www.computerworld.com/article/2554103/app-development/cobol--not-dead-
yet.html.
20Mitchell, Robert L. "Rebuilding the Legacy." Computerworld. April 24, 2006. Accessed April 10,
2017. http://www.computerworld.com/article/2554624/enterprise-applications/rebuilding-the-
legacy.html.
7
60%
JISE
50% Philippakis
40%
30%
Micro Focus
20%
10%
Micro Focus
0%
1970 1975 1980 1985 1990 1995 2000 2005
While the number of businesses using COBOL has remained relatively stable since
the 1990s, new development in the language has dropped dramatically. Philippakis
found in 1973 that an estimated 60 to 70% of new software development was being
8
done in COBOL. 21 That value fell to 44% in 1995, 22 then 20% in 1999, 23 and finally
10% in 2003. 24 No further studies have been conducted for this particular data
insignificant. From this trend, it can be concluded that while legacy COBOL
systems have remained intact, very few businesses find it worthwhile to do any new
development in COBOL.
Possibly the most complete usage history of COBOL can be seen in the
TIOBE index, which tracks programming languages through search engine hit
counts. This indicates only search-based popularity of a given language, not usage
2001, giving it a 1.6% market share when compared to all other relevant
programming languages. This market share follows the same trend that surveys
climb in rank again after 2012, peaking at 1.3%. 25 This trend may continue.
21 Philippakis, Andreas S., and Leonard J. Kazmier. COBOL for Business Applications. New York:
McGraw-Hill, 1973.
22 Gotwals, John, and Carlin Smith. "Restructuring Programming Instruction in The Computer
Information Systems Curriculum: One Department's Approach". Journal of Information Systems
Education 7.2 (1995): 68. Print.
23 Carr, Donald, and Ronald J. Kizior. "Continued Relevance of COBOL in Business and
Academia: Current Situation and Comparison to the Year 2000 Study." June 13, 2003. Accessed
April 10, 2017. https://dl.microfocus.com/000/WP-20030613_tcm21-2774.pdf.
24 Ibid.
25 "COBOL | TIOBE - The Software Quality Company". Tiobe.com. 2017. Web. 10 Apr. 2017.
https://www.tiobe.com/tiobe-index/cobol/.
9
Figure 1 "COBOL | TIOBE - The Software Quality Company". Tiobe.com. 2017. Web. 10 Apr. 2017.
https://www.tiobe.com/tiobe-index/cobol/.
The underlying issue is a lack of people skilled in COBOL. The source of this
The curriculum change started around 1995, when doubt arose as to COBOL’s
longevity, and at that time C was the preferred alternative. 26 By 2003 COBOL’s
identify a new introductory language. 27 COBOL was used first because it was
expected to be a permanently useful skill for a programmer, and the new language
had to have that same trait. In 2003 it was suggested that while COBOL could be
retained for teaching in upper-level courses, Java should become the new
26Gotwals, John, and Carlin Smith. "Restructuring Programming Instruction in the Computer
Information Systems Curriculum: One Department's Approach". Journal of Information Systems
Education 7.2 (1995): 68. Print.
27Haney, John. "Something Lost - Something Gained: From COBOL to Java to C# in
Intermediate Programming Courses". Journal of Computing Sciences in Colleges 19.1 (2003):
227-234. Print.
10
recommends Visual Basic .NET, and states that their choice could prove to be
in which COBOL becomes more widespread since the early 2010s. Numerous
1999, COBOL was offered at 90% of these institutions. 30 A slight drop to 83%
survey of academic institutions also revealed the relative rate at which COBOL
developers are graduating compared to other specialties, finding that the number
A new study has now been conducted of 413 higher education institutions
in the United States. Universities were first filtered to those with an existing
through searches of each university’s publicly available course catalog for COBOL
courses or courses that use COBOL as the primary language. Of the 413, 61 were
found to have an active COBOL course available. This represents a further decrease
institutions.
IBM is taking its own initiative to solve the workforce issue through
taking part in the program, though not all are teaching COBOL-related material. 35
Other corporations are making similar efforts, resulting in programs such as the
Benchmarking
using each language’s compiler. The running times for each language make for an
set of benchmarking tests were conducted. Java, C#, and Python were selected to
in COBOL with the same logical flow, was used to test each language.38 N-body
desired number of iterations. Generally, more iterations of the program will result
in a linear increase in running time. The full source of the COBOL program can be
found in Appendix A.
overclocking at 4.00 GHz and 26 GB DDR3 RAM. The operating system was
executables using the GnuCOBOL compiler and the Visual C# Express compiler,
respectively. Java and Python used just-in-time (JIT) compilation through the
Java Eclipse Neon IDE and Thonny IDE, respectively. Times for the programs
37Al-Qahtani, Sultan S., Rafik Arif, Luis F. Guzman, Adrien Tevoedjre, and Pawel Pietrzynski.
"Comparing Selected Criteria of Programming Languages Java, PHP, C, Perl, Haskell, AspectJ,
Ruby, COBOL, Bash Scripts and Scheme." Concordia University, August 20, 2010. Accessed
February 13, 2017.
38Bagley, Doug, Brent Fulgham, and Isaac Gouy. "The Computer Language Benchmarks Game."
The Computer Language Benchmarks Game. Accessed February 13, 2017.
https://benchmarksgame.alioth.debian.org/.
13
commands were added to the logic to output run time as well as existing outputs.
Data was collected for 1, 100, 10,000, 100,000, and 1,000,000 iterations.
Each program was run ten times for each iteration count, and an average time was
calculated from those runs. Both time and iterations are shown in logarithmic form
on the charts.
14
COBOL
1000.0000
100.0000
10.0000
RUN TIME (SECONDS)
1.0000
1 10 100 1000 10000 100000 1000000
0.1000
0.0100
0.0010
ITERATIONS
Python
100.0000
10.0000
RUN TIME (SECONDS)
1.0000
1 10 100 1000 10000 100000 1000000
0.1000
0.0100
0.0010
0.0001
ITERATIONS
15
Java
1.0000
RUN TIME (SECONDS) 1 10 100 1000 10000 100000 1000000
0.1000
0.0100
0.0010
ITERATIONS
C#
1.0000
1 10 100 1000 10000 100000 1000000
RUN TIME (SECONDS)
0.1000
0.0100
ITERATIONS
16
The most obvious result of the tests is that COBOL shows a much longer
running time than any of the other tested languages, for any given iteration count.
that both languages show a constant increase with the number of iterations at the
same interval. It was theorized that COBOL’s longer running times are partly due
mutex lock was applied to the C# program. A mutex lock allows only one thread to
work on a section of code at a time. When the lock is placed over the entire
39
"IBM Knowledge Center." IBM Knowledge Center. October 24, 2014. Accessed February 07,
2017.
https://www.ibm.com/support/knowledgecenter/en/SS6SG3_4.2.0/com.ibm.entcobol.doc_4.2/
PGandLR/tasks/tpthr02.htm.
17
C# with locking
1.0000
RUN TIME (SECONDS) 1 10 100 1000 10000 100000 1000000
0.1000
0.0100
ITERATIONS
After adding locking, the C# program begins to show an increasing run time
with more iterations in a similar manner to the other languages. The runs in C#
also show a higher average deviation, likely due to the executable’s assigned thread
being already occupied with another task. COBOL’s runs also show this pattern,
time floor, beyond which fewer iterations do not decrease run time further. Java
and especially Python show a lower running time floor on execution than the
others, most notably when run with a single iteration, in which case running time
becomes lower than that of C#, which otherwise displays the best performance.
this data, more sample programs will need to be written in COBOL to match the
existing programs for others. This data set can be extended by comparing the
against FORTRAN,40 FORTRAN against Java,41 and Java against C++.42 The
Other Comparisons
exhaustive library of pre-built modules can save programmers time that would
language.
Replacing COBOL
ranging from low impact and low cost to high impact and high cost. The first few
changing languages. This is the preferred method for avoiding downtime and
40Paul, Lois. "CDC's, DEC's Time-Sharing Called Most Cost-Effective by RDC Study."
Computerworld, May 31, 1982, 31-32.
41Bull, J.M., L.A. Smith, L. Pottage, and R. Freeman. "Benchmarking Java against C and Fortran
for Scientific Application." Proceedings of the 2001 Joint ACM-ISCOPE Conference on Java
Grande, 2001, 97-105.
42Sangappa, Sudhir, K. Palaniappan, and Richard Tollerton. "Benchmarking Java against C/C++
for Interactive Scientific Visualization." Proceedings of the 2002 Joint ACM-ISCOPE Conference
on Java Grande, 2002, 236.
43Al-Qahtani, Sultan S. et al. "Comparing Selected Criteria of Programming Languages Java,
PHP, C++, Perl, Haskell, Aspectj, Ruby, COBOL, Bash Scripts and Scheme". Arxiv.org. N.p.,
2010. Web. 10 Apr. 2017. https://arxiv.org/abs/1008.3434
19
simplifying the modernization process. A total rewrite could result in loss of service
for customers, the avoidance of which is crucial for certain businesses. While
which will result in fewer unforeseen bugs from changes. To speed up the process
of conversion, they have written an automatic process for adapting the most
important instances of the GOTO command (those which are called often during
execution).
COBOL-2002
investment. To compete with languages like Java and C++ that took the majority
44Sellink, Alex, Harry Sneed, and Chris Verhoef. "Restructuring Of COBOL/CICS Legacy
Systems". Science of Computer Programming 45.2-3 (2002): 193-243. Web.
20
of COBOL’s market share, the COBOL 2002 standard implemented concepts from
both languages, the most important being object orientation and encapsulation. 45
Being able to use object-based logic will alleviate a long-standing issue with
COBOL, its verbosity. As seen in the n-body simulation benchmark program, the
simpler member access and cleaner logical patterns. Without object orientation,
the COBOL program needed to declare arrays of each data member. Having
45 "COBOL 2002 – The Good, the Bad, and the UGLY". 2005. Presentation.
21
46Bagley, Doug, Brent Fulgham, and Isaac Gouy. "The Computer Language Benchmarks Game."
The Computer Language Benchmarks Game. Accessed February 13, 2017.
https://benchmarksgame.alioth.debian.org/.
22
PROCEDURE DIVISION.
SETUP-PROCEDURE.
INVOKE BODY “NEW” RETURNING JUPITER.
While more boilerplate code is required to scaffold an object class, the procedure
section of the code becomes cleaner when handling objects instead of variable
arrays.
entirely. Instead, all variables are publicly accessible and instantiated in the data
declaration section at the start of the program. This can allow for variables to be
altered before their intended usage point later in the logic, causing logical errors
and incorrect output. This issue is relieved somewhat by the addition of a local
storage section, available in the COBOL 2002 release. However, compilers for
23
COBOL 2002 are not easily available for operating systems outside of the UNIX
family, requiring more changes than to just the core COBOL framework.
Managed COBOL
the gap between COBOL, .NET, and Java. 47 It features extensions to connect to a
JVM or .NET framework, solving the issue of COBOL’s lack of library support.
Most existing COBOL code can be imported directly to Managed COBOL without
issue, unless certain incompatible features have been used. .NET COBOL works by
combining the framework’s COBOL, C#, and Visual Basic code into an
native code language. The same applies for JVM COBOL, with just-in-time
Figure 2 Willis, Paula. "Managed COBOL - An Overview". Micro Focus Community. 2012. Web.
10 Apr. 2017.
Managed COBOL gets the framework access to the vast libraries of .NET
and Java, and allows the existing COBOL framework to easily interact with utilities
written in either language. Because these utilities can now be interpreted through
injection, and native SQL calls also become available. These should then be
Change Languages
entirely uproot and replace the language with something else. The potential for
downtime and software issues is the highest here, but completely replacing COBOL
will thoroughly solve the legacy software issues COBOL presents. The process can
25
both.
To rewrite the code by hand, it is best to first discern the business logic
Sneed has outlined the process. 48 Sneed’s focus project was to reengineer the
repeatedly breaking down the code into smaller logical pieces is applicable to a
language. Tinetti et. al have attempted this on Fortran legacy code with the intent
on ensuring minimal downtime during the upgrade, and outline a five step cycle to
do this:
48Sneed, H.m. "Extracting business logic from existing COBOL programs as a basis for
redevelopment." Proceedings of the 9th International Workshop on Program Comprehension,
2001, 2. Accessed April 9, 2017. doi:10.1109/wpc.2001.921728.
49Tinetti, Fernando G., Mariano Méndez, and Armando De Giusti. "Restructuring Fortran Legacy
Applications for Parallel Computing In Multiprocessors". The Journal of Supercomputing 64.2
(2013): 638-659. Web.
26
Figure 3 Tinetti, Fernando G., Mariano Méndez, and Armando De Giusti. "Restructuring Fortran
Legacy Applications for Parallel Computing In Multiprocessors". The Journal of Supercomputing
64.2 (2013): 638-659. Web.
other languages are inapplicable for COBOL, but numerous applications for this
The decision for which of these approaches should depend on the business
use of the COBOL application. If the codebase is relatively stable and free of issues,
simply refactoring for performance may be sufficient. Other cases can require as
much as a full replacement of all COBOL code. As new programs are not being
written in COBOL compared to decades prior, the use rate of COBOL is expected
to drop even further. Therefore, it will make the most business sense to handle
50"Convert COBOL To C++, CPP With COB2CPP Translator Converter." Mpsinc.com. Web. 10
Apr. 2017. http://www.mpsinc.com/cob2cpp.html
27
available.
business facing this dilemma with COBOL. Individual interviews would give much
more detail into why a business would choose to either replace or keep legacy
While a survey was attempted to find this data, the number of responses were
PROCEDURE DIVISION.
SETUP-PROCEDURE.
*> Globals
COMPUTE SOLAR-MASS = PI * PI * 4.
*> Sun
COMPUTE X(1) = 0.
COMPUTE Y(1) = 0.
COMPUTE Z(1) = 0.
COMPUTE VX(1) = 0.
COMPUTE VY(1) = 0.
COMPUTE VZ(1) = 0.
COMPUTE MASS(1) = SOLAR-MASS.
*> Jupiter
COMPUTE X(2) = 4.84143144246472090.
COMPUTE Y(2) = -1.16032004402742839.
COMPUTE Z(2) = -0.103622044471123109.
COMPUTE VX(2) = 0.00166007664274403694 * DAYS-PER-YEAR.
COMPUTE VY(2) = 0.00769901118419740425 * DAYS-PER-YEAR.
COMPUTE VZ(2) = -0.0000690460016972063023 * DAYS-PER-YEAR.
COMPUTE MASS(2) = 0.000954791938424326609 * SOLAR-MASS.
*> Saturn
COMPUTE X(3) = 8.34336671824457987.
29
*> Uranus
COMPUTE X(4) = 12.8943695621391310.
COMPUTE Y(4) = -15.1111514016986312.
COMPUTE Z(4) = -0.223307578892655734.
COMPUTE VX(4) = 0.00296460137564761618 * DAYS-PER-YEAR.
COMPUTE VY(4) = 0.00237847173959480950 * DAYS-PER-YEAR.
COMPUTE VZ(4) = -0.0000296589568540237556 * DAYS-PER-YEAR.
COMPUTE MASS(4) = 0.0000436624404335156298 * SOLAR-MASS.
*> Neptune
COMPUTE X(5) = 15.3796971148509165.
COMPUTE Y(5) = -25.9193146099879641.
COMPUTE Z(5) = 0.179258772950371181.
COMPUTE VX(5) = 0.00268067772490389322 * DAYS-PER-YEAR.
COMPUTE VY(5) = 0.00162824170038242295 * DAYS-PER-YEAR.
COMPUTE VZ(5) = -0.000095159225451971587 * DAYS-PER-YEAR.
COMPUTE MASS(5) = 0.0000515138902046611451 * SOLAR-MASS.
MAIN-PROCEDURE.
PERFORM OFFSET-MOMENTUM-PROCEDURE.
PERFORM CALCULATE-ENERGY-PROCEDURE.
DISPLAY ENERGY.
PERFORM CALCULATE-ENERGY-PROCEDURE.
DISPLAY ENERGY.
STOP RUN.
OFFSET-MOMENTUM-PROCEDURE.
MOVE 1 TO I.
PERFORM UNTIL I > 5
COMPUTE PX = PX + (VX(I) * MASS(I))
COMPUTE PY = PY + (VY(I) * MASS(I))
COMPUTE PZ = PZ + (VZ(I) * MASS(I))
ADD 1 TO I
END-PERFORM.
CALCULATE-ENERGY-PROCEDURE.
MOVE 0 TO ENERGY.
MOVE 1 TO I.
PERFORM UNTIL I > 5
COMPUTE ENERGY = ENERGY +
(0.5 * MASS(I)
* ((VX(I) ** 2)
+ (VY(I) ** 2)
+ (VZ(I) ** 2)))
30
COMPUTE J = I + 1
PERFORM UNTIL J > 5
COMPUTE AX = X(I) - X(J)
COMPUTE AY = Y(I) - Y(J)
COMPUTE AZ = Z(I) - Z(J)
COMPUTE DISTANCE =
(AX ** 2 + AY ** 2 + AZ ** 2) ** 0.5
COMPUTE ENERGY = ENERGY -
(MASS(I) * MASS(J)) / DISTANCE
ADD 1 TO J
END-PERFORM
ADD 1 TO I
END-PERFORM.
ADVANCE-SYSTEM-PROCEDURE.
MOVE 1 TO I.
PERFORM UNTIL I > 5
COMPUTE J = I + 1
PERFORM UNTIL J > 5
COMPUTE AX = X(I) - X(J)
COMPUTE AY = Y(I) - Y(J)
COMPUTE AZ = Z(I) - Z(J)
MOVE 1 TO I.
PERFORM UNTIL I > 5
COMPUTE X(I) = X(I) + (DT * VX(I))
COMPUTE Y(I) = Y(I) + (DT * VY(I))
COMPUTE Z(I) = Z(I) + (DT * VZ(I))
ADD 1 TO I
END-PERFORM.
Bibliography
"Academia Needs More Support To Tackle The IT Skills Gap | Micro
Focus". Microfocus.com. 2013. Web. 10 Apr. 2017.
"COBOL | TIOBE - The Software Quality Company". Tiobe.com. 2017.
Web. 10 Apr. 2017. https://www.tiobe.com/tiobe-index/cobol/.
"COBOL 2002 – The Good, the Bad, and the UGLY". 2005. Presentation.
"Convert COBOL to C++, CPP with COB2CPP Translator
Converter." Mpsinc.com. Web. 10 Apr. 2017.
http://www.mpsinc.com/cob2cpp.html
"IBM Academic Initiative - Enterprise
Systems". Enterprise.waltoncollege.uark.edu. Web. 10 Apr. 2017.
"IBM Knowledge Center." IBM Knowledge Center. October 24, 2014.
Accessed February 07, 2017.
https://www.ibm.com/support/knowledgecenter/en/SS6SG3_4.2.0/com.ibm.en
tcobol.doc_4.2/PGandLR/tasks/tpthr02.htm.
"Mainframe Schools". Mainframes.com. Web. 10 Apr. 2017.
"Micro Focus Documentation". Documentation.microfocus.com. Web. 10
Apr. 2017.
Al-Qahtani, Sultan S., Rafik Arif, Luis F. Guzman, Adrien Tevoedjre, and
Pawel Pietrzynski. "Comparing Selected Criteria of Programming Languages
Java, PHP, C, Perl, Haskell, AspectJ, Ruby, COBOL, Bash Scripts and
Scheme." Concordia University, August 20, 2010. Accessed February 13, 2017.
Arranga, Edmund C., and Frank P. Coyle. Object-Oriented COBOL. New
York, New York: SIGS Books & Multimedia, 1996. 15.
Bagley, Doug, Brent Fulgham, and Isaac Gouy. "The Computer Language
Benchmarks Game." The Computer Language Benchmarks Game. Accessed
February 13, 2017. https://benchmarksgame.alioth.debian.org/.
Beyer, Kurt. Grace Hopper and the Invention of the Information Age.
Cambridge, Massachusetts: MIT Press, 2009. 285.
Bull, J.M., L.A. Smith, L. Pottage, and R. Freeman. "Benchmarking Java
against C and Fortran for Scientific Application." Proceedings of the 2001 Joint
ACM-ISCOPE Conference on Java Grande, 2001, 97-105.
Carr, Donald, and Ronald J. Kizior. "Continued Relevance of COBOL in
Business and Academia: Current Situation and Comparison to the Year 2000
Study." June 13, 2003. Accessed April 10, 2017.
https://dl.microfocus.com/000/WP-20030613_tcm21-2774.pdf.
Dijkstra, Edsger W. Selected Writings on Computing: A Personal
Perspective. 1st ed. New York, NY: Springer New York, 1982. Print.
32
Du Preez, Derek. Banks will stick with COBOL because Java has
performance issues. Computerworld UK, June 13, 2013.
Dunn, Deborah L., and Dennis Lingerfelt. "Can visual basic replace
COBOL? ...and should it?" Journal of Computing Sciences in Colleges 20, no. 4
(April 1, 2005): 214-20. Accessed April 10, 2017.
Gotwals, John, and Carlin Smith. "Restructuring Programming Instruction
in the Computer Information Systems Curriculum: One Department's
Approach". Journal of Information Systems Education 7.2 (1995): 68. Print.
Haney, John. "Something Lost - Something Gained: From COBOL To Java
To C# In Intermediate Programming Courses". Journal of Computing Sciences in
Colleges 19.1 (2003): 227-234. Print.
McGee, Jamie. "Tennessee State University Offers COBOL Bootcamp". The
Tennessean. 2016. Web. 10 Apr. 2017.
Mitchell, Robert L. "COBOL: Not Dead Yet." Computerworld. October 04,
2006. Accessed April 10, 2017.
http://www.computerworld.com/article/2554103/app-development/cobol--not-
dead-yet.html.
Mitchell, Robert L. "Rebuilding the Legacy." Computerworld. April 24,
2006. Accessed April 10, 2017.
http://www.computerworld.com/article/2554624/enterprise-
applications/rebuilding-the-legacy.html.
Paul, Lois. "CDC's, DEC's Time-Sharing Called Most Cost-Effective by
RDC Study." Computerworld, May 31, 1982, 31-32.
Philippakis, Andreas S., and Leonard J. Kazmier. COBOL for Business
Applications. New York: McGraw-Hill, 1973.
Reilly, Edwin D. "COBOL." In Concise Encyclopedia of Computer Science,
104. Chichester, West Sussex, England: Wiley, 2004.
Sangappa, Sudhir, K. Palaniappan, and Richard Tollerton. "Benchmarking
Java against C/C++ for Interactive Scientific Visualization." Proceedings of the
2002 Joint ACM-ISCOPE Conference on Java Grande, 2002, 236.
Sellink, Alex, Harry Sneed, and Chris Verhoef. "Restructuring Of
COBOL/CICS Legacy Systems". Science of Computer Programming 45.2-3
(2002): 193-243. Web.
Sneed, H.M. "Extracting business logic from existing COBOL programs as
a basis for redevelopment." Proceedings of the 9th International Workshop on
Program Comprehension, 2001, 2. Accessed April 9, 2017.
doi:10.1109/wpc.2001.921728.
33