Tangu wakati ubinadamu ulipokuja na kifaa cha kwanza kinachoweza kusanidiwa, zaidi ya lugha elfu mbili za programu zimeundwa. Na kila mwaka idadi yao inakua kwa kasi. Wanasaidia kuanzisha mawasiliano kati ya vifaa anuwai katika vifaa tata vya kiufundi.
Lugha ya programu ni mfumo rasmi wa ishara ambao hutumiwa wakati wa kuandika programu za kompyuta. Wanatii sheria anuwai (lexical, semantic na syntactic) ambayo huamua kuonekana kwa programu na vitendo ambavyo vinapaswa kufanywa na kompyuta. Kuna idadi kubwa ya madarasa ya lugha za programu ambazo zinafaa zaidi kwa eneo lililochaguliwa, kuna hata zile za ucheshi. Wanaitwa esoteric na sio iliyoundwa kwa matumizi ya vitendo. Kwa mfano, kuna lugha ambazo zina sintaksia ya fasihi (Shakespeare, Chef), lugha zilizoundwa kuifanya iwe ngumu kuandika nambari (Malbolge, ALPACA), au na mantiki isiyo ya kibinadamu - Var'aq (anatumia mantiki ya Kiklingoni mbio kutoka sinema ya Star Trek). Na lugha zingine za kuchekesha, lakini kando na vichekesho kuna idadi kubwa ya wataalam. Darasa kuu ambalo linatumika sasa ni lugha zinazoelekezwa na vitu. Hii ni kiwango cha juu, ambacho kinakusudiwa kuandika programu ndogo na mifumo kubwa ya programu. Wawakilishi wakuu wa darasa hili ni Java, C #, C ++, Ruby, Python. Lugha za programu za kimantiki zinapaswa pia kuzingatiwa. Zinategemea nadharia ya moja kwa moja inayothibitisha dhana na inategemea nadharia ya mantiki ya kihesabu. Lugha maarufu ya programu ya mantiki ni Prolog. Inatumia mantiki ya utabiri wa kwanza. Licha ya idadi kubwa ya lugha iliyoundwa na utendaji wao, kila wakati ni muhimu kuchagua zana sahihi za kuunda bidhaa za programu. Kwa mfano, ikiwa unahitaji kutekeleza programu-tumizi ya mteja, basi, ni wazi, lugha ya kimantiki haifai kwa hii. Kwa hivyo, ni muhimu kuchagua ile inayofaa zaidi kwa kutatua kazi hiyo.