- Go Systems Programming
- Mihalis Tsoukalos
- 529字
- 2021-07-02 18:07:55
Advantages and disadvantages of Go
Go is not perfect but it has some very interesting features. The list of the Go strong features includes the following:
- Go code is easy to read and easy to understand.
- Go wants happy developers because a happy developer writes better code!
- The Go compiler prints practical warning and error messages that help you solve the actual problem. Putting it simply, the Go compiler is there to help you, not to make your life difficult!
- Go code is portable.
- Go is a modern programming language.
- Go has support for procedural, concurrent, and distributed programming.
- Go supports Garbage Collection (GC) so you do not have to deal with memory allocation and deallocation. However, GC might slow down your programs a little.
- Go does not have a preprocessor and does high-speed compilation. Consequently, Go can be used as a scripting language.
- Go can build web applications. Building a web application in C is simply not very efficient unless you use a nonstandard external library. Additionally, Go provides programmers with a simple web server for testing purposes.
- The standard Go library offers many packages that simplify the work of the programmer. Additionally, the methods found in the standard Go library are tested and debugged in advance, which means that most of the time they contain no bugs.
- Go uses static linking by default, which means that the produced binary files can be easily transferred to other machines with the same OS. Consequently, the developer does not need to worry about libraries, dependencies, and different library versions.
- You will not need a GUI for developing, debugging, and testing Go applications as Go can be used from the command line.
- Go supports Unicode. This means that you do not need any extra code to print characters from multiple human languages.
- Go keeps concepts orthogonal because a few orthogonal features work better than many overlapping ones.
The list of Go disadvantages includes the following:
- Well, Go is not C, which means that you or your team should learn a new programming language to develop systems software.
- Go does not have direct support for object-oriented programming, which can be a problem for programmers that are used to writing code in an object-oriented manner. Nevertheless, you can use composition in Go to mimic inheritance.
- Back when Unix was first introduced, C was the only programming language for writing systems software. Nowadays, you can also use Rust, C++, and Swift for writing systems software, which means that not everybody will be using Go.
- C is still faster than any other programming language for systems programming mainly because Unix is written in C.
Despite the advantages or the disadvantages of a programming language, you have the final word on whether you like it or not. The important thing is that you choose a programming language that you like and can do the job you want! Personally, I do not like C++ despite the fact that it is a very capable programming language and I have written an FTP client in C++! Additionally, I never liked Java. There is no right or wrong thing in personal tastes so do not feel guilty about your choices.
推薦閱讀
- 程序員修煉之道:程序設(shè)計(jì)入門30講
- Android開發(fā)精要
- Python爬蟲開發(fā):從入門到實(shí)戰(zhàn)(微課版)
- Building a RESTful Web Service with Spring
- Arduino開發(fā)實(shí)戰(zhàn)指南:LabVIEW卷
- Web交互界面設(shè)計(jì)與制作(微課版)
- INSTANT Sencha Touch
- 小程序開發(fā)原理與實(shí)戰(zhàn)
- Elasticsearch for Hadoop
- 學(xué)Python也可以這么有趣
- Learning FuelPHP for Effective PHP Development
- Everyday Data Structures
- 自然語言處理NLP從入門到項(xiàng)目實(shí)戰(zhàn):Python語言實(shí)現(xiàn)
- Activiti權(quán)威指南
- Spark Streaming技術(shù)內(nèi)幕及源碼剖析