Nightmare058, я ж говорю: сделайте еще одну колонку, которая автоматически будет заполняться средствами БД - дата создания записи (типа "default (CURRENT_TIMESTAMP)") и селект делайте по свежайшей записи.
Nightmare058, при запросе актуальной версии - селектите по времени. Если нужна история - отдаете все, что есть. Если есть какие-то проблемы с переполнением в БД - можно написать какую-то джобу (в т.ч. средствами самой БД), которая будет чистить записи, старше N дней.
s, Scala и Clojure языки общего назначения - можно писать все что угодно. Изучать скалу точно стоит, хотя бы потому, что она мозги ставит на место. На кложе, насколько я знаю есть и вэб и десктоп фреймворки.
Котлин не "сыроват".
nolouds, потому что цикл - это то, что понятно машине, а не человеку. Стримы же, позволяют писать на "человеческом" языке.
Вот небольшая иллюстрация из книги "Современный язык Java. Лямбда-выражения потоки и функциональное программирование" (которую я всем горячо рекомендую):