You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Evgeniy Stanilovskiy <es...@gridgain.com> on 2017/01/17 07:46:05 UTC

scripting languages base cases using swig

Hi all.
Not so long ago i had to know that ignite had reduced functionality  
support in scripting languages.
So, idea was to take an existing C++ client and using SWIG  
(http://www.swig.org) as automatic wrapper, generate clients for absence  
scripting languages.
What do you think about this case ?

Thanks !

Re: scripting languages base cases using swig

Posted by Denis Magda <dm...@apache.org>.
Sounds interesting. If SWIG does its job really well than agree it worth communities efforts to give it a try.

As a side note, I assume that somewhere in the future we will come to the point when Ignite will have its own Machine Learning API. For every ML lib it’s essential to support Python and R languages that are used by analysts, scientists and researches who train models and adjust algorithms before everything is deployed in production using Java or C++.

If SWIG can generate Ignite’s APIs for Python and R then it would be a big breakthrough for us because the platform will provide all required languages needed to adopt an ML lib among researchers and developers.

Could you take in charge of design and create respective JIRA tickets?

—
Denis

> On Jan 17, 2017, at 11:55 PM, Evgeniy Stanilovskiy <es...@gridgain.com> wrote:
> 
> Hi Denis,
> 
> I don`t see any problem here, i have to speak with @vozerov about this issue and he recommends me to write it into dev list. All problems that i have with swig is :
> 1. jni overhead (no miracle here ...)
> 2. light troubles with collections API wrapping, like std::map, std::list and so on.
> 
> Partially my open source FreeLing java wrapper you can see here
> https://github.com/TALP-UPC/FreeLing/tree/master/APIs/java
> 
> std_list.i - little stub :) i have talking about.
> 
>> Hi Evgeniy,
>> 
>> Presently we’re trying to fill this gap offering SQL Grid [1]. In a nutshell, you can connect to an Ignite cluster from your favorite language or tool with ODBC/JDBC drivers and work with the cluster using SQL SELECT, INSERT, UPDATE, DELETE statements.
>> 
>> Here is how everything works for PHP that is not natively supported by Ignite:
>> https://dzone.com/articles/apache-ignite-enables-full-fledged-sql-support-for
>> 
>> However, as for SWIG. Do you think it’s feasible to implement on top of Ignite.C++ client which is tightly coupled with JVM?
>> 
>> [1] https://apacheignite.readme.io/docs/sql-grid <https://apacheignite.readme.io/docs/sql-grid>
>> 
>> —
>> Denis
>> 
>>> On Jan 16, 2017, at 11:46 PM, Evgeniy Stanilovskiy <es...@gridgain.com> wrote:
>>> 
>>> Hi all.
>>> Not so long ago i had to know that ignite had reduced functionality support in scripting languages.
>>> So, idea was to take an existing C++ client and using SWIG (http://www.swig.org) as automatic wrapper, generate clients for absence scripting languages.
>>> What do you think about this case ?
>>> 
>>> Thanks !


Re: scripting languages base cases using swig

Posted by Sergi Vladykin <se...@gmail.com>.
I think its worth trying. Recently on userlist someone requested Golang
integration. If we can achieve this with SWIG relatively easy, then why not.

Sergi

2017-01-18 10:55 GMT+03:00 Evgeniy Stanilovskiy <es...@gridgain.com>
:

> Hi Denis,
>
> I don`t see any problem here, i have to speak with @vozerov about this
> issue and he recommends me to write it into dev list. All problems that i
> have with swig is :
> 1. jni overhead (no miracle here ...)
> 2. light troubles with collections API wrapping, like std::map, std::list
> and so on.
>
> Partially my open source FreeLing java wrapper you can see here
> https://github.com/TALP-UPC/FreeLing/tree/master/APIs/java
>
> std_list.i - little stub :) i have talking about.
>
>
> Hi Evgeniy,
>>
>> Presently we’re trying to fill this gap offering SQL Grid [1]. In a
>> nutshell, you can connect to an Ignite cluster from your favorite language
>> or tool with ODBC/JDBC drivers and work with the cluster using SQL SELECT,
>> INSERT, UPDATE, DELETE statements.
>>
>> Here is how everything works for PHP that is not natively supported by
>> Ignite:
>> https://dzone.com/articles/apache-ignite-enables-full-fledge
>> d-sql-support-for
>>
>> However, as for SWIG. Do you think it’s feasible to implement on top of
>> Ignite.C++ client which is tightly coupled with JVM?
>>
>> [1] https://apacheignite.readme.io/docs/sql-grid <
>> https://apacheignite.readme.io/docs/sql-grid>
>>
>> —
>> Denis
>>
>> On Jan 16, 2017, at 11:46 PM, Evgeniy Stanilovskiy <
>>> estanilovskiy@gridgain.com> wrote:
>>>
>>> Hi all.
>>> Not so long ago i had to know that ignite had reduced functionality
>>> support in scripting languages.
>>> So, idea was to take an existing C++ client and using SWIG (
>>> http://www.swig.org) as automatic wrapper, generate clients for absence
>>> scripting languages.
>>> What do you think about this case ?
>>>
>>> Thanks !
>>>
>>

Re: scripting languages base cases using swig

Posted by Evgeniy Stanilovskiy <es...@gridgain.com>.
Hi Denis,

I don`t see any problem here, i have to speak with @vozerov about this  
issue and he recommends me to write it into dev list. All problems that i  
have with swig is :
1. jni overhead (no miracle here ...)
2. light troubles with collections API wrapping, like std::map, std::list  
and so on.

Partially my open source FreeLing java wrapper you can see here
https://github.com/TALP-UPC/FreeLing/tree/master/APIs/java

std_list.i - little stub :) i have talking about.

> Hi Evgeniy,
>
> Presently we’re trying to fill this gap offering SQL Grid [1]. In a  
> nutshell, you can connect to an Ignite cluster from your favorite  
> language or tool with ODBC/JDBC drivers and work with the cluster using  
> SQL SELECT, INSERT, UPDATE, DELETE statements.
>
> Here is how everything works for PHP that is not natively supported by  
> Ignite:
> https://dzone.com/articles/apache-ignite-enables-full-fledged-sql-support-for
>
> However, as for SWIG. Do you think it’s feasible to implement on top of  
> Ignite.C++ client which is tightly coupled with JVM?
>
> [1] https://apacheignite.readme.io/docs/sql-grid  
> <https://apacheignite.readme.io/docs/sql-grid>
>
> —
> Denis
>
>> On Jan 16, 2017, at 11:46 PM, Evgeniy Stanilovskiy  
>> <es...@gridgain.com> wrote:
>>
>> Hi all.
>> Not so long ago i had to know that ignite had reduced functionality  
>> support in scripting languages.
>> So, idea was to take an existing C++ client and using SWIG  
>> (http://www.swig.org) as automatic wrapper, generate clients for  
>> absence scripting languages.
>> What do you think about this case ?
>>
>> Thanks !

Re: scripting languages base cases using swig

Posted by Denis Magda <dm...@apache.org>.
Hi Evgeniy,

Presently we’re trying to fill this gap offering SQL Grid [1]. In a nutshell, you can connect to an Ignite cluster from your favorite language or tool with ODBC/JDBC drivers and work with the cluster using SQL SELECT, INSERT, UPDATE, DELETE statements.

Here is how everything works for PHP that is not natively supported by Ignite:
https://dzone.com/articles/apache-ignite-enables-full-fledged-sql-support-for

However, as for SWIG. Do you think it’s feasible to implement on top of Ignite.C++ client which is tightly coupled with JVM?

[1] https://apacheignite.readme.io/docs/sql-grid <https://apacheignite.readme.io/docs/sql-grid>

—
Denis

> On Jan 16, 2017, at 11:46 PM, Evgeniy Stanilovskiy <es...@gridgain.com> wrote:
> 
> Hi all.
> Not so long ago i had to know that ignite had reduced functionality support in scripting languages.
> So, idea was to take an existing C++ client and using SWIG (http://www.swig.org) as automatic wrapper, generate clients for absence scripting languages.
> What do you think about this case ?
> 
> Thanks !