Hacker News new | ask | show | jobs
by mjfs 2561 days ago
As discussed in the Go FAQ relating to the design principles of Go, the language was designed with the idea of using it in situations as an alternative to older object-oriented/procedural languages like C, C++, and Java.[1] So they chose to make a language with less "book keeping and repetition", and with a focus on ease of entry to the language itself. Creating a purely functional or even mainly functional language to replace or start new services and programs written or designed by people familiar with the OO/procedural paradigm would be to add another entry barrier or level of complexity to adopting the language. I believe this would be counter to their goals for the language.

[1] https://golang.org/doc/faq#principles

2 comments

> So they chose to make a language with less "book keeping and repetition"

Yes, less repetition and more

    x, err := dostuff();
    if err!=nil { return nil, err; }

    y, err := otherstuff(x);
    if err!=nil { return nil, err; }

    z, err := morestuff(y);
    if err!=nil { return nil, err; }

    w, err := alsodo(x,y);
    if err!=nil { return nil, err; }

Truly an excellent design.
I like that they aren’t trying to hide that it’s a beginner language.