С++ может ФП. Не очень красиво, но может, и причём довольно качественно.
Но начните именно с чистого ФП. Чтобы всё по хардкору. Чтобы когда у вас появится желание написать часть когда в императивщине, компилятор/интерпритатор посмеялся вам в лицо.
Александр Санеев: Я в этом плане консерватор. Т.е. если язык показан как императивный и если он хорошо справляется с поставленными задачами как императивный, то ФП ему, скорее всего, не нужно.
У голанга есть предпосылки, и функции высшего порядка тому пример. Но взгляните:
Но начните именно с чистого ФП. Чтобы всё по хардкору. Чтобы когда у вас появится желание написать часть когда в императивщине, компилятор/интерпритатор посмеялся вам в лицо.