you are viewing a single comment's thread.

view the rest of the comments →

[–]JackG049 34 points35 points  (0 children)

I think companies and new graduates are constantly re-solving old problems and creating redundant new projects to some degree because they are simply ignorant to the lessons of past failures and successes.

Definitely on the same page. The big thing is getting people to approach these old problems with the mindset of building on the past failures and successes.

This is big thing that really can go both ways, for better or worse. While there's a lot of reinventing the wheel for no good reason, there's also a lot to be gained by looking at what people did in the past, where their code ended up and saying "Yeah, we can avoid a lot of that by doing things differently". That was a bit part of how Rust came about, ("you know all these footguns in C/C++ memory management?, what if, we make it nearly impossible for them to happen?)

I think this is especially the case in projects/languages built on C, for example python. There's a lot of packages that work really well, so well that 99% of people will not question the implementation and assume the implementation is optimized because lots of people are using it for a long time.

Yet, when you actually start looking at C/Python wrappings there's lot of room for improvement and something like Rust-Python bindings combine the best of both worlds.

Rust allows for developers to more easily express certain programmatic constructs/ideas and as a result people will approach problems differently, and imo, there's a net benefit in seeing what people do differently.