Mark Lewin talks to Syncfusion about his
latest book Go Succinctly, which was published
on Monday, July 17 and can be downloaded from the Succinctly series library.
should people know about the subject of your book? Why is it important?
Go is the new kid on the block, and it doesn't
look like it's disappearing any time soon. Although it was originally developed
as a systems programming language for Google, programmers have realized its
much broader potential. Many major applications are already written in Go, such
as Cloudflare, SoundCloud, and Docker. I'm told that the Chinese love it!
Right now, Go is used mainly for
server-side programming, but it is starting to make inroads into many other
areas such as web, robotics, and machine learning. Some people claim it will
eventually replace Node.js, Ruby, Python, and even C++. Sure, we've heard it
all before, but one thing is certain: interest in Go is increasing rapidly.
What's so good about it? Well, it's a
general-purpose language that lends itself very well to specific tasks, such as
web services. It has some great features, particularly around concurrency. But
most of all, it's small, it's simple, and it forces you to create code that
will be easy for you and others to maintain. If you have programmed in any
other language, then you'll pick up Go easily. And why not invest the time? It
could very well be the Next Big Thing.
did you first become interested in this subject?
Oh, I just can't help myself. I can't bear
to miss out. If I hear that some new technology is out there that will CHANGE
EVERYTHING, I just drop what I'm doing and look into it. Normally my interest
is short-lived: I realize that it's all just hype and go back to using the old
tools that I know and trust. But something about working with Go really
appealed to me. It's just a great language to program in, so I've stuck with
writing this e-book, did you learn anything new yourself?
I learn something new every time I write or
teach. Even though this is a beginner's book, the act of putting words on the
page forced me to really think about what I was telling readers, and question
my own assumptions. In doing so, I learned a lot. After all, they say if you
want to learn: teach!
will this subject change over the next few years?
I hope the answer is "not much."
The main appeal of Go is its simplicity and the fact that the language itself
is small. However, the Go ecosystem doubtlessly will change a lot. As people
find ever more use cases for Go, there will be new modules and frameworks
popping up all over the place. Many will be of minority interest, but some will
become almost as important as the language itself, like Rails was for Ruby.
you see the subject as part of a larger trend in software development?
Yes. Developers crave simplicity and the
ability to develop applications rapidly. We're also beginning to run up against
the limits of what we can achieve in silicon, and I haven't seen any quantum
computers in PCWorld yet, so we're increasingly looking at what we can do to
optimize the software that runs. Therefore, developers will want simple methods
for developing and managing highly concurrent applications, and that's one of
Go's biggest strengths.
other books or resources on this topic do you recommend?
For the definitive text, see The Go Programming Language by Donovan
and Kernighan. Golanger Dave Cheney has put
together a great page of resources for new and improving Go developers, and I
can't argue with anything there: https://dave.cheney.net/resources-for-new-go-programmers.
Also, keep an eye out for my forthcoming book Go Web Development Succinctly, which will be published by Syncfusion