Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

So every language have to implement every features released in the last 50 years?


Not necessarly, but designing for stone age computers isn't ideal either, even C, Fortran and COBOL have progressed during those 50 years.


I expect it to implement features that have become ubiquitous in every other mainstream language from the last 30 years, yes.


But then what purpose would it serve? The last 30 years has brought no lack of new languages, not to mention evolution of older languages. Just use one of them.

The purpose of creating yet another language with Go was to break from what everyone else was doing, to see if a "simple" language would stop developers from playing with fun language toys all day to instead focus on actual engineering.

Arguably it was successful in that.


The purpose was to get rid of C++ compile times and replace C++ with Go, failing that, they decided to pivot the story.

https://commandcenter.blogspot.com/2012/06/less-is-exponenti...

They also got lucky with Docker and Kubernetes, pivoting from Python and Java respectively into Go.


Numerous languages already got rid of C++ compile times. That didn't necessitate another one. Certainly Go wouldn't want C++ compile times any more than any other language, but as far as justifying its creation that would not be sufficient justification alone.

Legend has it that Go was conceived while waiting for a C++ program to compile, if that's what you are thinking of?


That's how you end up with C++ and soon C#.


No, the person you were replying to was advocating for the intersection of ubiquitous features. C++ seems to be aiming for the union.


We also end up with C23, Fortran 2023, COBOL 2023, Scheme R7RS,... even those oldies embrace modern ideas.


It’s really not. The strawman that if we add a few features that have stood the test of time in every other language we’ll end up with C++ is just not true. Nobody is proposing adding SFINAE-based conditional compilation, rvalue references, multiple inheritance, or any of the million other Byzantine features that make C++ virtually impossible to use correctly. Adding sum types and a match statement does not necessarily start you down that path.


When we can call it Go++




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: