Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jdt-dev] Comparison of changes in completion vs Recommenders

> The second thing is substring matching. The main trigger was Marcel Bruch, owner of Code Recommenders, which encouraged us to do this, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=350000#c4:
> 
> A "plain" subwords engine clearly would be a great fit for JDT and should be part of JDT. 

Commenting on subwords part b/c this citation has been used several times in different situations already but lacks the appropriate context when and why it was written by me. 

This statement is 4 1/2 years old. It was written at a time where this feature was experimental and only available on the Code Recommenders HEAD update site. In fact, that feature did not exist in any IDE (neither IntelliJ nor Netbeans) at that time. Since then Code Recommenders committers put reasonable efforts to increase the performance, develop appropriate ranking mechanisms, and make it work with all JDT completion proposals and with Mylyn. After a long journey, it worked reasonably well and IDEs like IntelliJ and Netbeans picked up the idea and implemented it in their IDEs.

A bit of history:

Since June 2011 Code Recommenders (and with its Subwords completion but also several other completions optimizations) joined the Simrel and was added to various EPP packages over time:
Since 2012 it’s part of the Eclipse for RCP/RAP Developers package.
Since 2013 it’s part of the Eclipse for Java Developers package.
Since 2014 (or so) it’s part of the Eclipse for Committers package
Since 2015 it’s part of the Eclipse for Java Enterprise Developers

Since 2014 users where asked on first code completion whether they want to enable it. For Luna a couple of millions of model downloads where recorded showing that a great share of users appreciated it. Since 2015 it is enabled by default in all these packages, and thus, effectively all Java Users use Code Recommenders by default. However, most of them likely do not notice it that this functionality is contributed by a separate plugin - mainly b/c it is installed and enabled by default and tightly integrates with JDT.

That’s the context of that citation and where we are today.




Regarding reimplementing a (reduced subset) of Code Recommenders’ Subwords Completion in JDT:

At some point JDT committers decided to reimplement it in JDT. I’ve been told by Lars at JavaLand last year that the fact that a good feature is implemented in Code Recommenders must not prevent JDT to evolve and Customers need that feature in JDT (and Lars is not using Code Recommenders). I must admit that I don’t see how the existence of Code Recommenders (and it’s tight integration into JDT APIs) prevents JDT from evolving. In addition since almost all users have Code Recommenders installed (except SDK users). 

However, this conversation and subsequent discussions on bugs, mailing lists, and private emails were unpleasing and I decided to stay out of these discussions in future.

Having said this, there are three two points for me:
1. I’m fine with JDT copying existing and proven features from Code Recommenders to JDT (although I don’t see the need).
2. I hope that JDT team will continue supporting Code Recommenders when minor changes in the JDT APIs are needed to implement our ideas and features.


FWIW, I don't want to offend anyone nor am I offended (in the meanwhile). It seems to the way how things in Open Source flow...

Best regards,
Marcel



> Am 12.01.2016 um 17:44 schrieb Daniel Megert <daniel_megert@xxxxxxxxxx>:
> 
> Mickael, you already asked the exact same thing in a bug before, but anyway.
> 
> There are two different things:
> 
> One is emphasizing the matching characters in the proposal list. This is a generic feature that also applies to non-JDT and can be leveraged e.g. by CDT. Nothing that Code Recommenders provides at that level.
> 
> The second thing is substring matching. The main trigger was Marcel Bruch, owner of Code Recommenders, which encouraged us to do this, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=350000#c4:
> 
> A "plain" subwords engine clearly would be a great fit for JDT and should be part of JDT. 
> 
> We would not have started this work with our own resources, but there was a GSoC project in 2015 that got mentored by Lars and Noopur. The GSoC person is still committed to finish that work.
> 
> Dani
> 
> 
> 
> From:        Mickael Istria <mistria@xxxxxxxxxx>
> To:        jdt-dev@xxxxxxxxxxx
> Date:        12.01.2016 16:57
> Subject:        [jdt-dev] Comparison of changes in completion vs Recommenders
> Sent by:        jdt-dev-bounces@xxxxxxxxxxx
> 
> 
> 
> Hi all,
> 
> I see several changes and several bug reports about improving completion in JDT (subword, highlighting strings...). I'm wondering what is the interest for JDT to spend resources in reimplementing these features, that has been delivered to users by Code Recommenders at least since Mars.0 ?
> 
> Cheers,
> -- 
> Mickael Istria
> Eclipse developer at JBoss, by Red Hat
> My blog - My Tweets_______________________________________________
> jdt-dev mailing list
> jdt-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/jdt-dev
> 
> _______________________________________________
> jdt-dev mailing list
> jdt-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/jdt-dev

-- 
Codetrails GmbH
The knowledge transfer company

Robert-Bosch-Str. 7, 64293 Darmstadt
Phone: +49-6151-276-7092
Mobile: +49-179-131-7721
http://www.codetrails.com/

Managing Director: Dr. Marcel Bruch
Handelsregister: Darmstadt HRB 91940



Back to the top