My take is that after Python everything else is a very distant second,
third, etc. Java frontend introduced a lot of complexity to NLPCraft
and given the limited amount of resources I'd vote for further
simplification of the project by concentrating (initially) on just one
language for both frontend and backend.

If necessary, a separate Java frontend API can be added later rather simply.

Furthemore, the choice of Scala 3 is the right one in my opinion.

My two cents.

On Tue, Jun 7, 2022 at 9:21 AM Furkan KAMACI <[email protected]> wrote:
>
> Hi Sergey,
>
> Is there any survey about which programming languages popular among NLP
> developers?
>
> Kind Regards,
> Furkan KAMACI
>
> On 7 Jun 2022 Tue at 17:37 Kamov Sergey <[email protected]> wrote:
>
> > Hi
> >
> > One more important thing. We want to support Scala API only for next
> > library’s version.
> > Now seems better to narrow this technological focus too.Current
> > approach, java API and Scala implementation, provoke a lot of technical
> > compromises (collections conversion, performance issues etc)
> > But at the same time, support of java API also doesn’t give us
> > significant benefits, because Java is not so popular among NLP
> > engineers.Focus on Scala allows to have more elegant user API and
> > implementation, also we can promote this solution for members of not so
> > big but active Scala community.
> > If library is successful we always can add java API support again over
> > Scala layer.
> >
> > Regards,
> >
> > Sergey Kamov
> >
> >
> > On 04.06.2022 17:56, Kamov Sergey wrote:
> > >
> > > Hi
> > > I want to enumerate next NlpCraft release changes.
> > >
> > > Main goals of next release:
> > >  - Simplifying of the system usage.
> > >  - Narrowing of focus - NLP, deleting all unrelated, auxiliary
> > components.
> > >  - Possibility of custom multi-language support.
> > >  - Simplifying of code, technical debt minimization.
> > >
> > > 1. Removed
> > >  - Client-server approach components, servers cluster support.
> > >  - Any database usage.
> > >  - CLI management console.
> > >  - Docker related stuff.
> > >  - Complex semantic components support.
> > > After these changes NlpCraft becomes simple library with java API.
> > >
> > > 2.Added and changed
> > > All components plugability support added, including such base as
> > > tokenizer etc, with EN default implementations of all of them.
> > > Note, that components testability was also significantly simplified,
> > > which is especially useful for user custom components.
> > >
> > > As results - all goals seem in general achieved.
> > > Code, including examples on different languages (EN, FR, RU) are
> > > accessible in `master` branch.
> > > Th best way to look at the code and review API, components work -
> > > start and debug 'light-switch' example, EN and FR versions.
> > >
> > > Remained tasks: some additional examples, user API clarifying,
> > > documentation.
> > >
> > > Please ask the questions if you have.
> > >
> > >
> > > Regards,
> > >
> > > Sergey Kamov
> > >



-- 
Nikita Ivanov

Reply via email to