JVM teraz i jego przyszłość z Jarosławem Pałką

Поделиться
HTML-код
  • Опубликовано: 18 дек 2024

Комментарии • 4

  • @JarosawRegulski
    @JarosawRegulski 3 дня назад

    Dziękuję za ten wywiad.

  • @aszecowka
    @aszecowka 5 дней назад +1

    Przyznam szczerze, że po tej rozmowie czuję pewien niedosyt, chociaż Jarka słucha się naprawdę świetnie. Około sześć lat temu przeszedłem ścieżkę z Java do Go, głównie z powodu ograniczeń ekosystemu JVM. Deploymenty aplikacji w Javie, szczególnie z użyciem Springa, były po prostu zbyt kosztowne - prosta aplikacja wymagała minimum 256 MB RAM, podczas gdy jej odpowiednik w Go zadowalał się zaledwie 32 MB. Ciekawie byłoby dowiedzieć się, czy w tej kwestii coś się zmieniło.
    Co do tego, że wiele baz danych czy narzędzi, takich jak Apache Kafka, zostało napisanych w Javie - zastanawiam się, czy nie wynikało to po prostu z jej ogromnej popularności w pewnym momencie. Dla porównania, ScyllaDB, napisana w C++, jest kompatybilna z Apache Cassandra (napisaną w Javie), ale twórcy twierdzą, że ich rozwiązanie jest dziesięciokrotnie bardziej wydajne. To właśnie problemy z Garbage Collectorem były jednym z powodów stworzenia Scylli, co może sugerować, że w tym przypadku to JVM okazał się ograniczeniem.
    Podobnie wygląda sytuacja z Redpandą, alternatywą dla Apache Kafka. Jest kompatybilna z Kafką, ale napisana w C++. Twórcy chwalą się, że koszty deploymentu są od trzech do sześciu razy niższe niż w przypadku Kafki.
    Na koniec chciałbym się odnieść do powiedzenia, że warto znać jeden poziom abstrakcji poniżej tego, z którego się korzysta. W przypadku ORM-ów absolutnie zgadzam się, że dobrze jest rozumieć, jakie zapytania SQL generuje dana metoda oraz jak działa baza danych. Niemniej jednak nigdy nie miałem potrzeby głębszego zgłębiania tajników JVM - może po prostu byłem wtedy ignorantem. ;)
    Wracając jednak do JVM - wciąż zastanawiam się, na ile ta dodatkowa warstwa abstrakcji jest rzeczywiście potrzebna. Kod napisany w Go bez problemu działa na różnych architekturach i systemach operacyjnych, co sugeruje, że da się to osiągnąć bez JVM.

    • @szymonwarda
      @szymonwarda 5 дней назад +2

      Wszystko zależy od tego co piszesz. Jak to jest aplikacja gdzie taniej jest dopłacić do mocniejszych maszyn - to Java będzie po prostu szybsza w developmencie. Java jest szybsza w zrobieniu PoC, czy dowiezienia odpowiedniego zbioru funkcjonalności. Tak na prawdę to nie tak wielkie obszary aplikacji muszą być wydajne. Cała masa kodu jest tak rzadko używana, że taniej, szybciej i mniej zawodnie zrobi się ją w językach zarządzanych.
      Bez ograniczeń czasowych albo finansowych to pewnie wszyscy pisalibyśmy w assemblerze. Ale te ograniczenia istnieją, więc piszemy w JavaScript ;)

  • @piotrtomasik7832
    @piotrtomasik7832 5 дней назад

    Fajny wywiad, naprawdę, jednak mała prośba - uczulajcie gości aby nie trzymali dłoni blisko ust, bo trochę to jednak zniekształca odbiór.