zombierustpunk,
@zombierustpunk@hachyderm.io avatar

It’s fascinating that C# found such a strong niche as a game programming language with Unity and MonoGame/XNA, while Java did not. They have similar tradeoffs, and Java had a five year head start. What’s that about?

Was it DirectX? Xbox support?

brass75,
@brass75@twit.social avatar

@zombierustpunk I think it's because C# is a better language.

zombierustpunk,
@zombierustpunk@hachyderm.io avatar

@brass75 Damn, Dan throwin’ bombs in here.

(It is absolutely a better language.)

brass75,
@brass75@twit.social avatar

@zombierustpunk to be fair Microsoft learned a lot from Sun and that's why it's a better language.

zombierustpunk,
@zombierustpunk@hachyderm.io avatar

@brass75 C# was created primarily by Anders Hejlsberg, who had previously created Turbo Pascal and Delphi, and would later go on to create TypeScript, and those are all fantastic. So it’s not too much of a surprise.

harish,
@harish@hachyderm.io avatar

@zombierustpunk All the Java energy being consumed by Minecraft? 😅

zombierustpunk,
@zombierustpunk@hachyderm.io avatar

@harish And yet they still tried to rewrite everything in C++ with Bedrock Edition, got to like 95% parity, and then kinda gave up and decided to keep both. There’s gotta be an engineering management lesson in there somewhere.

zombierustpunk,
@zombierustpunk@hachyderm.io avatar

@harish I guess they should’ve rewritten Minecraft in C#, lol.

harish,
@harish@hachyderm.io avatar

@zombierustpunk C++ is the first language I learnt after Basic as a child, so I have a soft spot for it.

zombierustpunk,
@zombierustpunk@hachyderm.io avatar

@harish I’ve written more C++ than anything else in my career by a long shot. I also have a soft spot for it.

But it’s not a good language. It’s basically impossible to write a large multithreaded thing without any memory management bugs, no matter how good you are at it. It gets better over time for sure, but it’ll never get there.

harish,
@harish@hachyderm.io avatar

@zombierustpunk I can see that. I’ve programmed since I was a kid but I’m not a serious programmer. I wouldn’t be able to write the sort of things you describe in any language. 😅

harish,
@harish@hachyderm.io avatar
mai_lapyst,
@mai_lapyst@soc.saiyajin.space avatar

@zombierustpunk I think it's primarly because C# had in the early days better compability & integration into windows & the visual studio IDE environment. You simply only needed one installer to install IDE, tools, languages etc. Java was always: download JRE to even run it, JDK to develop on it, then choose one of the many IDE's out there.

And ofc C# came with XNA which helped it hugely, while java never had such a thing nicely provided right from the start. Yes you had JavaFX but man it sucked. Other than that you effectivly had only direct opengl (via lwjgl like minecraft did back in the day). Today it's a bit better with LibGDX but not really.

And ofc oracles inability to meaningfully extend and enhance the language. C# always was more marketed as also be able to produce native code, while in java we only have GraalVM coming up int the last couple of years, and then its still more experimental than not. :/

I unfortunately choose the java route back then and not C# lol

zombierustpunk,
@zombierustpunk@hachyderm.io avatar

@mai_lapyst Yeah. That all lines up with my experience. I learned java in 1997. I used it to make games like solitaire, but it didn’t work well for anything with real graphics. I tried OpenGL and DirectX in C++ after that. But XNA was a huge step up.

amyipdev,

@zombierustpunk java already had footholds in as enterprise-y to some degree

zombierustpunk,
@zombierustpunk@hachyderm.io avatar

@amyipdev C# was very focused on enterprise at first too though. It was positioned as a Visual Basic replacement.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • tacticalgear
  • DreamBathrooms
  • cisconetworking
  • khanakhh
  • mdbf
  • magazineikmin
  • modclub
  • InstantRegret
  • rosin
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • ngwrru68w68
  • JUstTest
  • everett
  • tester
  • cubers
  • normalnudes
  • thenastyranch
  • osvaldo12
  • GTA5RPClips
  • ethstaker
  • Leos
  • provamag3
  • anitta
  • megavids
  • lostlight
  • All magazines