Is there a reason that a semi-colon was chosen as a line terminator instead of a different symbol?

I want to know the history behind this decision, and hope the answers will lead to insights that may influence future decisions.

In English the semicolon is used to separate items in a list of statements, for example


  She saw three men: Jamie, who came from New Zealand; John, the
  milkman's son; and George, a gaunt kind of man.


When programming you are separating a number of statements and using a full stop could be easily confused for a decimal point.  Using the semicolon provides an easy to parse method of separating the individual program statements while remaining close to normal English punctuation.

Edit to add
In the early days when memory was expensive, processing slow, and the first programming languages were being devised, there was a need to split the program up into separate statements for processing.  Some languages required that each statement was placed on a line so that the carriage return could act as the statement delimiter.  Other languages allowed a more free format to the text layout and so required a specific delimiter character.  This character was chosen to be the semicolon, most likely because of the similarity to its use in the English language (this has to be a supposition; I was not there at the time) and as it did not produce a conflict with the other punctuation marks and symbols that were required for mathematical or other syntactic purposes.

Edit again
The need for some terminator character goes back to the requirements for parsing the language text.  The early compilers were written in assembly language or, in some cases, directly in hand crafted binary machine instructions.  Having a special character that identified the end of the statement and delimited the chunk of text that is being processed makes the processing that much easier.  As I said above, other languages have used the carriage return or brackets.  The Algol, Pascal, Ada, BCPL, B, C, PL/M, and other families of languages happen to use the semicolon.  As to which one was first to use this particular character, I do not go back far enough in history to remember.  Its choice and adoption makes perfect sense as


Its use mirrors the use in normal English punctuation.
Other characters (e.g. the full stop) could be confusing as they already have a common use (a full stop is also used as a decimal point).
A visible punctuation character allows free format code layout.
Using a similar delimiter character in derivative or later languages builds upon the familiarity gained by all of the programmers that have used the earlier language.


As a final remark, I think that there has been more time spent on these answers and comments than was spent in deciding to use the semicolon to end a statement when designing the first language that used it in this way.
