News for hackers. Stuff that matters.
Re:Error Handling in Go (2016) by snarfy on Friday April 05, 2019 @09:32PM (#19588578)
Have you tried C#?
Re:Error Handling in Go (2016) by NateDad on Friday April 05, 2019 @10:04PM (#19588705)
C# has the feature-bloat of C++, except with a garbage collector. (I wrote C# for 9 years and even when writing it 40 hours a week, I still had trouble keeping up with all the features that continually came out)
Re:Error Handling in Go (2016) by int_19h on Saturday April 06, 2019 @12:45AM (#19589299)
It has nowhere near the feature bloat of C++. A C++ language lawyer can eat C# ones for breakfast.

If you compared modern C# to C++03, then maybe (although even then I would argue that templates alone are more complicated still).

Re:Error Handling in Go (2016) by tluyben2 on Saturday April 06, 2019 @04:03AM (#19589796)
> I still had trouble keeping up with all the features that continually came out)

Not that I ever had this sentiment but even if so: why would you try to do that? Most new features are tiny enhancements you can live without and the big changes (generics, Linq) you cannot do without so you they are forced anyway. ‘Trouble’ sounds like you were actually bothered by it which seems a bit over the top?

Re:Error Handling in Go (2016) by GenericsMotors on Saturday April 06, 2019 @02:10PM (#19592147)
But maybe you weren't also a C++ developer, because if you were you'd not made such a ridiculous comparison.
Re:Error Handling in Go (2016) by tonyedgecombe on Saturday April 06, 2019 @05:02AM (#19589936)
C# has become quite a big language although it manages to hide the complexity quite well compared to C++. There is very little in the language that will trip you up, unlike C++.

The only problem I have with it is it is still really Windows only, hopefully that will improve with .Net Core 3.

Re:Error Handling in Go (2016) by tluyben2 on Saturday April 06, 2019 @07:55AM (#19590334)
I have been writing stable and robust C# software on Linux and Mac OS X for many years now, so not sure what you mean. Starting with Mono and now solely .NET Core 2 & 3. I know many people who do that as well. And our deployments (all our prod/test/staging servers) went from Windows-only 15 years ago to Linux-only since 4 years.

Maybe you are talking WPF / Desktop only; there are other options for Mono but yes, there you would be right. However the trend is, unfortunately, toward browser interfaces (Electron etc) and those you can do on Linux/Mac already with .NET Core.

Re:Error Handling in Go (2016) by tonyedgecombe on Saturday April 06, 2019 @09:22AM (#19590583)
My experience with .Net Core 1 and 2 was that it felt unfinished. I am planning to take another look when 3.0 is released because I do really like C#.

I wasn't thinking of Desktop although I would love to see something strong emerge there (other than Avalon).

Re:Error Handling in Go (2016) by tluyben2 on Saturday April 06, 2019 @09:49AM (#19590703)
> My experience with .Net Core 1 and 2 was that it felt unfinished

Ah, curious what made you feel that. We ported massive code bases of ASP.NET and commandline tooling over to .NET Core since the 1 and had not many issues. It's a much better experience now but it never felt unfinished to me.

I have to admit that I have been writing software for a long time and one of the things I automatically do is abstract (not too far, just far enough) the underlying implementation of whatever I make/made. So our old ASP.NET code was very easy to port for that reason; I never use internals directly and still do not. For instance MVC looks more or less the same anywhere so I just use plain old C# classes as controllers so they can be reused by apps, other (non ASP.NET) frameworks, commandline, tests etc. It adds a thin layer below them so they work but it saves a lot of time and with the coming of .NET Core it proved smart once again.

Re:Error Handling in Go (2016) by recursive on Saturday April 06, 2019 @12:28PM (#19591531)
In the early days, my impression was that the build tools were totally overhauled every few months, and not always in compatible ways. JSON projects, xml projects, dotnet-cli.
Re:Error Handling in Go (2016) by Coincoin on Saturday April 06, 2019 @10:10AM (#19590792)
>The only problem I have with it is it is still really Windows only, hopefully that will improve with .Net Core 3.

I've been writing games in C# that run on Windows, Linux, OSX, iOS, Android, Windows Phone, UWP, AppleTV, Nintendo Switch and more for years now.

Ironically, the most compatibility issues we had was with Windows Phone and UWP.

Re:Error Handling in Go (2016) by zvrba on Saturday April 06, 2019 @08:37AM (#19590437)
> The only problem I have with it is it is still really Windows only, hopefully that will improve with .Net Core 3.

I'm developing a C# application on Windows (netcore 2.1) and it deploys and runs on OSX without a glitch.

Re:Error Handling in Go (2016) by johan_larson on Friday April 05, 2019 @09:35PM (#19588595)
No. Based on what I've read, it seems to be Slightly Different Java. Is there some important difference?
Re:Error Handling in Go (2016) by damian2000 on Friday April 05, 2019 @10:06PM (#19588709)
There's a number of differences, including generics done well. The team behind C# seem really engaged and transparent. The latest C#8 brings non nullable reference types, similar to how Kotlin does it.
Re:Error Handling in Go (2016) by snarfy on Friday April 05, 2019 @10:59PM (#19588907)
I wouldn't call its ecosystem weird and fad prone.