Facebook создала «нейронный транспайлер», который преобразует код между парами трёх высокоуровневых языков программирования: C++, Java и Python, сообщает VentureBeat. Система, построенная на базе обучения без учителя, по эффективность значительно превосходит инструменты, основанные на правилах, утверждают разработчики. Также она занимает меньше времени и не требует владения языками, между которыми происходит транспиляция. TransCoder тренировали на наборе данных из более чем 2,8 млн открытых репозиториев GitHub. Оценку результативности инструмента исследователи проводили на основе 852 функций C++, Java и Python, извлечённых из базы программистских задач и решений онлайн-площадки GeeksforGeeks. Максимальную точность — 91,6% — транспайлер показал на паре Java — C++. Хуже всего он справился с переводом с Python на Java — 56,1%. Подробно о TransCoder авторы рассказали в работе на arXiv. источник