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

Jens Geyer commented on THRIFT-4541:
------------------------------------

I'm just insisting on the fact that you can't on the spur of the moment declare 
c# as legacy, backed by virtually no facts and no consensus across the team. 
Since you did that in two tickets I had to make a point.

Even if a language degrades to something that only a fraction of the market 
uses (in todays highly polyglot landscape this basically affects every 
language), as long as there is a valid use case and user base we should strive 
to continue supporting that language. At least there should be some sort of 
consensus before we talk in public about some parts of Thrift being legacy.

Of course, what (in the case of C# framework) versions we are willing to 
support is another cup of tea. Thrift has always evolved along the evolution of 
the languages, we have modernized client libraries multiple times to keep pace. 
For example, we did that a while a go with the Go libraries, they have 
basically undergone a complete rewrite. That's all fine and in the spirit of 
the project.

 

> You are a snarky one aren't you

https://www.apache.org/foundation/how-it-works.html#philosophy

 

> Use new project system in "lib/csharp" and define supported platforms
> ---------------------------------------------------------------------
>
>                 Key: THRIFT-4541
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4541
>             Project: Thrift
>          Issue Type: Umbrella
>          Components: C# - Library
>            Reporter: Christian Weiss
>            Priority: Major
>
> As discussed in THRIFT-4535, it would be great if we could update 
> "lib/csharp" to use the new "csproj" project system. This will allow us to 
> target multiple platforms and the new ".NET Standard" with a single project.
> It's possible to support pretty much every platform there is with this new 
> project format (see e.g. 
> [Newtonsoft.Json|https://github.com/JamesNK/Newtonsoft.Json/blob/master/Src/Newtonsoft.Json/Newtonsoft.Json.csproj]),
>  however supporting older platforms requires more work as this requires more 
> #if statements etc.
> This means that we have to decide which platforms we want to support!
> Targeting ".NET Standard 2.0" would be the easiest option as this version 
> [covers a much larger API 
> surface|https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net-standard-2-0/].
>  However, this would also mean that people have to use rather recent versions 
> of their platforms to use it, as .NET Standard 2.0 requires the following 
> minimum versions:
>  * .NET 4.6.1 (adding support for .NET 4.5 is no problem though)
>  * .NET Core 2.0
>  * Mono 5.4
>  * Xamarin.iOS 10.14
>  * Xamarin.Mac 3.8
>  * Xamarin.Android 8.0
>  * UWP 10.0.16299
> I will create a PR that targets .NET Standard 2.0 and .NET 4.5 to show what 
> the new project files would look like. If the approach is OK for you in 
> general, then I can try to add support for whatever minimum versions you'd 
> like to support.



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

Reply via email to