News for hackers. Stuff that matters.
Re:From Java to Go, and Back Again (2016) by thermodynthrway on Saturday June 23, 2018 @02:40PM (#17382693)
I came from the C# world :). And yes, it's even more powerful, plus reified generics.

The huge problem is that it's not that much better than Java which has ~50X more open source software written for it. The day MS makes a bytecode transpiler so I can use my Java libraries in C# I'll never touch Java again. The languages are so similar I have no idea why they haven't done it yet

Re:From Java to Go, and Back Again (2016) by wpdev_63 on Saturday June 23, 2018 @02:54PM (#17382765)
"The huge problem is that it's not that much better than Java"

I always see the .net fanboys tout how much better C# is than Java with generics, await/async, etc. but at the end of the day it's not that much better when you can achieve the same thing in Java with better open source support and across oses.

I know there's .net core now but I am not going near it until it matures.

Re:From Java to Go, and Back Again (2016) by thermodynthrway on Saturday June 23, 2018 @02:59PM (#17382788)
I miss all that from C#, some of it a lot. But Java has a community so large that they've basically hacked these things into Java anyways.

LINQ -> streams, QueryDSL, RxJava, JOOQ etc

Async/await -> Comsat/Quasar

The type system is lightyears better in C# but it was rare that I needed those features. Usually you can hack around the limitations and end up with something (slightly cruftier) that does the same thing in Java. Mockito, Retrofit, and RxJava are good examples of hacking about the type system until you have something good enough. That said, there are definitely times I still miss C#'s stellar type system. Easily the best of any language I've touched besides maybe Typescript (which is designed by the same guy)

Re:From Java to Go, and Back Again (2016) by mercurial on Saturday June 23, 2018 @03:47PM (#17383055)
There is nothing particularly outstanding about C#'s type system. It has reified generics and some basic type constraints, but so what? No option type, no ADTs, no pattern matching... Working with Typescript at the same time, I feel crippled every time I need to do something in C#. Not that Typescript is perfact, but its type system (especially with `strict`) is considerably more sophisticated.
Re:From Java to Go, and Back Again (2016) by Latty on Sunday June 24, 2018 @01:10AM (#17385043)
It has basic pattern matching now, nullable is the option type, which is being extended to reference types in the next version. It's no Scala, but it's getting there.
Re:From Java to Go, and Back Again (2016) by wpdev_63 on Saturday June 23, 2018 @05:09PM (#17383465)
If you really care about all those features then you would just use kotlin. It works almost seamlessly with Java and has the best ergonomics of any language I have ever used. All those festures are in kotlin and then some.
Re:From Java to Go, and Back Again (2016) by guitarbill on Saturday June 23, 2018 @03:00PM (#17382789)
It's weird, I started in C# but haven't touched anything Microsoft for roughly 10 years. That's how long they've been asleep, maybe longer. I would have killed for official cross-platform C#, if only for a decent UI toolkit (Mono was too bigger pain), and I'm sure C# would have significantly dented the popularity of e.g. Python. Instead C# never outgrew Windows, while many developers and companies did. Meanwhile, Java has kept evolving and taking chances, so much so that Java 8+ is pleasant enough. Only now has Microsoft realized the error, but way too late.
Re:From Java to Go, and Back Again (2016) by thermodynthrway on Saturday June 23, 2018 @03:09PM (#17382840)
It's a damn shame really. MS killed the golden goose by tryiing to squeeze too much money out of it years ago. C# is an excellent langauge, the design and type system are just incredible. But they missed the open source boat by about a decade and it's yet to be seen if their attempt to rally is too late
Re:From Java to Go, and Back Again (2016) by RangerScience on Saturday June 23, 2018 @03:36PM (#17382991)
It's distinctly possible that Unity3D will "rescue" this aspect if C#, although from what I saw of the community it's not there yet. Probably the lack of a good package / dependency manager - oh, and the lack of up-to-date C# support (last I checked you were stuck way back with 3.5).

Yadda yadda, if I wanted to "fix" the lack of an open source community in C#, I'd start with the Unity3D community.

Re:From Java to Go, and Back Again (2016) by kamac on Saturday June 23, 2018 @04:28PM (#17383276)
In the latest Unity version (2018) you have access to C# 6 (stable) and .NET 4.6.
Re:From Java to Go, and Back Again (2016) by UnpossibleJim on Saturday June 23, 2018 @05:32PM (#17383560)
The problem with that is, there are now open source game engines coming on the scene that are promising (in the long run, and yes it's a BIG maybe) to upset Unity's stranglehold, that support Python and in the future C# to lure away Unity devs. I'm speaking of Godot. I'm not sure how successful they'll truly be but I, for one, am hoping they bring a solid rivalry.

Python as a scripting language makes sense, in this arena, anyways, as it's the scripting language for Blender. A single scripting language for 3D software and game engine in a game studio just makes sense.

Re:From Java to Go, and Back Again (2016) by pjmlp on Sunday June 24, 2018 @03:44AM (#17385462)
Only makes sense in modern game engines if it comes with a JIT.

I can go for a coffee when Blender does some kind of data transformation, I can't do that in a middle of a rendering a frame 60 times per second.

Re:From Java to Go, and Back Again (2016) by Latty on Sunday June 24, 2018 @01:13AM (#17385054)
It can also do .net standard 2.0, which is great for library compatibility, and the experimental (but working) incremental compiler is Roslyn based and can do c# 7.2.
Re:From Java to Go, and Back Again (2016) by RangerScience on Sunday June 24, 2018 @05:44PM (#17388545)
Oh, horray! I stopped working with Unity3D, and so haven't been in the loop
Re:From Java to Go, and Back Again (2016) by valeriob on Saturday June 23, 2018 @03:44PM (#17383038)
I don't think that's accurate, we use opensource .net dev stack since 5/8 years, and since 3 it can be deployed on win, linux and osx.
Re:From Java to Go, and Back Again (2016) by valeriob on Saturday June 23, 2018 @03:49PM (#17383068)
That's unfortunate, since ms opensource journey started 10 years ago :D Java as a language stagnated 10 years compared to anything (example lambda). .net has been the source of many technologies, CQRS/ES, Async/Await, Reactive Programming, etc.
Re:From Java to Go, and Back Again (2016) by guitarbill on Saturday June 23, 2018 @04:28PM (#17383279)
Woah there. I think a lot of these need citations. While it's true that .NET had async/await in 2007 (F#, AFAIK), Microsoft open-sourcing things isn't that old. From what I can see, their most popular open-source projects are TypeScript (Oct 2012, so 5 years ago), and VSCode (Apr 2015, so 3 years ago). .NET Core was Nov 2014, also 3 years ago. Cynically, you might say they released VSCode and .NET Core because VS and .NET were dying slow deaths, maybe the same can be said for TypeScript, because JavaScript/web dev cannibalized Microsoft's markets.

Meanwhile, the interesting technologies, especially relating to web development, ops/deployment, or data storage and processing are first-class citizens in Linux (and macOS gets a free ride, because POSIX and desktop). Most of them don't use Java , but enough do: Lucene/ElasticSearch, Cassandra (and probably DynamoDB, even if it isn't OSS), Hadoop, Neo4j, Kafka, and more.

It's not even close. Please understand I'm not hating on C#, or saying Java was why these things are successful (definitely not), but I think it helps to understand the eco-systems surrounding both C# and Java. C# may be a nice language, and may be able to run on Linux. In 2005 (C# 2.0) it was almost revolutionary, but now it's just another language. Meanwhile everybody else has been learning and using the other languages to build great things - distinctly without Microsoft.

Re:From Java to Go, and Back Again (2016) by valeriob on Tuesday June 26, 2018 @08:29AM (#17399992)
Yep you are right, i rounded too much, mvc is from 2009 : https://stackoverflow.com/questions/734892/asp-net-mvc-is-no... But the bulk of it started a bit later with the whole .net ecosystem.

I agree with all you said, but i'm referring to the previous comment where ms has been all but asleep in the last 10 years :D Anyway talking about language and dev-environment are two completly different conversations, and i'm not wrong saying that Java as language stagnated far too long. I never said the .net eco system thrived meanwhile :D

Re:From Java to Go, and Back Again (2016) by jcelerier on Saturday June 23, 2018 @03:27PM (#17382940)
> The languages are so similar I have no idea why they haven't done it yet

the languages are so similar because microsoft started with J++ and got a lawsuit from Sun (https://en.wikipedia.org/wiki/Visual_J%2B%2B).

Re:From Java to Go, and Back Again (2016) by pjmlp on Sunday June 24, 2018 @03:42AM (#17385457)