December 12, 2023

On Tuesday, 12 December 2023 at 11:05:30 UTC, Martyn wrote:

>

Game programmers NEED CONTROL OF MEMORY.

while this is true, it's not true for the whole application. there's a lot of things in games that do benefit from having a GC (or any other form of automatic memory management).

what you don't do is use the GC to track particles or game entities. but you can easily use it to allocate the arrays in which you manually manage those.

December 12, 2023

On Monday, 11 December 2023 at 21:21:46 UTC, Bradley Chatha wrote:

>

On Monday, 11 December 2023 at 20:29:36 UTC, Hipreme wrote:

>

[...]

Agreed - with the likes of Go, C#, Python, etc you have a wealth of libraries for things like Databases+ORMs, high performing (excluding Python) and well documented frameworks for things like web APIs or even server side rendering, and also easy just-works SDKs to access modern application development platforms (AWS; GCP, Azure if you're unfortunate enough), and so on.

[...]
It would be awesome if dlang improved interop with other languages, so you dont have to re-implement everything or use wrapper

December 12, 2023

On Tuesday, 12 December 2023 at 11:05:30 UTC, Martyn wrote:

>

gaming industry, I think Odin or Jai are going to win. They are not "GC languages"

Jai isn't even released to the public, if it ever will be so claiming Jai is winning is a bit premature.

December 12, 2023

On Monday, 11 December 2023 at 20:29:36 UTC, Hipreme wrote:

>

Right now, I'll list projects that I'm maintaining that was supposed to be unrelated to my project:

  • GLES Binding
  • Metal Binding
  • DirectX binding
  • A custom runtime for being able to use real D on WASM
  • OpenSL ES binding
  • AVAudioEngine binding
  • A custom build tool because dub is far from being enough to my purpose
  • Windowing libraries because when I started it, I didn't knew about adam's simpledisplay
  • Even JSON I had to reimplement, since the implementations I tested bring features which I don't have in my custom runtime, D code just seem to depend on everything, always.

I did that too, but it's difficult to call it maintenance. IME it takes a small fraction of effort needed to make the final product. Bindings have no logic and are immutable for all practical purposes. JSON is a straightforward and immutable specification and can be implemented unconsciously if you don't overengineer too much. I wrote xml and json parsers for no specific reason, just to test the myth that it's difficult to parse xml and see if parsers can be reasonably implemented without overengineering. The build tool looks like the biggest in your list, that can use design stage and subsequent improvements.

December 12, 2023

On Tuesday, 12 December 2023 at 13:21:21 UTC, IGotD- wrote:

>

On Tuesday, 12 December 2023 at 11:05:30 UTC, Martyn wrote:

>

gaming industry, I think Odin or Jai are going to win. They are not "GC languages"

Jai isn't even released to the public, if it ever will be so claiming Jai is winning is a bit premature.

I didn't say Jai is winning. I wrote "I think Odin or Jai are going to win" -- Its just a prediction. I don't mean tomorrow or next year, either. C++ will dominate for a number of years (and maybe some more) but IF any language starts to gain momentum in this field, I dont think its going to be D, Rust, C#, Go, etc

Jai and Odin are targeting the games industry (primarily) and they make it very clear what the language will and will not do out of the box.

We shall see...

However,

  • Jai is being developed for a moderately sized game (I believe it was called sokoban)
  • Odin is also used for a particle effects generator named EmberGen (might I add, is being used in production)
December 12, 2023

On Tuesday, 12 December 2023 at 12:40:15 UTC, DrDread wrote:

>

On Tuesday, 12 December 2023 at 11:05:30 UTC, Martyn wrote:

>

Game programmers NEED CONTROL OF MEMORY.

while this is true, it's not true for the whole application. there's a lot of things in games that do benefit from having a GC (or any other form of automatic memory management).

what you don't do is use the GC to track particles or game entities. but you can easily use it to allocate the arrays in which you manually manage those.

I have (tried to) address this in previous comments. I am not 100% against GC. I am just making a point that for high-level games, you need to be careful when using it (if you really need it at all.. and I wouldn't!)

Some game programmers make it clear they dont want to use it at all.

All this discussion on games, OOP, and GC all started just because I replied about using Java in the late-90's and how much I hated it. LOL.

December 12, 2023

On Tuesday, 12 December 2023 at 14:10:18 UTC, Martyn wrote:

>

On Tuesday, 12 December 2023 at 12:40:15 UTC, DrDread wrote:

>

[...]

I have (tried to) address this in previous comments. I am not 100% against GC. I am just making a point that for high-level games, you need to be careful when using it (if you really need it at all.. and I wouldn't!)

Some game programmers make it clear they dont want to use it at all.

All this discussion on games, OOP, and GC all started just because I replied about using Java in the late-90's and how much I hated it. LOL.

is this even a discussion? Or do people just defend their own opinions and ignores others'

December 12, 2023

On Monday, 11 December 2023 at 21:21:46 UTC, Bradley Chatha wrote:

>

Agreed - with the likes of Go, C#, Python, etc you have a wealth of libraries for things like Databases+ORMs, high performing (excluding Python) and well documented frameworks for things like web APIs or even server side rendering, and also easy just-works SDKs to access modern application development platforms (AWS; GCP, Azure if you're unfortunate enough), and so on.

When you don't have an easy to access, plug-and-play solution to access these external resources, for developers to tinker around with and prototype ideas with, then effectively a ton of more casual developers will never really touch D.

I suppose this is why my experience with D has been much better than reported by others. When I started, I was able to call into R for anything I needed, with no loss of efficiency. Need a database? It's there. Need a machine learning library like TensorFlow? It's there. Need parallel random number generation? It's there.

One of the things I've noticed is that - for reasons I'll never understand - most developers using D are not willing to do that. I understand that might not work for a commercial project, but if you just want to get work done, why not reuse the work that's been done for other languages?

>

With D you just have to do it all from scratch yourself: Something I'm very very very slowly making progress towards, but ultimately I understand it's almost pointless in the long run.

Well, yeah, it's pointless to reinvent the wheel if you don't have to. First get something that works. Then rewrite all the low-level stuff in D so it's more convenient/exactly the way you want/specialized to your use case.

December 12, 2023

On Tuesday, 12 December 2023 at 15:02:11 UTC, bachmeier wrote:

>

On Monday, 11 December 2023 at 21:21:46 UTC, Bradley Chatha wrote:

>

Agreed - with the likes of Go, C#, Python, etc you have a wealth of libraries for things like Databases+ORMs, high performing (excluding Python) and well documented frameworks for things like web APIs or even server side rendering, and also easy just-works SDKs to access modern application development platforms (AWS; GCP, Azure if you're unfortunate enough), and so on.

When you don't have an easy to access, plug-and-play solution to access these external resources, for developers to tinker around with and prototype ideas with, then effectively a ton of more casual developers will never really touch D.

I suppose this is why my experience with D has been much better than reported by others. When I started, I was able to call into R for anything I needed, with no loss of efficiency. Need a database? It's there. Need a machine learning library like TensorFlow? It's there. Need parallel random number generation? It's there.

Just for the heck of it, I checked how hard it would be for me to access AWS services. I found this package: https://www.paws-r-sdk.com/ "Paws provides access to the full suite of AWS services from within R."

December 14, 2023

On Tuesday, 12 December 2023 at 15:02:11 UTC, bachmeier wrote:

>

On Monday, 11 December 2023 at 21:21:46 UTC, Bradley Chatha wrote:

>

[...]

I suppose this is why my experience with D has been much better than reported by others. When I started, I was able to call into R for anything I needed, with no loss of efficiency. Need a database? It's there. Need a machine learning library like TensorFlow? It's there. Need parallel random number generation? It's there.

[...]

D is not the best when it comes to interop with other languages