Hacker News new | past | comments | ask | show | jobs | submit login

Go's designers have very different goals from others. They did not set out to design a language they would, themselves, like to program in. They meant to make a language that very distracted programmers would still be able to get things done using, and other distracted programmers could read and maintain.

Java also was not a language its designers wanted to use. They would rather code Lisp.




>Go's designers have very different goals from others. They did not set out to design a language they would, themselves, like to program in. They meant to make a language that very distracted programmers would still be able to get things done using, and other distracted programmers could read and maintain.

They never said that. They said they wanted a language for programming at Google scale. But their preferences and likes are all in the language...


Actually they said something else,

"The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt. – Rob Pike 1"

"It must be familiar, roughly C-like. Programmers working at Google are early in their careers and are most familiar with procedural languages, particularly from the C family. The need to get programmers productive quickly in a new language means that the language cannot be too radical. – Rob Pike 2"

Source:

http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/Fro...

https://talks.golang.org/2012/splash.article

According to them, Java (a language that was designed with the same cog ideas as Go) is already worthy of PhD level.

Ironic, when they needed the help of well renowned PhD researchers that were part of Project Pizza, for finally adding generics.


They said what I said, but perhaps more diplomatically.


Still no excuse no to learn from the mistakes of others, Go has already so much "we don't do that here,...., ok we really should support that" that will eventually be just yet another Java, but hey it has cool designers.


If Go survives, it will end up as complicated as other languages. Rust, too, if it survives.

You have to be arrogant to design a language and expect it to go anywhere, so you also tend to think you know better than everybody else, and that nobody has anything to teach you. It's an occupational hazard. Designing a language you don't mean to use yourself manufactures special failings.

Rust's designers started with unusual humility, and have kept it. It saved them from many mistakes.


People who enjoy Go will probably tell you that Rust is already one of those complicated languages.

Personally I don’t agree, I think Rust is right in the middle, but that’s because to the left of Rust is Idris, Agda, Coq, Ada and Prolog. Most SEs don’t have those on their radar.


They are on my radar but I’m unlikely to steer my sub in that direction as I don’t have the time!




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

Search: