Comment

Comment by JepZ

When you talk about Go I think you should start with C.

One of my professors used to tell us, that C was built by people who wanted to use it and didn't care about academic style.

In many ways Go is just the next step of C. C did not have object orientation and even passing functions around was kinda hard. While C++ tried to bring object orientation to C (total failure) Go decided to keep the core values of C and instead improved the rough features (e.g. easier binding of functions to structures, faster build times).

By making it easier to pass around functions Go enables functional programming styles, but at its core, it is still just an improved C. The only revolution within Go (as a language) is the concurrency and channel concept and I think that was taken from some functional language (not sure).

I really like Go, because it just feels right. It might not be as clean as Smalltalk or Lisp, but it has data structures and functions, teaches you how important interfaces are and lets you build highly concurrent applications with ease. In addition, it brings a nice set of tools which integrate well into a shell driven workflow.

After all, the whole thing should not surprise anybody as Ken Thompson[1] was part of the Team which invented Go.

[1] https://en.wikipedia.org/wiki/Ken_Thompson

parent JepZ 9 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton