исследования по функциональному программированию(theorists don't consider a language to be functional unless it has lambdas (anonymous functions), nested functions, and closures in addition to first-class (functions can be the inputs and outputs of other functions) and higher-order ( functions that take other functions as arguments) functions)
поддержка автоматического управления памятью(т.е. поддержка автоматического управления освобождением динамической памяти; русс. термин "автоматическое управление памятью" взят из кн.: Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#; Савихин О.Г Основы разработки приложений в Microsoft Visual Studio .NET)