COBOL
COBOL, an acronym for 'COmmon Business Oriented Language', is one of the oldest programming languages, being created in 1959. It was designed by a CODASYL (Conference on Data System Languages) committee with Grace Hopper. It is primarily used in business, finance and administration for companies and governments. It is primarily an imperative, structured language, with support for object-oriented programming added in 2002.
Versions
- '''COBOL 1965''' added some new features to the original specification.
- '''ANS COBOL 1968''' is the first COBOL standard and was published by ANSI. It was created to improve compatibility between the different versions of the language.
- '''COBOL 1974''' added a few more features to the language, including the ability to
ACCEPTthe date, day and time, and the file organization clause. - '''COBOL 1985''' added many new features to COBOL, notably including: scope terminators (
END-IF,END-READ, etc.), theEVALUATEverb, theCONTINUEverb, inlinePERFORMstatements, the ability to pass arguments by content, and the deprecation of the infamousALTERverb. This standard was followed by the intrinsic functions amendment and a clarifications amendment in 1989 and 1991, respectively. - '''COBOL 2002''' was published by ISO as ISO/IEC 1989. It included a host of new features, most notably including object-oriented programming. However, there were also other features, including: floating-point support, portable arithmetic results, pointers, calling conventions to other languages, function prototypes, XML facilities and support for execution within framework environments. This standard has suffered from poor vendor support, due to little commercial demand for the new features.John Billman & Huib Klink, 'Thoughts on the Future of COBOL Standardization', https://www.cobolstandard.info/j4/files/08-0034.pdf
- '''COBOL 2014''' is the latest version of the standard, published on July 8th, 2014 and accepted by ISO early that summer, and then adopted by ANSI on Oct 31st, 2014. ISO/IEC 1989:2014 Information technology – Programming languages, their environments and system software interfaces – Programming language COBOL', https://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=51416 It includes numeric definitions following the IEEE 754 standard.
References
Tasks
- 100 doors
- 15 Puzzle Game
- 24 game
- 24 game/Solve
- A+B
- Abstract type
- Ackermann function
- Address of a variable
- Align columns
- Anagrams
- Append a record to the end of a text file
- Apply a callback to an array
- Arbitrary-precision integers (included)
- Arithmetic-geometric mean
- Arithmetic/Complex
- Arithmetic/Integer
- Array concatenation
- Array length
- Arrays
- Averages/Arithmetic mean
- Averages/Median
- Averages/Root mean square
- Babbage problem
- Balanced brackets
- Binary digits
- Binary search
- Bitwise operations
- Boolean values
- Box the compass
- CRC-32
- Caesar cipher
- Calculating the value of e
- Calendar
- Call a foreign-language function
- Call a function
- Call a function in a shared library
- Call an object method
- Case-sensitivity of identifiers
- Character codes
- Check that file exists
- Classes
- Code segment unload
- Collections
- Colour bars/Display
- Comma quibbling
- Command-line arguments
- Comments
- Compiler/AST interpreter
- Compiler/code generator
- Compiler/lexical analyzer
- Compiler/syntax analyzer
- Compiler/virtual machine interpreter
- Compound data type
- Conditional structures
- Constrained random points on a circle
- Continued fraction
- Convert seconds to compound duration
- Copy a string
- Count in octal
- Count occurrences of a substring
- Count the coins
- Create a file
- Create a file on magnetic tape
- Create an object at a given address
- Cumulative standard deviation
- Currency
- Date format
- Date manipulation
- Day of the week
- Decision tables
- Delete a file
- Detect division by zero
- Determine if a string is numeric
- Documentation
- Dragon curve
- Empty program
- Empty string
- Enforced immutability
- Environment variables
- Ethiopian multiplication
- Euler method
- Euler's sum of powers conjecture
- Even or odd
- Evolutionary algorithm
- Execute Brainfuck
- Execute HQ9+
- Execute SNUSP
- Execute a system command
- Extend your language
- Factorial
- Factors of an integer
- Fibonacci sequence
- Find limit of recursion
- Find the last Sunday of each month
- Five weekends
- Fixed length records
- FizzBuzz
- Flow-control structures
- Forest fire
- Fork
- Formatted numeric output
- Four bit adder
- Function definition
- Function prototype
- Generate lower case ASCII alphabet
- Greatest common divisor
- Greatest element of a list
- Guess the number
- Guess the number/With feedback
- HTTP
- Hailstone sequence
- Handle a signal
- Harshad or Niven series
- Hello world!
- Hello world/Graphical
- Hello world/Line printer
- Hello world/Newbie
- Hello world/Newline omission
- Hello world/Standard error
- Hello world/Text
- Hickerson series of almost integers
- Holidays related to Easter
- Horizontal sundial calculations
- Hostname
- IBAN
- Idiomatically determine all the lowercase and uppercase letters
- Include a file
- Increment a numerical string
- Inheritance/Multiple
- Inheritance/Single
- Input loop
- Integer comparison
- Integer overflow
- Integer sequence
- Jaro distance
- Julia set
- Jump anywhere
- Knuth shuffle
- Langton's ant
- Last Friday of each month
- Leap year
- Least common multiple
- Literals/Integer
- Literals/String
- Logical operations
- Loop over multiple arrays simultaneously
- Loops/Break
- Loops/Continue
- Loops/Do-while
- Loops/Downward for
- Loops/For
- Loops/For with a specified step
- Loops/Foreach
- Loops/Infinite
- Loops/N plus one half
- Loops/Nested
- Loops/While
- Luhn test of credit card numbers
- Machine code
- Mandelbrot set
- Map range
- Memory allocation
- Menu
- Middle three digits
- Monty Hall problem
- Multiplication tables
- N'th
- Narcissistic decimal number
- Null object
- Old lady swallowed a fly
- One-dimensional cellular automata
- Operator precedence
- Palindrome detection
- Pangram checker
- Perfect numbers
- Phrase reversals
- Pick random element
- Playing cards
- Pointers and references
- Primality by trial division
- Program name
- Program termination
- Quickselect algorithm
- Quine
- Range expansion
- Range extraction
- Read a configuration file
- Read a file line by line
- Real constants and functions
- Repeat a string
- Return multiple values
- Reverse a string
- Reverse words in a string
- Roman numerals/Decode
- Roman numerals/Encode
- Rot-13
- Run-length encoding
- SEDOLs
- Scope modifiers
- Search a list
- Selective File Copy
- Shell one-liner
- Show the epoch
- Sierpinski triangle
- Sieve of Eratosthenes
- Simple database
- Sleep
- Sort an integer array
- Sort stability
- Sort three variables
- Sorting algorithms/Bead sort
- Sorting algorithms/Bogosort
- Sorting algorithms/Bubble sort
- Sorting algorithms/Cocktail sort
- Sorting algorithms/Comb sort
- Sorting algorithms/Gnome sort
- Sorting algorithms/Heapsort
- Sorting algorithms/Insertion sort
- Sorting algorithms/Merge sort
- Sorting algorithms/Quicksort
- Sorting algorithms/Selection sort
- Sorting algorithms/Shell sort
- Sorting algorithms/Stooge sort
- Soundex
- Split a character string based on change of character
- Stack
- String append
- String case
- String comparison
- String concatenation
- String interpolation (included)
- String length
- String prepend
- Strip a set of characters from a string
- Strip whitespace from a string/Top and tail
- Subleq
- Substring
- Substring/Top and tail
- Sum and product of an array
- Sum multiples of 3 and 5
- Sum of a series
- System time
- Take notes on the command line
- Temperature conversion
- Terminal control/Clear the screen
- Terminal control/Coloured text
- Terminal control/Cursor positioning
- Terminal control/Dimensions
- Terminal control/Display an extended character
- Terminal control/Inverse video
- Terminal control/Ringing the terminal bell
- Test integerness
- Text processing/1
- Text processing/2
- Text processing/Max licenses in use
- The Twelve Days of Christmas
- Tokenize a string
- Tokenize a string with escaping
- Trigonometric functions
- Use another language to call a function
- Validate International Securities Identification Number
- Variable size/Get
- Variables
- Variadic function
- Window creation/X11
- Write float arrays to a text file
- Zero to the zero power