COBOL COMPILER COMPARISON: Preface: The following compilers are available with the new edition of the Stern and Stern Structured COBOL Programming, 9th edition: 1. RM/COBOL-85 Ver.5.2 2. Fujitsu COBOL85 V30l10 3. Micro Focus Personal COBOL (animator version 2) 4. Micro Focus Net Express 3.0 All four compilers will be evaluated in terms of the following features that are important to students and faculty: Ease of installation Ease of use Stability Quality of debugging tools Quality of documentation ANSI 85 standard compliance All of the compilers tested are adequate in that they each posses the features stated above to a greater or lesser degree. All four compilers include the COBOL elements necessary to use the textbook: COBOL coding rules The four divisions of COBOL program The sections of each division Syntax rules of COBOL Logic structures in COBOL (sequence, selection, repetition) Top down and modular programming techniques Readability of source code Use of design tools: pseudocode, hierarchy chart and flowchart Difference between real time and batch processing Processing of sequential, relative and indexed files. Sorting Control break processing. Arrays and tables. NOTE: Y2K compliance can be most easily accomplished with MicroFocus Personal COBOL, NetExpress and Fujitsu COBOL. None of the PC compilers make the Report Writer Feature available. Editor's Choice Micro Focus Net Express 3.0 "An integrated application development environment with a simple, easy to use interface." Among the compilers tested, Micro Focus Net Express 3.0 stood out from the competition. It was far and away the easiest application to use. Its concise, informative and abundant on-line documentation, as well as the quality of the included tutorials, is most impressive. Runner Up Fujitsu COBOL 85 "A feature-rich COBOL application development environment fully integrated with Visual BASIC." Fujitsu COBOL 85 was noteworthy among the products tested because of its plethora of features including web development support, SQL support and integration with Microsoft Visual BASIC. The product includes Common Ground 2.0, Crystal Reports 4.5 and voluminous documentation. Most of the documentation is in .dp file format, and can only be viewed with the Common Ground Viewer program. Fujitsu COBOL 85 was the most difficult to use of all the products tested. The 4,020 pages (not including the 8 read me files) of documentation is likely to intimidate students. Also, the interface was somewhat unwieldy; it is likely that a prospective user would find it necessary to read the majority of the 250 pages of the COBOL 85 Getting Started Guide on the CD in order to operate the software. Note: NetExpress and Fujitsu have capabilities such as SQL support and Internet application development, which are not covered by many undergraduate COBOL courses, particularly those taught in a single semester. Note, however, that there have been requests from time to time for SQL support which NetExpress and Fujitsu provide. Internet application development using COBOL is an area that some advanced courses may wish to explore. The following is a detailed description and evaluation of each compiler that is available with the textbook: RM/COBOL-85 System Requirements: OS: DOS 2.0 or greater CPU: 8088 or better Memory: 512 k or more Disk Space: Less than 1MB (Can run from floppy disks) Display: Monochrome or better The version of R/M COBOL-85 available with the text is an educational version. It can compile source code files that are less than or equal to 1,000 lines. Programs can define a maximum of four files for input and output, restricted sequential and relative files to 1,000 lines or records and 132 characters per record. Indexed files are limited to 100 lines or records per file and 132 character per record maximum. Fortunately, the programs assigned to students who take introductory COBOL courses rarely exceed these limitations. This is fundamentally a DOS-based program and does not require an installer.. Once installed, the software shows no signs of instability. The menu-driven interface is intuitive, although somewhat dated. Students should be able to build a project, add a source code file, compile, debug (including stepping through a program) and execute a program without the need to carefully read extensive documentation. The learning curve associated with this product , then, is not at all steep. The following illustrations outline the process: Here is how you launch an application from the DOS prompt: Use the commands in the menus by pressing the highlighted letter: Press enter to "enter" the project which can consist of several programs: Here is how you add members (source code files) to a project: Press the "c" key to compile the highlighted member of the current project: This automatically launches the "debugging mode". Here you can step through the source code, or execute it in real time. And here is the output of our sample program. Note: A text editor is included as well: The text editor is somewhat dated which makes it difficult to use for students accustomed to the more modern word processors. It requires the use of chain keystrokes such as "alt + a" to accomplish many operations, as did many older word processors. Even with the list of commands appearing at the bottom of the screen, students may need help in using the text editor. The dated interface, lack of online documentation, limited printed documentation and numerous built in restrictions render this product a little less useful than the others. This product is best used where cost is a major factor, since it is relatively low priced, and where DOS-based applications prevail. Fujitsu COBOL 85 Note: Fujitsu COBOL comes packaged with Crystal Reports Professional Ver 4.5 and Common Ground Ver. 2.01.58; these products will not be evaluated here since they are not likely to be taught in an introductory COBOL course. Several different versions of the software were available: versions for SOLARIS, HP/UX and Windows 3.1. These were not tested. System Requirements: OS: Windows 95 or greater (as tested) CPU: 386 with 387 coprocessor or better Memory: 16 MB or more Disk Space: 21 MB or greater Hard Disk space Display: VGA or better Fujitsu COBOL 85 is an extraordinary product. It differs markedly from the other products tested in that it seems to be a series of highly specialized individual applications instead of a single application. After installation, the following applications were available; Fujitsu COBOL Compiler and Runtime System, Fujitsu PowerCOBOL, Fujitsu PowerBSORT, Fujitsu PowerFORM, Fujitsu PowerGEM Plus, Fujitsu Data Editor, Fujitsu CGI and the Fujitsu Data Converter as well as Crystal Reports and Common Ground. Each of these applications has a distinct function. The following excerpt from the readmefirst.txt file explains their respective functions: "FUJITSU COBOL - Standards Compliant (Full ANSI Standard COBOL X3.23 1985, ISO-1989-1985) "COBOL 85" plus the 89 Addendum" - Compatibility support with OS/VS COBOL, VS COBOL II and Micro Focus - Embedded SQL Preprocessor with ODBC support - Embedded COBOL Report Writer, - Full function COBOL execution time debugger - Programming Staff (Edit and Compile Environment) - Micro Focus Conversion Utility (MFTO85) - File Utility - Easy integration with Microsoft Visual Basic FUJITSU PowerCOBOL - A tool to create Windows based GUI and/or client applications. - PowerCOBOL is event driven like Visual Basic but the event scripting logic is written using COBOL. - PowerCOBOL is an easy way for COBOL programmers to create GUI applications. - PowerCOBOL supports many popular controls like: sound, images, tables, list boxes, ODBC Database access, and DDE. FUJITSU PowerBSORT OCX - Easy integration of high performance sort, merge, and copy functions with tools like Visual Basic, VC++, and Microsoft Access. - Support for Sequential, relative and indexed files. FUJITSU PowerBSORT - Easy to use user interface to perform ad hoc Sorts, Merges, and Copies on sequential, relative and indexed files. - Provides high performance sort, merge and copy functions. Provides a High-speed alternative to COBOL sort verb. - Call-able interface enables C language routines to perform sort utility functions. FUJITSU PowerGEM Plus - Comprised of two very powerful features an Integrated Development Environment (PowerFRAMEVIEW) and a Code Control System PowerGEMPLUS - Provides a tool integration platform enabling the tools such as editors, compilers, tools, and utilities to be launched seamlessly. - Delivers integrated tools support for multiple programming languages (C, C++, COBOL, Fortran, Java, etc.). - Microsoft Make Facility is included along with a build and make file management tool. - Version control providing the capability to maintain multiple program versions, and the ability to restore a program to a previous version. - Access control allowing project management features to enable check out and check in while maintaining a revision history. PowerFORM (32-bit) - A flexible tool which enables the creation and maintenance of complex print forms. - Enables replacement of traditional COBOL text reports with graphical COBOL reports; making it possible to replace preprinted forms. - Easy to use GUI form designer allows for layout and the creation of forms with color, graphics, shading, and more. - COBOL program uses Write statements to elements (labels) to use the forms created with PowerFORM. - Forms created with PowerFORM can be used on Windows 95, NT, HP-UX and Solaris. (HP-UX and Solaris versions require Fujitsu COBOL and FORM RTS in order to use FORM on these platforms). Data Editor (32-bit) - Provides the facility to create, update and browse data files; viewing them as they appear in a COBOL program. - Data Editor will display data using the same structure as they appear in COBOL programs. - Supports sequential, indexed, and relative files. Data Converter (32-bit) - Tool for converting data files from one format to another; input and output files are defined and data is converted as it is copied to the defined output file. - Converts different file organizations: sequential, indexed, relative, text file (line sequential), binary, comma-separated values (CSV) - Converts different character code systems: ASCII and ECBDIC. Crystal Reports (A product of Seagate Software Corporation) - A powerful adhoc report program for creating custom reports, lists and labels using exist databases. - Allows technical and non-technical users to create customized reports quickly and easily from a variety of databases, under Microsoft Windows - Prepares reports by read data in the database files selected and making that data available for use in your report. CommonGround (A product of Hummingbird Communications Ltd.) - A tool for converting and displaying a document as Digital Paper. - CommonGround offers every thing expected from an original document such as colors, fonts and graphics -- all in electronic form. Cobol-GGI (A product of England Technical Services, Inc.) - A tool for interfacing COBOL programs with the Web, and using a web browser to display program information. - Cobol-CGI retrieves information from the client, such as data entered on a form or stored as environment variables, and returns a web page response." This discussion will be limited to the Fujitsu COBOL compiler and runtime System, Data editor and documentation. The Fujitsu COBOL Compiler and Runtime System is itself made up of several applications, but we need only concern ourselves with the ProgrammingStaff and COBOL Debugger applications. As stated previously, ease of use is a key feature in evaluating these compilers. The development cycle in Fujitsu COBOL is somewhat cumbersome and not very intuitive; it is likely that new users or students will need to spend many hours studying the included documentation. Depending upon the skill and experience of the user, this can be time consuming and sometimes frustrating. Note, however, that the documentation is extremely well written and well organized. To write and compile a simple program requires two separate applications. For example, first you would launch ProgrammingStaff: Then you launch the Editor from within ProgrammingStaff : Next, you create a new file via the drop down menus of editor (or the 'new' button) Note: A menu appears allowing you to customize the Editor program: Now you enter the source code: You save the file using the File menu or the Save icon. To compile the source code you must return to the ProgrammingStaff application and invoke WINCOB from the tools menu Note: You must close the editor window containing the source code or you will get a "file does not exist, has an invalid name or is in use by another program error." : Note: After you have selected the file to compile, you must enter compilation parameters (options). This is likely to be a step that the user might not be familiar with. The simple program described only requires one (the MAIN argument) parameter, but this MAIN parameter MUST BE specified. More complex programs will require that you enter the appropriate parameters-the user will probably need to consult the 230 page Getting Started guide as well as selected material from other documentation. If any errors are present, the compiler generates a file (with an .msg file extension) containing error messages and displays it in an Editor window Note: Errors included by design to illustrate the point here: PROGRAM-ID in lowercase and commands statements begun in column 6 instead of 8 and 12 are designated as syntax errors. The above represents the corrected source code. Once you compile with no errors you must link the program. This is accomplished by using the WINLINK command in the tools menu of ProgrammingStaff Note: You are given an option to generate an .exe or .DLL file. Note: you must "add" the link file and type in the name of the target file-the software will not provide you with these names by default. Successful compilation opens a window like this: To run the finished program, return to the tools menu in the ProgrammingStaff application and use the WINEXEC command: Note that the commands in the Runtime Environment Setup are not always easy to interpret. Fortunately our small sample program does not need to modify any of the defaults! Here is the completed application after it has been executed: Note: In general, the debugger is somewhat difficult to use. It has many options, and you must set or specify those options in order to debug the code. The user must read the documentation carefully to learn to use it effectively. Although the Fujitsu compiler is extremely up-to-date and comprehensive, its complexity and the steep learning curve make it less useful for introductory COBOL students.. Some students are likely to become frustrated or spend more time learning to use it than learning to program in COBOL. However, for those students who are truly interested and self motivated this product provides an enormous amount of flexibility and options. The included documentation is textbook quality, and will enable the avid learner to expand his or her knowledge of the subject. Micro Focus Personal COBOL System Requirements: OS: DOS 5.0 or greater/Windows 3.1 (Win 95 compatible) CPU: 386 or better Memory: 8MB or more Disk Space: 22MB Hard Disk space Display: VGA or better Micro Focus Personal COBOL is a capable application development environment intended for COBOL students. This program has been packaged with Stern and Stern Structured COBOL Programming 8th ed and has been very well received. It consists of the Personal COBOL Browser, Personal COBOL Dialogue System, PDS Users Guide, Run a COBOL Program and Personal COBOL (animator). We will limit our discussion to the Personal COBOL animator. Micro Focus personal COBOL is a 16-bit Win 3.x application distributed on 6 high-density 3.5'' floppy disks. It has a few stability problems under Windows 95, however. During installation the installer program tended to "freeze up"; sometimes it takes two or three attempts to successfully install the software. Also, other problems may arise during installation, such as corrupted files (help, on-line documentation and source code), system freezes and intermittent inability to launch the application. Unlike all of the other compilers tested, Micro Focus Personal COBOL does not require the user to set up a project before entering and compiling a source code file. This is beneficial because most often the programs assigned to COBOL students BCIS050 are not complex enough to warrant the creation of a project. The development cycle for Personal COBOL follows: The following is the Win 3.x interface: After "checking the program (checkmark icon on toolbar)" you may "open + execute": And here is the finished program: Notice how compilation did not require use of the link command. The development cycle of this application can be a bit confusing. It requires the user to create or edit source code in an "open to edit" session of the built in editor. To compile, debug and execute a program, you must open a separate "open to execute" session of the editor. While it is possible to make changes to the .int file in the "open to execute" window that will be reflected in the .cbl file in the "open to edit" window upon compilation; some problems crop up when you keep both windows open at the same time and make changes. These problems, namely system freezes and various error messages occur randomly and infrequently. One of the best features of this product is the on-line help. To access it simply highlight a COBOL reserved word and press "alt + f1". This is much better than the text files, html and proprietary viewers used by the competition. MicroFocus Personal COBOL remains simple to use and very capable. Current users who have familiarized themselves with the environment and some of the occasional problems encountered may want to remain with this compiler. But the extended features and stability of Net Express make it an excellent alternative for those who wish to go to the next level in COBOL program development. Micro Focus Net Express Ver. 3.0 System Requirements: OS: Windows 95 or greater CPU: 486 or better Memory: 16MB or more Disk Space: 115 MB Hard Disk space Display: VGA or better Micro Focus Net Express Ver. 3.0 has the best mix of features for our purposes. This product has none of the shortcomings of its predecessor Personal COBOL. There is no "open to execute" option here. The stability problems have been solved as well. The software installed and operated flawlessly. The development cycle is straightforward. You simply launch the application: The use of a menu to open (or edit) a source code file follows: There is no need to "check" the source (as in Personal COBOL); once you are finished editing you may compile by clicking the "sprinter" icon: You will need to identify the file to be compiled: A completed application can be obtained in very little time: In addition to its simplicity, other noteworthy features of this software include extensive use of wizards, concise and informative documentation in html format, high quality online textbooks in html format on a variety of topics including Database access and client-server application development.