Showing posts with label Programming languages. Show all posts
Showing posts with label Programming languages. Show all posts

Thursday, 4 October 2018

Why does CODIL differ from other computer languages

This query came up on a FutureLearn Course which read "Christopher, to be honest I don't think the world needs any more computer languages or most of the ones it already has for that matter"

The vast majority of computer languages, such as COBOL, Fortran, C, Java, etc. are designed to process information on a conventional stored program computer where the memory consists of numbered boxes which contain numbers . The numbers in the boxes may represent coded data (often several different formats), numeric addresses, or coded instructions. This approach was originally designed to handle a class of well-defined mathematical tasks which humans find difficult to do quickly and accuracy, so it is not surprising that modern computers are incomprehensible black boxes when viewed by the average human being. They were deliberately designed to do efficiently things which people are bad at doing.

CODIL uses a completely different memory structure which is based on a dynamic network which attempts to mimic the working of the brain's neural network. The aim is to produce a transparent information processor (rather than a black box) which is easy for the average human to understand and use for a range of potentially complex information processing tasks. It is particularly aimed at complex tasks where a dynamically flexible human interface is advantageous - and so fills the area where conventional computers are weakest.

In CODIL the array of numbered boxes which make up a conventional computer memory is replaced by a large number of nodes, where each node consists of an on/off switch and a label (which is for the benefit of the human user). The human user defines the names of the nodes and the wires linking the nodes.