I think it's a question of user experience, and this need not be an
either/or choice with the right design and supporting plumbing. How about:

Project opens fast. Dependencies are not immediately loaded - they will be
loaded lazily. Dependency nodes and such show a loading state until that
has completed. And the critical thing for user experience: Marking files as
having errors is blocked until they ARE loaded.

Fast loading is good. Having dependencies resolved is good. Look for the
way to have both, not choose between them - needing to is an indicator that
the architecture is wrong.

There are a few APIs that I suspect are synchronous that shouldn't be to do
this right - I notice, in a thread dump after invoking code completion a
few times, that you can wind up with one thread per invocation stalled if I
take a thread dump of the IDE. But all that is stuff that ought to be fixed
(or at least made more aggressively cancelable).

-Tim

On Sat, Feb 2, 2019 at 7:08 PM Laszlo Kishalmi <laszlo.kisha...@gmail.com>
wrote:

> Dear Gradle Users,
>
> I just would like to ask your opinion what would be the better:
>
>   * Open project fast, but probably with missing dependencies.
>   * Open project slower, but loading the initial set of required
>     dependencies (this is the default now)
>
> Laszlo Kishalmi
>
> --
http://timboudreau.com

Reply via email to