My update function is not called?

Hello everyone.
I am new to unity programming. I m learning with few easy and simple programs. I can’t get my update block code executed. I don’t know where I m going wrong. Below is my code. Please guide me ASAP.
Thanks!

using UnityEngine;
using System.Collections.Generic;

//using substitute;

public class learning_script : MonoBehaviour 
{
	substitute othercomponent;


	void Start () 
	{
		Debug.Log ("This is from learning script");
		List<string> myfavponies = new List<string>(){"vanya", "vanja","achra" }; 
		Debug.Log (" The first entry is :" + myfavponies[0]);
		Debug.Log ("The second entry is :" + myfavponies[1]);
		Debug.Log ("THe third entry is :"  + myfavponies[2]);
		othercomponent = GetComponent<substitute> ();
		Debug.Log (" Press a: ");

	}
	void update()
	{
		Debug.Log(" This is the update");
		if(Input.GetKeyDown (KeyCode.a))
		{
			Debug.Log(" This is the substitute component: " + othercomponent);
			Debug.Log(othercomponent.hereItIs);
			othercomponent.abc();
		}
	}
}

You need to have a Capital “U” for Update. “Update” doesn’t get called because its not there only “update” is. here is a code example to explain this to you

//Yes
public void Update() { 
}

//No
public void update() {
}

//No
public void uPdaTe() {
}

//I don't even....
public void uP68LTI() {
}

all code is CASE SENSITIVE!
If you are new to C# or any sort of programming i strongly suggest taking a tutorial on Youtube or 3dbuzz or UnityGems.