> (I could open another can of worms which is the NB profiler 
> https://github.com/apache/netbeans/issues/7323)

Indeed; I use the NetBeans profiler quite a lot.

I see a worrying line of argument in these discussions: Some contributors say, 
quoting from the PR above, "I don't use [feature X] at all personally", another 
one says "me neither", and then "either we need someone to work on it ... or we 
drop it". I disagree with this: Dropping a feature is permanent, whereas 
leaving it in avoids disrupting existing users, and allows occasional fixes to 
be accepted over time.

For a huge piece of software such as NetBeans, different users are going to use 
different features, and bugs are a fact of life. Doing big workflow changes 
such as "switch from maven to gradle" will not eliminate bugs, but rather 
replace them with another set of bugs. Over time, each user picks a workflow, 
and learns about the relevant bugs and how to work around them. If a particular 
bug is particularly egregious, the user might find it worthwhile to develop a 
patch, and perhaps submit a PR.

(In the profiler's case, as an example, Peter Hull and Lars Bruun-Hansen 
contributed a big patch in 2021; see 
https://github.com/apache/netbeans/pull/2700 .)

In the case of https://github.com/apache/netbeans/issues/7323 and similar 
issues, ideally we would figure out how to encourage the original issue 
submitter to develop a fix... after all, all NetBeans users are also software 
developers themselves!

-- Eirik

From: Michael Bien <mbie...@gmail.com>
Date: Thursday, August 22, 2024 at 1:57 AM
To: "dev@netbeans.apache.org" <dev@netbeans.apache.org>, Eirik Bakke 
<eba...@ultorg.com>
Subject: Re: [DISCUSS] Projects, Builds and IDE magic

On 19.08.24 05:38, Eirik Bakke wrote:
When did you see the last CoS bug fix? Is there empirical evidence that this is 
still maintained?
There was this one:
https://github.com/apache/netbeans/pull/504
("Option to skip CoS copying of class files when the target is already newer, 
such as from an external compilation")

right, the last fixes I could find were around the 12.x time frame. The
fix linked above was 15 releases ago for example.


First, I would like to take a step back and ask what's the purpose of an IDE.
I'd like to be able to edit my code, hit "Run", and have the code run. 
Preferably both quickly and accurately. But speed is _really_ important, as 
slow operations tend to change the user's entire workflow. So I often prefer 
speed over full fidelity wrt. what a clean build would produce. That was always 
a known tradeoff with Compile-on-Save, in both NetBeans and Eclipse; that's OK!

I too would like that everything happens with minimal delay after
hitting a key - but correctness comes first. If I press a button and it
works only sometimes or only for a badly defined subset of projects, I
would question every button press during debugging sessions from now on.
This in turn also breaks the workflow since recovering from cos problems
requires essentially a clean+rebuild.

There are also users who reported that they couldn't run tests which was
fixed by turning CoS off etc.



CoS not relevant for small projects that build instantly, though, such as when 
starting a new project from scratch. So CoS should definitively stay off by 
default, and have some big warnings/caveats on it. But I'd hate to see it 
deprecated or removed; it's a really valuable piece of technology.

On a high level, this thread is about agreeing to focus our time on tool
integration instead of IDE specific tricks. While looking through the
issues and PRs I realized this probably already happened.

(I could open another can of worms which is the NB profiler
https://github.com/apache/netbeans/issues/7323)


When we literally have to disable a feature by default because it causes
so many problems (https://github.com/apache/netbeans/pull/5826). It
already is de facto deprecated, just not in UI or doc.

-mbien



-- Eirik



Reply via email to