原著はアメリカのDoubleday & Companyより1966年に出版され、日本では一ノ瀬直二の訳により東京創元社創元SF文庫から1971年10月8日に初版が出版された。作者の著作には他に『ウは宇宙船のウ』（原題：R is for Rocket）という対になる表題の短編集がある。
2000年11月、スロバキア共和国政府は、国鉄事業の合理化・民営化スケジュールを決めた政府決議「スロバキア共和国鉄道の転換と再編に関するプロジェクト」（Projekt transformácie a reštrukturalizácie Železníc SR, 2000年政府決議830号）の附属書において、地方閑散線区32線区を地方線に指定し、当該線区は列車運行事業を廃止または他の事業者に行わせることとした。のち国鉄の分社化で発足した国鉄系列車運行事業体の鉄道企業体株式会社によって、ほぼ半数の線区で旅客列車運行の休廃止が行われた。
稚内市立稚内西小中学校（わっかないしりつわっかないにししょうちゅうがっこう）は、北海道稚内市西浜2丁目にあった小学校・中学校で併置校である。西浜・富士見を校区としていた。併置校であるが、小学校の校舎と中学校の校舎は別であった（グラウンドは一緒）。　近年は、生徒・児童数が僅少になり、この先も、生徒・児童数が増える見込みはないことから、2014年度末をもって小・中学校共に閉校した。昭和初期には全校児童・生徒は200人を超えていたが、過疎化により2000年には40人まで減少し、閉校年である2014年度はわずか4人にまで減っていた。卒業生は小学校で2440名・中学校で1324名を数える。
以下は具体的な擬似コードによるDEの実装である（Java言語と類似の形式で記述されている）。より一般的な擬似コードについては、アルゴリズムセクションを参照すること。//definition of one individual in populationpublic class Individual {//normally DifferentialEvolution uses floating point variablesfloat data1, data2//but using integers is possible too  int data3}public class DifferentialEvolution {//Variables//linked list that has our population insideLinkedList<Individual> population=new LinkedList<Individual>()//New instance of Random number generatorRandom random=new Random()int PopulationSize=20//differential weight [0,2]float F=1//crossover probability [0,1]float CR=0.5//dimensionality of problem, means how many variables problem has. this case 3 (data1,data2,data3)int N=3;//This function tells how well given individual performs at given problem.public float fitnessFunction(Individual in) {...returnfitness}//this is main function of programpublic void Main() {//Initialize population with individuals that have been initialized with uniform random noise//uniform noise means random value inside your search spaceint i=0while(i<populationSize) {Individual individual= new Individual()individual.data1=random.UniformNoise()individual.data2=random.UniformNoise()//integers cant take floating point values and they need to be either roundedindividual.data3=Math.Floor( random.UniformNoise())population.add(individual)i++}i=0int j//main loop of evolution.while (!StoppingCriteria) {i++j=0while (j<populationSize) {//calculate new candidate solution//pick random point from populationint x=Math.floor(random.UniformNoise()%(population.size()-1))int a,b,c//pick three different random points from populationdo{a=Math.floor(random.UniformNoise()%(population.size()-1))}while(a==x);do{b=Math.floor(random.UniformNoise()%(population.size()-1))}while(b==x| b==a);do{c=Math.floor(random.UniformNoise()%(population.size()-1))}while(c==x | c==a | c==b);// Pick a random index [0-Dimensionality]int R=rand.nextInt()%N;//Compute the agent's new positionIndividual original=population.get(x)Individual candidate=original.clone()Individual individual1=population.get(a)Individual individual2=population.get(b)Individual individual3=population.get(c)//if(i==R | i<CR)//candidate=a+f*(b-c)//else//candidate=xif( 0==R | random.UniformNoise()%1<CR){candidate.data1=individual1.data1+F*(individual2.data1-individual3.data1)}// else isn't needed because we cloned original to candidateif( 1==R | random.UniformNoise()%1<CR){candidate.data2=individual1.data2+F*(individual2.data2-individual3.data2)}//integer work same as floating points but they need to be roundedif( 2==R | random.UniformNoise()%1<CR){candidate.data3=Math.floor(individual1.data3+F*(individual2.data3-individual3.data3))}//see if is better than original, if so replaceif(fitnessFunction(original)<fitnessFunction(candidate)){population.remove(original)population.add(candidate)}j++}}//find best candidate solutioni=0Individual bestFitness=new Individual()while (i<populationSize) {Individual individual=population.get(i)if(fitnessFunction(bestFitness)<fitnessFunction(individual)){bestFitness=individual}i++}//your solutionreturn bestFitness}}