Java Productivity vs Inne Frameworki/Języki

0

Tyle razy słyszę jak to Java jest mało produktywna itp. itd.
A ma ktoś solidne porównanie? Że posadziłbym np. Doświadczonego Javowca vs Doświadczony Pythonowiec i kto szybciej coś naklepie np. Spring Boot vs Flask? albo vs Rails?

Czy opłaca się do domowego projektu, żeby coś po prostu naklepać... opanować jakieś inne technologie, żeby robić to.... szybciej?
Czy może po prostu historie o szybszym developmencie w Rails, Pythonie itp. to nie jest tak naprawdę duży zysk mając do dyspozycji Spring Boot, albo nie wiem Spark Java, Ratpack czy cokolwiek bardziej 'micro' ?

Lubię się uczyć innych rzeczy, chodzi mi głównie o development speed.

0

To narzekanie się bierze się głównie z dawnej JEE i pewno EJB 2.

2

To raczej jest tak, że doświadczony Javowiec nie będzie się mógł powstrzymać przed wrzuceniem do kodu wszelkich możliwych frameworków, adnotacji i wzorców projektowych. Inaczej będzie mu można zarzucić brak kwalifikacji. To niestety daje pewien narzut:

@Service
public class FizzStringPrinter implements StringPrinter {

    private final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory;

    private final FizzStringReturnerFactory _fizzStringReturnerFactory;

    @Autowired
    public FizzStringPrinter(final FizzStringReturnerFactory _fizzStringReturnerFactory,
            final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory) {
        super();
        this._fizzStringReturnerFactory = _fizzStringReturnerFactory;
        this._systemOutFizzBuzzOutputStrategyFactory = _systemOutFizzBuzzOutputStrategyFactory;
    }

    public void print() {
        final StringStringReturner myFizzStringReturner = this._fizzStringReturnerFactory
            .createStringStringReturner();
        final FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter myOutputAdapter =
                new FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter(
                        this._systemOutFizzBuzzOutputStrategyFactory.createOutputStrategy());

        myOutputAdapter.output(myFizzStringReturner.getReturnString());
    }

    @Override
    public void printValue(final Object value) {
        this.print();
    }

}
0

Ok. Ale wybierzcie dostepne rozwiazania z JVM vs inne technologie. Czy faktycznie mozna zyskac boost productivity? Np. Kotlin czy Scala z jakims frameworkiem.

Jak sie bawilem roznymi technologiami to chyba stawialbym na Go. Ale tez nie do wszystkiego.

Frameworki w innych technologiach tez maja swoje narzuty.

To samo co o Javie slyszalem o C#.
Oklepane teksty w internetach.

0

W sensie czy poza JVM mozna zyskac wiekszy speed development.

0

Co rozumiesz przez produktywność? Czas dowiezienia pierwszego prototypu? Weź railsy. Cały czas życia projektu? To już zupełnie inna historia.
Z genialnej prezentacji Richa Hickeya "Simple Made Easy":
title

Morał: weź Clojure

0

Jeden i drugi przypadek ;)

0

No to nie wiem @jarekr000000, bo ja nigdzie nie znalazłem nadmiernie wykorzystywanych wzorców...

0

Osobiscie wole pisac po prostu z TDD, czasem wyjdzie to cos okolo wzorcow czasem nie. Ale jak cos zaczyna przypominac wzorzec lub zauwazam mozliwe wykorzystanie to refaktoryzuje do nich.

0
scibi92 napisał(a):

No to nie wiem @jarekr000000, bo ja nigdzie nie znalazłem nadmiernie wykorzystywanych wzorców...

Przecież piszesz w Springu. Wszędzie masz singletony.
Po prostu się przyzwyczaiłeś i nie widzisz.
"This is water"

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0