On Fri, 2020-10-02 at 18:21 -0500, Jason Ekstrand wrote: > > The good thing about C++ is that you can pick a subset of features > > that > > you like, and stick to them. Then you'll never have to deal with > > other > > the stuff if you don't want to. There exists a subset of the > > language > > which helps get rid of most memory management issues. > > The difficulty in Mesa has always been deciding what that subset is. > This thread is proof of that. So far we've had people extole > everything from basic type safety and memory management to template > meta-programming. Features which one developer enjoys another > loathes. This is why we tend to stick to C for the core: It's > limited > but those limitations we can sort-of all agree on it.
Yes, the bad thing about C++ is that it has a lot of baggage. Sometimes I find myself enjoying writing C more, because then I get to spend more time on the actual problems I'm solving. In C++ there are a lot of ways to do everything so I have to think more about which fits the task at hand best. My only problem with C is that it lacks something like the STL which means that every project has to reinvent the wheel to some degree; and that it lacks things like generics, so there isn't a good way to avoid repetitive code. > IMO: Like many modern languages, Rust has a defined default coding > style and It's pretty reasonable. We should just go with it. Fair point. > > That said, I think it's perfectly okay to give it a try, write a > > backend compiler in Rust and see what happens. However, I don't > > think > > it is feasible or desireable to rewrite complicated parts from > > C/C++ to > > Rust. I think Daniel Steinberg's thoughts apply: > > https://daniel.haxx.se/blog/2017/03/27/curl-is-c/ > > Same. Different developers/teams make different choices in their > drivers and back-ends all the time. Some use C++ while others stickk > to C. They all have different coding styles and choose different C++ > feature sets (when they use C++). IMO, the choice to use a language > like Rust is no different. As long as it doesn't cause a giant > project-wide problem, I'm fine with it. Yeah, nothing wrong with that. I'll be curious to see how it turns out. - Tim _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev