Conversation
Notices
-
Embed this notice
modern programmers would rather spend years arguing that they shouldn't be expected to know something basic than spend a weekend just learning it
-
Embed this notice
@deprecated_ii Minetest has blocks like minecraft and it is written in C++.
Mod support is with lua.
The game is GPU bound in my experience.
-
Embed this notice
@deprecated_ii @monsterislandcolonizer @skylar @snappler I doubt there would be many (if any) mods if he'd chosen write it in C++ and forced everyone to use some janky library linking system or DIY scripting language like a lot of C++ games with mod support do.
Java may have it's problems (especially when it comes to handling memory) and I agree that programmers nowadays should be forced to learn how signal buses and memory allocation actually work but I would also say that there are plenty of other criteria for a software engineer to worry about other than performance.
Reliability, portability, workplace ergonomics and code readability are all perfectly valid things to optimize a codebase around, and I would say, as someone who started out learning C++ back when people were still bitching about COM+, that Java fairs much better at that stuff the majority of times.
-
Embed this notice
@LivingSpaceStudios @monsterislandcolonizer @skylar @snappler okay, but my answer was to the question about the PC sounding like an airplane with minecraft and not a game built on the unreal engine
I'm not sure it's even possible to avoid thrashing the CPU with java if you're running a few tens of thousands of objects through an update loop every frame. maybe it is, but you'd have to go far out of your way to do it, and no java programmer would do things that way from the start (which is when you would need to decide to do it)
there's no reason modding in C++ needs to be terrible. that's an almost entirely language-agnostic architectural question. C++ has many terrible things in it but C++ programmers are not forced to use them
-
Embed this notice
@deprecated_ii @monsterislandcolonizer @skylar @snappler Minecraft is a more demanding game than people think simply on a conceptual basis.
Maintaining and rendering a fully three dimensional Cellular Automata based world with no defined beginning or end and then building an actual functional game on top of that is quite a difficult thing for both a designer to make and a computer to run.
-
Embed this notice
@LivingSpaceStudios @monsterislandcolonizer @skylar @snappler I have no reason to think notch is a bad programmer, or that he was particularly bad when he was making minecraft
but he also didn't know the game was going to become a bajillion dollar success with infinity mods that people were going to play for eternity, and if he did, I bet he wouldn't have chosen to build it in java
I believe it's also pretty CPU bound
-
Embed this notice
@skylar @snappler yeah, but as you say, you're not a programmer and don't claim to be one
there are consequences to not considering how memory works even in GC languages and the problem generally isn't that you're going to run out. it's that you're going to absolutely destroy performance by having constant cache misses because you didn't localize data you're iterating over, or maybe you're going to do some recursive thing that crashes your program after a few minutes or hours and you have no idea why
these aren't problems that appear in small programs that non-professionals like scientists or IT people tend to write. often, non-professionals who do things the naive way are actually better off than a maleducated junior programmer
also you're a lot smarter than many of the people I'm talking about
not understanding fundamentals is why web developers keep making tiny animations that make my CPU hit 92 euro degrees because they thought a 20 pixel twinkling star was a cool thing to include in their page, except it renders at 100000 FPS
-
Embed this notice
@deprecated_ii @skylar @snappler Is this why my PC sounds like an airplane if I boot up Minecraft but not when I turn on Space Hulk Deathwing?
-
Embed this notice
@monsterislandcolonizer @skylar @snappler pretty much
-
Embed this notice
@deprecated_ii @snappler here's the thing chat
i don't care exactly how memory works
yeah yeah there's allocating memory and freeing memory and pointers and shit like that
but my favorite low effort interpreted languages get the job done and i don't have to care about memory. even if i did run out, it'd be a better use of my time to grab 768GB out of the RAM drawer and chuck it in a server to run something
i am not a programmer
i dislike programming about as much as i do drywall work
but both of them sometimes need doing
-
Embed this notice
@deprecated_ii I do think there's an IQ bottom-end where people just can't hold enough in their brains to work an effective rate/make good project-wide decisions about code and I tend to wonder if those are the people who make posts like that.
It's definitely a separate phenomenon from the constant programmer sperging that gets us a new clever-and-useless concept or language every week. Those guys are just bored autists. But the "remembering is hard people" might just be stupid. Or, average.
-
Embed this notice
@snappler without the high level tools that erase most of the complexity, I think most professional programmers would be unable to program at all
so when you tell them hey guys, maybe you should know how memory works even if you're using a garbage collected language, they get upset
-
Embed this notice
@skylar @deprecated_ii @snappler this is just "computer time is less valuable than programmer time" stated differently. It's a common saying.
Only problem, the user's time is more valuable than programmer time and if your program runs like absolute dogshit and you don't know how to fix it, you're fucked.
It's fine for quick run-once scripts. the equation changes for proper software.