thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jens Geyer (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (THRIFT-4535) Current state and future of .NET libraries ("csharp" and "netcore")?
Date Thu, 29 Mar 2018 17:02:00 GMT

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

Jens Geyer edited comment on THRIFT-4535 at 3/29/18 5:01 PM:
-------------------------------------------------------------

{quote}
I'm wondering why there even are 2 separate projects for .NET? It's important to understand
that ".NET Core" is not a new programming API - It's just a new platform - very similar to
Silverlight, Mono, Windows Phone. This means that it would also be possible to support .NET
Core and the new ".NET Standard" (which represents a common set of APIs for all platforms)
with the existing "csharp" project. 
{quote}

Why don't you just submit a pull request to merge both into one? Can't be too hard, right?

{quote}
Was this a deliberate decision - e.g. to make the "netcore" code the official successor of
the "csharp" code? 
{quote}

Depends on how you define "deliberate". It was just how it started *shrug*

Let me put it this way: There are already way too many special cases with the C# library.
The generator code covers a lot of them, which makes it sometimes hard to maintain it properly.
As you might notice, there are also two different lib projects for framework 4.5 and below.
They exist for a reason. Of course one could go for the smallest common denominator but you
may lose some important things on that way, just because that denominator does  not suport
a particular feature.

OTOH two NET libs implies that there is duplicated code, which is also bad in terms of maintenance.

So there are pros and cons to both solutions. I have no problems with merging them, but we
should not sacrifice anything from the feature set(s).






was (Author: jensg):
{quote}
I'm wondering why there even are 2 separate projects for .NET? It's important to understand
that ".NET Core" is not a new programming API - It's just a new platform - very similar to
Silverlight, Mono, Windows Phone. This means that it would also be possible to support .NET
Core and the new ".NET Standard" (which represents a common set of APIs for all platforms)
with the existing "csharp" project. 
{quote}

Why don't you just submit a pull request to merge both into one? Can't be too hard, right?

{quote}
Was this a deliberate decision - e.g. to make the "netcore" code the official successor of
the "csharp" code? 
{quote}

Depends on how you define "deliberate". The point is, that there are already way too many
special cases with the C# library. The generator code covers a lot of them, which makes it
sometimes hard to maintain that properly. As you might notice, there are also two different
lib projects for framework 4.5 and below. They exist for a reason. Of course one could go
for the smallest common denominator but you may lose some important things on that way, just
because that denominator does  not suport a particular feature.

OTOH two NET libs implies that there is duplicated code, which is also bad in terms of maintenance.

So there are pros and cons to both solutions. I have no problems with merging them, but we
should not sacrifice anything from the feature set(s).





> Current state and future of .NET libraries ("csharp" and "netcore")?
> --------------------------------------------------------------------
>
>                 Key: THRIFT-4535
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4535
>             Project: Thrift
>          Issue Type: Question
>          Components: C# - Library, netcore - Library
>            Reporter: Christian Weiss
>            Priority: Major
>
> Hi,
> We are trying to use Thrift in one of our projects but we ran into some very fundamental
issues:
>  * The "csharp" project does not target ".NET Standard" and there's only a very old release
on nuget.org ( if [https://www.nuget.org/packages/Thrift/] is the official one).
>  * The "netcore" project does target ".NET Standard" but there's no release yet ( https://issues.apache.org/jira/browse/THRIFT-4512 ) and
it also has a dependency on ASP.NET Core ( https://issues.apache.org/jira/browse/THRIFT-4534 )
which makes it unusable in non-web projects.
> I'm wondering why there even are 2 separate projects for .NET? It's important to understand
that ".NET Core" is not a new programming API - It's just a new platform - very similar to
Silverlight, Mono, Windows Phone. This means that it would also be possible to support .NET
Core and the new ".NET Standard" (which represents a common set of APIs for all platforms)
with the existing "csharp" project. 
> Was this a deliberate decision - e.g. to make the "netcore" code the official successor
of the "csharp" code? 
> Would you be interested in merging the code back into one library? I'd be willing to
help if you want!
> It would be great to get one proper, up to date and official .NET library soon as there's
already quite a lot of weird forks on NuGet.org: https://www.nuget.org/packages?q=Thrift 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message