>faster than C++>zero games
>>727783243tranny language
>>727783243wow, it's like the ps5 of programming!
>>727783243>faster than C++This is a lie and you know it.C++ without using classes and with SIMD data structures + intrinsics/hand written assembly is possibly the fastest language around unless you're being stoopid like most game developers and compile for 2006 SSE CPUs instead of making separate builds for AVX(2) and gigachad AVX-512 that Intel Aviv's CPUs consumer do not support(AMD Zen4+ X3D>>>>>>>>>Intlel 14900kys shitor lake)
>>727783243>fastnot for the guys who have to write the code.
>>727783243cave story was ported to it not too long ago if i remember correctly
ummm... we use python, sister.
>>727783243theres a game called rust faggot
>>727783243Rust prides itself on correct code, which means it's incredibly autistic about basic shit. The only thing that matters in game development is time to iterate. C++ already takes ages to compile but Rust is even worse somehow. Vast majority of people aren't making games with either Rust or C++ these days however
>>727783243Rust looks ugly as fuck.
>>727785603So does sepples
>>727785910That's the thing sepples CAN look ugly, and will in the hand of jeets.But you can make it look reasonable if you don't use every bell and whistle and retarded macro shitIf you stick to functions, classes, operator overloads and use it to make not an eyesore, the code looks pretty and maintainable.On rust you have no choice, no option, it's just a trainwreck even for basic shit.
>>727783243>>faster than C++Lol no. Close enough, tho.Problem is the retarded design, in the name of "memory safety". As recent history demonstrated, you can't have perfect memory safety on use cases in the real world - there will always be edge cases. No language is perfectly retardproof.
somebody explain delegates and callbacks to me
>>727786512They are just a way to pass code around.
>>727783243C++ is trash but I think Rust has worse libs for gamedev
>>727783243The borrow checker is annoying as fuck.
>more accessible than Rust>safer than C>produced games
>>727786512*ring* *ring*
>>727787127moshi moshi anon desu~
>>727783393fpbp
the safety of a language just makes it pajeet friendly and nothing else. If you are competent, you can code on Brainfuck
>>727787391>If you are competent, you can code on BrainfuckIf you are competent, you don't pick retarded joke languages that will make debugging and iterating upon the project in timely fashion a hellish ordeal. I doubt you've ever coded anything of worth in your life.
>>727787391Ever since the rise of managed code, a lots of modern programming languages are designed around accessibility and safety. Problem is, when you lower the entry bar, pretty soon all your devs will be retards.
>>727783967correctalso very few games are CPU-bound these days, so the difference between these languages doesn't really matter unless you're doing something simulation-heavy, graphics-light like dwarf fortress or victoria
>>727783243>crashes half of the Internet for hours
>>727786960Unironically a meme for anyone actually into game development. Just take a look at how retarded it's casts are. Also the guy is so neurotic he spent several minutes of a tech talk going on about slavery and the poor blacks to the point he was almost in tears.
>>727787542>you don't pick retarded joke languages that will make debugging and iterating upon the project in timely fashion a hellish ordealCut "retarded joke languages" out and replace it with "needlessly difficult languages" and you've got the reason why rust will always struggle to gain acceptance. When you're coding you want to test as you go. No point spending all day constructing all your classes and interfaces only to realise that you made a fundamental mistake that will require them all ripped out and replaced. In C you can leave all your dangling pointers, use-after-frees and memory leaks, and you can fail utterly to bounds check as much as you like. Because even if it crashes, you got it to run and you can see if what's in your head is what the computer does in reality long before you code yourself into a corner. Rust will fight you tooth and nail, whinging constantly and you know you shouldn't have this method accessing this variable via a pointer, but you NEED it to for debugging and unsafe {} won't cut it. C just lets you get on with your day.
>>727788140Nocoder.
>>727783243C++ is the white man language.
graphics stuff is setting up data structures and calling an API which rust doesn't do any better
>>727788397https://www.youtube.com/watch?v=oYyi4aCaQxMyess saar we are white you bloody benchod
why is rust associated with trannies?
pythong and c++ very needed for sydney sweeney ai content saar it is Highest importance
>>727783243I'm a Rust enjoyer, I'm currently enginedev in Rust, but it's obviously too young to have ecosystems for the majority of sophisticated usecases. The main drives for investment right now are fintech more than anything. And as others have said, correctness hurts iteration time. If I hadn't gone into my project with a clear understanding of what I wanted ahead of time it would have killed me to use Rust.Faster than C++ is kinda dubious, like as long as you're properly using either of these langs you should be able to drive them up to the potential of their C compile targets.Where I'd disagree with >>727783967 is that if you're going to say "well C++ can do XYZ *if you evade its default presentation and use it properly*" then it'd be fair to hold Rust to the same standard, and to that end there's not a huge difference in output. I code for 512 just fine on Rust. It's worth noting that Rust optimizes better out of the box while C++ has a vastly more mature ecosystem. You can get packages to do some crazy shit without implementing it yourself in C++, including literally recreating the borrow checker and a variety of other memsafe philosophies. Part of what makes Rust nice is that a very strong level of optimization and memory safety are present right out of the box with little technical overhead for the user.
wasn't that big cloudflare outage due to rust
>>727789509No, it was a js error that Rust would have prevented.
>>727789545>js error>provoking infrastructure-level outagesRust is shit, sorry.
>>727785507People still make games with C++ because it's still the de facto language of game development (in addition to simulation development and scientific programming). All these meme languages that have popped in the last decade or so still haven't found a usage because they don't have a problem to solve or try to solve a non-existent problem, when historically most programming languages were made to solve an issue. You are better off just learning the tricks of the trad e rather than hipstershit
Coding is so gay. I'm glad it won't be a thing for 99.9999% of the population in the coming years.
>>727789509>>727789545Sorry, my mistake, that's not js it's lua, but the point still stands: the language doesn't validate that the field would be present so it crashes when undetected.>>727789670Please see pic related from Cloudflare's own post on the subject:https://blog.cloudflare.com/5-december-2025-outage/
>>727783243just ask an ai to program some shitty game in rust, problem solved
>>727789509Yes, specifically a cross-language issue with their scripting language calling their Rust code and hitting an .unwind() call which by default leads to a panic crashing it.Rustoids are mostly coping about it.
>>727789925That's a pretty terrible idea, because you can't check if the code is correct.Specially with the pants on head retarded syntax of rust.
>>727789928>dev invokes the "crash when unhandled" dev-convenience function>doesn't enable any of the provided "don't allow unwrap() and expect() functions in release" flags>program does exactly what the dev tells it toI'm just not quite seeing what makes this the language's fault. Surely that's histrionic?
>>727783243Why is it named after a thing that's harmful for machines?
>>727783243Is it really faster than C/C++/C#?
>>727783243nice rootkit you got there OP
>>727789838>biz monkeys blame tool rather than admitting fault>this is evidence tool is to blamelmaoeven the weak typed languages have ways to check for not existing. Lua its just coompare with nil. And in reverse you can silently fail in strongly typed languages by simply casting type conversion badly.worst of it is i know how to do this safety checking despite only learning a bit lua for wow addon coding. Imagine being professional and doing this shit.
>>727790314>dev invokes the "crash when unhandled" dev-convenience functionNo, that's the default state in Rust and the way you're expected to write Rust code and is present in 95% of their libraries. You have to go out of your way to catch_unwind and they explicitly encourage you not to do that in the rust book. >"Still, we would encourage you to only do this sparingly. In particular, Rust's current unwinding implementation is heavily optimized for the "doesn't unwind" case."
>>727788397>C++ is the white man language.
>>727790870it's true tho
>>727791076high caste indians gentlesirs
Why is Python so slow?https://youtu.be/3PcIJKd1PKU?si=2sb6M0_Xm5bkGCjU
>>727783243wait for bevy engine to get finished. they already have implemented shit like nanite.
>>727791189it's interpreted from hindi plain text
>>727791270>bevy>we don't know what the use-case for ECS is but we'll write it anyway!
>>727790667I fully agree that it's an example of bad coding overall, trust me.>>727790771I believe you have confused the ".unwrap()" function for some kind of "unwind()" function. The Cloudflare issue panicked in Rust at an .unwrap() call when parsing a malformed config file.Generally, if there is no defined way to proceed then a program's most correct path forward is panicking. Carrying on execution in an undefined state would obviously be the less correct decision. Ideally, of course, the devs would have made a functioning config file and parser, and failing that a more graceful error handler.Nevertheless>No, that's the default state in Rust and the way you're expected to write Rust code and is present in 95% of their libraries.This is clearly histrionics, anyone familiar with Rust would know this is simply not the case. The error handling ecosystem is well defined.
>>727789435Kling said rust is bad for big projects because it's hard to maintain, what do you think about that?
>>727791693>The error handling ecosystem is well defined.lmao yeah, and it's yolo in practice. Not quoted.
It's got zero of everything. The average rust application is someone trying and failing to rewrite a C one with an MIT license and hoping no one notices it's got 1/5000000th the feature parity while introducing new bugs. Only huge companies use it in any serious manner, and only really as a way to sequester a part of the codebase away from other groups and to ensure job safety not out of technical requirements.
>>727791395So does Python actually compile to machine code or is it always bytecode like with Java? If so, that shit is always going to be slow as fuck.
>>727792262AFAIK it's always interpreted meaning a simple program with an add instruction is like 80~120 instructions to run while the equivalent in C and C++ is one instruction.
>>727791907I don't know who that is and can't really speak to his arguments. I'm not having much difficulty myself, but I find Rust pleasant and intuitive, and I enjoy its structure and abstractions. Match statement good, borrow-checker's my friend, etc. Generally speaking it forces me to do stuff properly the first time so I find the need to redo stuff arises infrequently, and refactoring is pretty neutral - strongly typed langs are nice cause you just rip out what needs to change and serve the type.If it's about collaboration then I must admit I can't speak with any authority at all, my project is shared with only one other guy who also loves Rust.>>727792058Look, feel that way all you like, I'll feel different, but to the extent that this discussion is about things that are the language's fault and not the dev's I'm still not seeing the part where the Cloudflare crash was the language's fault and not the dev's.
>>727783967>with SIMD data structures + intrinsics/hand written assemblyRust has that.
>>727783243>faster than C++that's neither C nor Assemlby
>>727783243https://loglog.games/blog/leaving-rust-gamedev/
>>727789435>C++>ecosystemYou mean writing your own bespoke implementation of everything down to the standard library? That's how major tech companies seem to be doing it.
>>727792456>always interpretedYeah, that's bytecode. Java is the same way where it "compiles" to bytecode instead of machine code and is run from a platform independent Java virtual machine. Great portability but very slow.
>>727792546>Look, feel that way all you like, I'll feel differentTo which i'd respond look at Embark Studios rust guidelines. Except they seem to have privated it. It was a warning against using any public Rust code with a long checklist of red flags.
>>727792546Kling is dev of ladybird browser.
>>727783243you spend most of your time figuring out your pronouns instead of development
>>727792776Kek, alright, but in my defense C++ *does* have a very well populated ecosystem of projects that we're all free to ignore. Like I said in >>727791693 it's weirdly easy to try and critique a language and end up talking shit about its community.https://www.youtube.com/watch?v=7fGB-hjc2Gc was a good vid for flaming C++ as a language.>>727792676This is a great essay, and what I had in mind when I posted >>727789435It's rare to read a level-headed critique of Rust in which virtually every point is bang-on.>>727793084Oh neat, never heard of that before
>>727793315>video>the standard lib expects me to know about what kind of prng and distribution I want for it instead of a magic default>no I can't write a simple header lib of this myself if I want it re-used even though a prng written from scratch is less than ten lines and beyond trivialAlright not watching this retard and I hate "modern" C++.
>>727793315Are you a newfag? Kling is our guy, he's a /g/tard.
>>727794470meant for >>727786512
>>7277933152 minutes in and I can tell this guy is a moronnot even a cpp fag
>>727791189it's good enough for my furry porn gens
>>727788237Zig is going the DOD route though which is unironically the greatest thing to happen to software development.
>>727794470aren't these just function pointers
>>727793315tl;dwI clicked to the chapter "Deprecated features". Guy complained that the C++ STL doesn't provide support for Unicode case conversions.He's an idiot, in short. He unironically thinks Unicode is ASCII but bigger. And he unironically thinks that low-level languages are practical tools for case conversion. And he unironically believes there's nothing wrong with WG21 subordinating themselves to the Unicode Consortium when designing the language.There exists a C++ library maintained BY THE UNICODE CONSORTIUM THEMSELVES for this exact purpose. It is maintained by THEM, and not by C++ compiler developers, because Unicode is THEIR DOMAIN. Making C++ compiler devs have to maintain a redundant implementation of the Unicode case conversion standard is pointless. This is like complaining that C++ toolchains doesn't ship with the Win32 SDK. Of course they fucking don't.
>>727791445Use case of ECS is having a billion enemies on screen at a good framerate.Memory access is the slowest thing a computer does so using an ECS to just take care of it is a really great idea.
>>727795095It's just ripping off Blow's viewpoints from his Jai streams with added cruft that makes it bad for the use-case. Not seeing a future in it.Odin at least has the whole high-end SFX thing going on for it.
>>727795602ECS involves horribly bloating the code you need to write for the general use-case for a problem you don't necessarily have (figures rusties wouldn't think twice of that though given the state of their language), and it isn't even necessarily the best way to go about doing it either.It's also less about 'enemies' and more about particle systems.
>>727796067>ECS involves horribly bloating the codehow
>>727795392yes but type safe + nicer syntax + multicast
Hello coders, why does my pygame platformer stutter sometimes after compiling it into an exe but run fine when executed as python script? All assets are loaded into memory at the start of the program so it's not doing any file IO during the stutters
>>727796136>just write the thing >writes a game>just write the entity with components and make it interact with the systems (note the plural) even if they're almost all identical worry about architecture instead of what you're actually working on>writes an implementation of an ECS subsetUnironically it's a ton of added complexity not all that different from enforcing Java OOP for every use-case.
>>727796335I'd assume it's garbage collection but why it'd differ between the two I dunno. The proper way to find out is to hook it up to a debugger and to a profiler. Find out if it's got a bug or if it's a part of it that's consistently shitting the bed.
>>727796335post logs
>>727783393one and doneno one sane wants to use it
>faster than c++false. in fact, rustroons are so desperate to claim this they fake benchmarks
>>727787787>also very few games are CPU-bound these days,Are you retarded or are you still using a 60hz monitor
>hmm, there is some complex functionality that needs to be replicated amidst many heterogeneous entities every single game tick>executing this interspersed with other operations would require the CPU to regularly invalidate the instruction cache>so I should apply this operation for all entities at once, with no other interspersed operations>also, the data accessed by this functionality should be stored contiguously to improve cache behaviour>so I will maintain a global registry of all the entities where this is necessary and allocate one contiguous block of memory to put all the required data for each entity>then, each tick, I will iterate over the registered entities and execute the necessary operationThis is bad architecture, apparently
>>727796539That seems like it would make sense. I am a hardware engineer and therefore not that knowledgeable about software tools, is visual studio good enough for the debugger/profiler or is there other recommended software?>>727796549Is there a default way to do this
>>727791445>>727795602ECS is the biggest meme everthe only use case for ECS is for the new world order to trick autistic goyim into never finishing their games by making them hyperfocus on making their pixelshit deckbuilder roguelites with survival/crafting mechanics run 1 clock cycle faster for the rest of eternity, when all they really needed were 1) regular old arrays and 2) not being retarded
>>727796379Normal>write the game>profile, frames tank to <10fps in towns because NPCs are objects with their own update loop and data>re write system to do basically what ECS does. (Aos) >profile again, something else tanks fps, rewrite to be ECS like. Ecs>stick everything in the ECS from the start>never think about it again>bolt on some sandbox feature that has a bunch of units>0 change to perf >>727797015Entirely depends on what you're doing, I 100% agree most people probably don't need it because modern CPUs can brrrrrr through whatever they're doing, from memory one of the old theif games was written in an ECS and I don't really know why.
>>727783243Rust has the ugliest fucking language syntax I have ever seen, I would sooner write something in fucking assembly than use this dogshit
>>727797358not completely related but this reminds me of how in AC: Unity they achieved to have such massive crowds on an xbox360. They implemented LoD's for ai logic. basically the npc's became dumber the farther away you got from them with the close ones doing complex things, the midrange ones walking around randomly and the far away ones just playing an idle animation
>>727797358Really, 80% of the gains from ECS are from not relying on the standard library allocator to produce cache-friendly access patterns. (It won't)The other 20% actually requires ECS.
rust is for higher autists and cpp is for regular autists
>>727796969Yes, visual studio works. It has many issues like being slow which matter for debugging so I prefer remedybg for C/C++ (along with tools like spall, superluminal, uprof/vtune) and raddebugger is looking good but I doubt they support python. I hear pythonfags generally like jetbrains pycharm so i'd look into that for both debugging and profiling. There's also this which looks neat: https://github.com/dfeneyrou/palanteer
>>727797727cpp is for pre-op autists and rust is for post-op autists
>>727788237Sounds like parody but I believe it.
>>727797358>are objectslol no they'll be structs and they'll be the same format looped over in different arrays that are called in batches. People who go on about ECS almost inevitably don't understand or use it.
>>727797727>rust is for higher autistslmao more like higher aspies.The autists pick the language they like and then make it do what they want.
>>727798048rust is for people who post "autistic people are immune to propaganda" and then proceed to fall for every propaganda ever made
>>727797358>stick everything in the ECS from the startthis is the keybolting ECS onto a game that wasn't designed for it from the ground up is like starting an apartment building with the foundations of a house, so once those 20 floors of bathrooms and kitchens are done you remember that those 20 floors of plumbing need bigger pipes and an auxiliary pump to get the water there because this apartment building isn't a cookie-cutter house, so you start digging out the foundationof course it's going to be a mess, you needed ECS from the start
>faster than c++lmao
>>727797939I don't have it saved but it was from one of his "handmade" seattle talks. (arguably one of the reasons it's no longer affiliated with the handmade crowd after it became apparent it was being run solely by and for entryist leftoids who didn't care one whit about handmade hero or better software)
All gamedev should be done in JS
>>727798413at least use typescript nigga sweet fucking science
>>727797848Cool I'll take a look at this stuff, thanks
>>727798242>i'm going to build a cottage or possibly even a two story house, full of charm and what I like>let me first make the foundations and company structure of a company that makes skyscrapers on contract and while i'm at it let's throw in a mix of Toyota and Webdev management practicesAgain no one whose actually written a game with and without ECS would think it's a catch-all solution.
>>727798763it could be a catchall solution if the programming zeitgeist weren't joined at the hip with the object oriented paradigmit requires a different and more rigorous way of architecting and designing games but it doesn't actually exclude any genre or mechanicunfortunately object orientation makes programming concepts much easier to wrap your head around, which means it produces a larger pool of "good enough" programmers, which means ECS will remain an esoteric and negatively-propagandised paradigm until capitalism dies (never)
>>727798952The people who are the biggest proponents of data-oriented stuff and who outright reject OOP the handmade crowd only consider an ECS an option and not a catch-all solution and they actually write those systems more often than not.
>>727798413sar
>>727798952ECS, specifically the "system" part and the overengineered generic "entity type registry" and "archetype" shit people build, is just as retarded as OOP.The data oriented design lessons like SoA are the only takeaways you really need to care about.
>>727791189the cost of being easy to writeit works great for visual novels though
>>727798952Or you could import Bevy without having a clue about data-oriented design because you want to subvert the Rust type system. Because>The reference types in this library all implement Copy, so I don't have to worry about the borrow checker, and it's still performant to pass things around!Many Rust devs are completely fucking retarded.
>>727799194>ECS an option and not a catch-all solutionThis. It's like how Java and enterprise C++ ran OOP's name through the mud with garbage frameworks but everyone still uses its basic patterns because they're useful and good, even as they shit on "OOP" for the holistic inscrutable bullshit the term has come to represent. They're both useful tools with retarded evangelists
>>727800027>but everyone still uses its basic patternsSome and definitely depends on what one means with basic patterns. A lot of it isn't good like the whole encapsulation around objects & methods tied together (which is why ECS rejects OOP) or the whole private/public/getters/setters crap.
>>727800027OOP fundamentally doesn't scale as well as ECS, that has nothing to do with the inscrutable bullshit that tends to go along with it
>>727801247I'd like you to define OOP and define ECS as they exist in your mind
Isn't Zig like... designed for data-oriented design? Why would anyone use Rust with its hidden allocations and no-guarantees approach to memory layout?
>>727801760that's zigs whole thing, watch any of the guys talks all he cares about is cache access being efficient.
>comparing speed of LLVM wrapper 1 vs LLVM wrapper 2: the thread
>>727798516Ts is useless
>>727801760because memory safetywhich is apparently really important even for gamedevespecially considering that all your code is doing is calling C APIs which can corrupt memory anyway
>mogs every other language
>>727803194> garbage collector not suitable for real time apps and games
>>727803410works for unity
>>727803556>stuttering: the engine
>>727803556only for scriptsgame scripts can be written in anything, even Javascript
>>727803194>real, actual parametric polymorphism>eager evaluation>frenchsorry, not good enough
if you can get past the gender checker that is
>>727803194The hardware is one gigantic global state. I don't want to ignore reality
>>727801247It sounds like you're using "OOP" to mean "inscrutable multiple inheritance web", which I guess is fair because that's all OOP means to anyone anymore. Its original beneficial tenets of class and object based encapsulation for everything have already been realized by every modern language and programmer so when they use them it's not OOP, it's normal.So if I point out how ECS is just a compositional form of OOP I look stupid because OOP only means the shitty kind and if it's not shitty it's not OOP