• 0 Posts
  • 5 Comments
Joined 1Y ago
cake
Cake day: Jun 12, 2023

help-circle
rss

So the tricky part is, which patterns are actually strong enough yet not necessarily obtrusive, so that you can start applying them early on? That’s a million dollar question.

That’s what experience is for. Design patterns aren’t rules for a reason - they have a time and a place to apply them.

It’s difficult to say exactly when you should use any given pattern much less a pattern “generally.” Typically it’s when “it’s better to use it then when it’s not” which is very hand-wavy.

It takes experience to be able to say “ahh, what I’m doing here is a good match for a ______ pattern given what I want to accomplish”.

What I will say is that if you’re doing professional development (rather than something experimental or for personal use) then it’s likely you will want to at least consider using a pattern if one exists that matches your use-case. And understand why you do or don’t follow said pattern.


I’ve found good work with both. Java has been “dying” for decades according to people who have an irrational dislike for the language. I’m yet to see any evidence for it. The ecosystem of libraries there is huge and well maintained.

Frankly I’d learn both as well as Python and maybe rust and go. Once you become proficient in any language it’s easier to learn others. So start with Java if that calls to you but branch out as well.



And the fact that it’s seamless across both cpu and gpu is exciting. Most devs can probably hack out a half decent multi threaded cpu implementation. But gpu is far more complicated. Having one solution that works on both is very intriguing to me.


reduce compilation times

They mention nothing about compile times. This is about allowing the compiler to automagically run your code in multiple threads on CPU and GPU.

It’s an interesting idea. I like the CPU/GPU abstraction but it’s going to have some learning curve to write code for it. I’m not in the niche it’s aimed at though so I can’t comment to it’s usefulness.