[ 
https://issues.apache.org/jira/browse/TINKERPOP-1552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16034479#comment-16034479
 ] 

Florian Hockmann commented on TINKERPOP-1552:
---------------------------------------------

{quote}
Its worth noting that the popularity of other languages in the .NET runtime 
compared to C# is very low. A different API for C# and VB.NET makes no sense as 
the interoperability is almost 100% and language constructs are the same (its 
more like different dialects). For F#, specific extensions could make more 
sense but it would be unlikely to be needed as C# is a "functional enough 
language" for APIs built in C# to be usable in F#. 
{quote}

After giving more thought to this I agree with you that it is probably enough 
to create one GLV for .NET that can be used by the different .NET languages. In 
the (unlikely) case that we want to support specific language features of F# or 
PowerShell in the future, we can still add them with a structure like the one 
you proposed.

And regarding the aspect of a separate NuGet package for the driver: I mainly 
had companies like DataStax in mind that provide their own drivers. But when 
you guys from DataStax now propose to build a single NuGet package that also 
includes the driver, then we should do that as it reduces the complexity for 
users.

The only remaining open question I see is the naming of the now only project / 
module / package. Should the C# project and the NuGet package be named 
{{Gremlin.DotNet}} or {{Gremlin.Net}}? And which name should we use for the 
maven module and in the documentation? I used {{DotNet}} for both as the hyphen 
version lacks the implicit dot for {{.Net}}, but I see that it could also be a 
bit confusing.
Both versions (_Net_ and _DotNet_) are frequently used in the .NET world, 
although _.Net_ seems to be a bit more popular than _DotNet_. Here are some 
popular examples for both:
* .NET:
** ASP.NET
** Json.Net (the most popular NuGet package)
** System.Net.*
** log4net
** SSH.NET
* DotNet:
** DotNetZip
** Microsoft.DotNet.*
** Docker.DotNet
I'm personally in favor of {{Gremlin.Net}} instead of {{Gremlin.DotNet}} 
because it looks nicer in my opinion and because it would allow us to reuse the 
existing {{Gremlin.Net}} NuGet package easily. Otherwise we would end up with 
two packages on nuget.org: {{Gremlin.Net}} and {{Gremlin.DotNet}} which would 
only confuse users.

> C# Gremlin Language Variant
> ---------------------------
>
>                 Key: TINKERPOP-1552
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1552
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: language-variant
>    Affects Versions: 3.2.3
>            Reporter: Jorge Bay
>            Assignee: stephen mallette
>
> It would be nice to have a C# GLV that runs under .NET Framework 4.5+ and 
> .NET Core.
> The maven build could use the Exec Maven Plugin to exec .NET Core's [dotnet 
> test|https://www.microsoft.com/net/core#macos] command.
> Some requirements, from the mailing list (edited):
> {quote}
> 1. The GLV should keep in line with class/method names of the java API
> where possible to ensure consistency of feel across languages.
> 2. There needs to be adequate tests (we're still discussing the approach to
> testing GLVs and i think that needs to be tackled sooner than later as more
> GLVs start to come in). Those tests should produce xunit style output
> unless there is some good reason not to.
> 3. There needs to be adequate documentation (e.g. Reference docs)
> 4. The build/deploy process needs to be bound to maven which might be one of 
> the trickier bits to deal with.
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to