Vědcům z Fakulty informačních technologií ČVUT se podařilo získat výzkumný grant od Evropské rady pro výzkum. Jde o takzvaný grant Advanced ERC v hodnotě 77 milionů korun.
Peníze se použijí na výzkum zefektivnění a zlevnění aktualizací programovacích jazyků. Program nese název Evolving Language Ecosystems (ELE).
Laboratoř výzkumu programování PRL@PRG vede Jan Vitek, který zároveň působí na Khoury College of Computer Sciences na Northeastern University v Bostonu.
Vitek a ČVUT aktivity kolem grantu popisují takto:
Aby zůstaly programovací jazyky použitelné dlouhodobě, musí reagovat na vývoj v oblasti hardwaru, rozšiřovat se o nové funkce a zároveň se přitom přizpůsobovat novým požadavkům koncových uživatelů.
V rámci zdokonalování programovacích jazyků se vědci na FIT ČVUT zaměřují na dva směry výzkumu. Na expresivitu jazyků – čím jednodušší bude vyjádření složitých algoritmů a jejich kontextu v programovacích jazycích, tím rychleji a snadněji bude možné jejich prostřednictvím zadat počítačům, co mají dělat. A dále na bezpečnost programovacích jazyků, aby se co nejvíce eliminovaly časté programátorské chyby. Třeba i taková automatická pračka musí vyřešit velké množství složitých procesů, aby úspěšně vyprala prádlo dle zvoleného programu.
Cílem vědců z Laboratoře výzkumu programování na FIT ČVUT v Praze je najít řešení, jak průběžně vyvíjené inovace programovacích jazyků co nejrychleji, nejsnáze a bez zbytečné chybovosti aplikovat. A v důsledku toho dosáhnout zlevnění aktualizace programovacích jazyků.
Když firma přijde s novou verzí programovacího jazyka, nejprve je nutné vytvořit veškerou dokumentaci (manuály, návody, školení, příklady na internetu a tak dále), aby korespondovala s novou verzí jazyka. Následně musí programátoři přepsat starý kód na nový, aby nové změny používal, program se zjednodušil a eliminovaly se chyby. Vědci řeší, jak tyto všechny návazné procesy zautomatizovat.
Problém je v tom, že nový jazyk nepotřebuje pouze nový kompilátor a související runtime systém, ale také vyžaduje nové nástroje pro vývoj softwaru, knihovny, dokumentaci, vzdělávací materiály nebo školící programy. Sečtou-li se náklady na tohle všechno, vychází nám ohromující částky. Například každá nová hlavní verze Javy přijde Oracle na zhruba 50 milionů dolarů.