Програмирането на асемблерен език е доста по-лесно от програмирането на машинен език и до днес не е загубило своята роля. Асемблерният език, обаче, носи твърде малко облекчения на програмиста. С разширяване на сферата на приложение на компютрите, в 60-те години на миналия век се появяват езици, първоначалната цел на които е програмистите да обменят алгоритми помежду си, затова отначало са наричани алгоритмични. Алгоритмичните езици са от по-високо ниво от асемблерните.
Една инструкция (оператор) на езика от високо ниво съответства на няколко машинни инструкции. Тези езици се доближават до човешкия, защото операторите им се съставят от разбираеми за човека фрази (обикновено от английския език). Програмите, написани на алгоритмичен език, се четат много по-лесно, което го прави 22 най-доброто средство за обмен на алгоритми и обучение в алгоритмизация на задачи за програмиране. Постепенно алгоритмичните езици изместват асемблерните от програмистката практика и започват да се наричат езици за програмиране. До идеята за такъв език пръв е достигнал Конрад Цузе , създателят на едни от първите реално действащи програмируеми, но не електронни, изчислителни устройства. През 1945 . той проектира езика Plancalcul, който остава незавършен, но редица елементи от този проект се срещат по-късно в много езици за програмиране.
В края на 50-те години специален научен комитет се занимава с разработването на принципите на универсален език за програмиране, който да не е ориентиран само към един тип задачи. Създаденият от този комитет език Algol (АLGOrithmic Language, алгоритмичен език) не успява да се наложи в практиката, но оказва голямо влияние върху развитие на езиците за програмиране. До неотдавна много популярни бяха езиците BASIC (създаден от Джон Кемени и Томас Курц) и Pascal (създаден от Никлаус Вирт). Важен за развитието на езиците за програмиране е езикът С (създаден в началото на 70-те години от Брайън Кернигън и Денис Ричи, тъй като много от най-използваните днес езици ( C++, Java, Perl, C# и др.) – са породени от C.