This program will calculate the chances of a letter being in a specific place in a word and uses those chances to build real looking words. This program needs a file called names with one word on every line. Words in this file that contain characters other than those in the alphabet variable, will not be counted in the statistics. The larger the sample size, the better this will work.
This program could use a way to look for syllables and make use of them, but the current system seems to work well.
The names file I have included is a list of city names from the wikipedia list of cities with a population over 100,000 people.