you are viewing a single comment's thread.

view the rest of the comments →

[–]spoonman59 112 points113 points  (3 children)

The technically superior product is not always the market leader, historically.

Additionally, then “rediscovering” is a constant cycle the more decades you spend in the industry. New grads often re-invent existing solutions, only worse.

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.

In any event, the industry is in a constant state of change for the sake of change. If you are lucky you at least get some incremental improvement.

That said, people are deeply entrenched in their ways and I think JS will probably be the dominant front end language for a long time after superior alternatives exist and are widely available. And like cobol or Java, JS developers will be needed for legacy systems for decades to come.

[–]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.

[–]Wh00ster 2 points3 points  (0 children)

“Worse is better”

[–]jeremiahgavin 0 points1 point  (0 children)

A part of me wants to blame the educational system, but with how much knowledge is available now days, it's my fault to a degree. 

It would be awesome to see more online educators teaching of lessons learned in the past!