This is a creation in Article, where the information may have evolved or changed.
Choose Golang to do game server development
After six months of mobile game operation, maintenance, follow-up development, the next network game server-side development technology selection requirements are as follows: 1. System mature, there are large success stories 2. 3 Higher development efficiency. High performance, it is best to support parallel technology to make full use of multi-CPU resources 4. Code encryption Release 5. Development logic is simple, such as multi-threaded synchronization, locking, multi-process synchronization is more complex 6. Easy to learn and use, if it is new technology
Alternative technology comparison
I can choose the technical platform through some of my own analysis summarized as follows (one's own words):
golang
project |
nodejs |
python |
c++/ruby |
Erlang |
system Mature |
4 |
3 |
5 |
4 |
3 |
Development Efficiency |
5 |
5 |
3 |
3 |
5 |
Performance |
3 |
3 |
5 |
5 |
4 |
Encrypt publication |
3 |
0 |
4 |
3 |
5 |
Logic Simple |
5 |
5 |
3 |
4 |
5 |
Easy to learn |
5 |
5 |
2 |
1 |
4 |
Cross-platform |
5 |
5 |
5 |
5 |
5 |
In fact, smart readers, look at the above table, you already know that I am the most favorite Golang, yes! In fact, the above table is only a pretence, in fact, choose which kind can achieve the goal, at the same time I am optimistic about Erlang and Golang parallel development mode for game development, I began learning Erlang and Golang in 2011 years, once indulged, combined with their own conditions and team situation, I finally chose the Golang.
I like Python's Code style and development efficiency, but also used it for nearly two years of development, but its performance is relatively low. I was helpless to give up.
I am optimistic about the birth of Golang (three great Inventors), concise (the language of the Least keyword), pioneering (struct, interface, channel, goroutine), I focus on Golang two years, Until last year it released 1.0, and a growing number of project cases and developers, I think now can be used in production projects.
For Golanger.
I am honored that I have become one of you, I hope we can communicate more. My later Golang code does not involve part of the trade secret I will share with you and accept your help on github.com. I mainly use Golang to develop the application of TCP server class, such as game server.
(Transferred from: http://blog.5d13.cn/work/golang/2013/06/16/whyiusegolangtowritegameserver.html)