Язык может быть использован любой. Библиотеки можно использовать, но не для основной функциональности приложения. Например, если вы пишете ftp-сервер, то протокол нужно реализовывать в приложении, а не брать готовую библиотеку
Документация не нужна. Только приложение.