Обновить
6
Роман Давыдкин@Beholder

Java-разработчик

13
Подписчики
Отправить сообщение

С включённым в JVM Escape analysis возможна оптимизация когда короткоживущий объект не попадает в кучу (даже в молодое поколение), а помещается на стеке.

Мы даже не пробовали Gradle в проекте

Ну и зря решили соригинальничать. Gradle хоть и может показаться сложным, но универсален. Да, там в нём надо разбираться, но магии никакой нет. Плагины можно писать прямо внутри проекта.


А так чувствую, что если эту систему на Python продолжать развивать, то в итоге когда-нибудь получится аналог Gradle, с такой же "магией".

Но сколько на это было сожжено солярки и вылито машинного масла?

Что-то вы туману напустили, мягко говоря. Нет тут никакого каррирования. Это всего лишь "extract function".


Каррирование — преобразование функции от многих аргументов в набор функций, каждая из которых является функцией от одного аргумента.

Где тут оно?


Вариант когда функция возвращает () -> Unit сомнителен, так как никакой экономии не тут добиться, а смысл кода может быть не очевиден.


sealed class тоже ни к чему, можно обойтись просто enum.

Ну пусть ещё попробует погоду на домашнем ноутбуке предсказывать и "искать там логику". И климат, и эпидемии — системы огромной сложности, их так просто не смоделировать. И биологией одной не обойдёшься, тут ещё и социология, и политические и экономические факторы.

Ну а просто посмотреть, как сделано в JDK, который оптимизируют и шлифуют уже много-много лет?


    @HotSpotIntrinsicCandidate
    public static double abs(double a) {
        return (a <= 0.0D) ? 0.0D - a : a;
    }

Причём аннотация вот эта означает, что реально в машинном коде может быть вставлено что-то другое, та же операция с битами или инструкция FPU (fabs).

BigDecimal есть, в котором разрядностью можно управлять явно.

А ещё же есть «Планета Роканнона» от Ле Гуин. Фомальгаут-2.

Эти волшебные "свободные форки" очень вероятно навсегда останутся на версии 3.0.2. Ну или пару надписей подправят.

Пока Project Valhalla не допилят — практически никаких. Когда допилят — возможность сильных оптимизаций с размещением записей на стеке, а не в куче.

Поддержка асинхронного программирования — это уже в кое-каком языке на букву "K" :)

Знаете, противопехотная мина тоже "атакует без непосредственного участия оператора". Но ответственность всё равно на том, кто её поставил и отдал приказ поставить.

fun transform(p: Point) = when(p) {
    Point(0, 0) -> Point(0, 0)
    ...
}

Не надо так. Тут при каждом исполнении будет создаваться новый объект. Как бы красиво это не выглядело.


numbers.any {
  // объемная логика ...
  return calculatedResult
}

Нельзя здесь простой return, он попытается вас вернуть из текущей функции. Надо просто написать calculatedResult (или какое-то выражение) в последней строке. Либо return@any calculatedResult


Ну а по существу — синтаксис хвостовых лямбд и inline функции — это и есть самое вкусное в Kotlin, что позволяет создавать DSL.

В английском языке — сначала прилагательное, потом существительное. В русском возможна перемена мест, но обычный порядок такой же.

Что-то новое в астрономии. Если метеор попал в атмосферу — то никуда он уже не уйдёт.

Как я понял, какие бы вы переключатели не брали, они всё равно громче мембраны. Для любителей понабирать ночью, когда в соседней комнате спят — не походит, так?


Ещё вроде есть ножничный тип и плунжерный, что про них можно сказать?

Извините, а что это у него метеоры в полёте разворачиваются, да ещё и аж углом? И после этого рассказывать «камера не может заменить человеческий глаз».

Скачать сорцы (git clone git://git.code.sf.net/p/dbunit/code.git dbunit-code.git), git checkout dbunit-2.7.0, отредактировать файл, mvn -DskipTests install — не вариант? Не дольше 5 минут.

Голограммы реальны с 60-х годов, но это совсем не то, что показывают в фантастических фильмах.

Информация

В рейтинге
5 669-й
Откуда
Тульская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Фулстек разработчик
Java
Kotlin
TypeScript
Vue.js