Telegram Web
*Вашему вниманию предлагается новая подборка Java-новостей от InfoQ: 😃
*✔️ Стал доступен билд № 31 для JDK 20 (ранний доступ)
✔️ Стал доступен билд № 5 для JDK 21 (ранний доступ)
✔️ Выпущен новый релиз Spring Framework, версии 6.0.4
и д.р.

Приятного чтения!


Читать статью
Новости Java 52

• Вышел Kotlin 1.8.0
• Java Annotated Monthly за январь
• Maven 3.8.7
• Mockito 5.0.0

Подробности: https://minijug.ru/java_news_52.html
Каждой задаче — по языку

Я вижу как минимум два способа понимать это высказывание.

Первый (назовём его горизонтальным) предполагает, что для каждой прикладной области есть наиболее подходящий язык программирования. Например, для серверной разработки — Java, для яблок — Swift, для Android — Kotlin, для фронта — TypeScript, для системщины — Си.

Второй (назовём вертикальным) делит языки на прикладные и низкоуровневые. Например, сервер — Kotlin-JVM, Android — Kotlin-JVM/Android, яблоки — Kotlin-Native, фронт — Kotlin-JVM. Написание ОС и драйверов — Rust.

Или, например, сервер и Android — Clojure, яблоки (в React-Native) и фронт — ClojureScript, Android — Clojure.

Или сервер — Haskell, Android — Haskell (NDK или Frege), iOS и фронт — PureScript.

Мне кажется, что правильный способ понимать это высказывание — второй, т. к. нет объективных причин для каждой платформы (прикладной сферы) заводить отдельный язык.
👍6👎3
Ночная задача: реализовать функцию factorial(n) -> long.
Какое решение самое простое? Компактное? Эффективное? Зрелищное?

Напишите ваши в комментах.
👍4
fun factorial(n: Int): Long =
(2..n).fold(1L, Long::times)
💩3👍2
2025/07/09 12:00:40
Back to Top
HTML Embed Code: