Golang Go语言中为何尽管有缺陷我们仍在使用它
http://bravenewgeek.com/go-is-unapologetically-flawed-heres-why-we-use-it/
Golang Go语言中为何尽管有缺陷我们仍在使用它
所有通过简化语言基础设施,来达到简化问题目的的编程语言,最终都是南辕北辙。
Java 是这样,Go 在我看来也很像是这样。
更多关于Golang Go语言中为何尽管有缺陷我们仍在使用它的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
目测将来会出类似coffee script这种语法糖等工具。
也许是库还不够好,太多底层要写。
简化到没看出来,但是挺偏工程性的
反过来说,所有通过复杂化语言基础设施,来达到复杂化问题目的的编程语言,最终大都得偿所愿。
关于GO我一直有一种偏见,只因为是google搞出了它,才有今天的一切;
大多数时候python,php之类的更合适,另一些时候C/C++之流更合适;
不过google要搞这个,所以这个就“牛逼”了;
并不是说没有过人之处,只是有过人之处的东西多了去了…
Go有自己适合的场景同理python,php。Go其他的特点就是编译快,性能好,编写速度快。至于语言牛不牛逼其实关键在于用的人怎么用。
你说得很对, scala 就是这样的。纯函数式的 Haskell 有时也会让我有这种感觉。
我也觉得 Go 除了是 Google 以及 C语言的合作发明者搞出来的,有光环之外,真没觉得有惊艳的感觉。
当然 Go 的有些概念还是挺有启发性的。
2010年搞出个么个语言。。
看看隔壁Swift
相比go,rust更有潜力去代替c++
文章虽然比较长,讲得还是很中肯的
版本控制问题正在解决(Go版的python GIL,社区都造了无数轮子了,官方再不弄就说不过去了);
错误处理确实写得有些烦,但不能像纯函数语言那样去搞,又不能完全搞成exception;
泛型我个人觉得还是需要的,但就算未来添加这个特性,也绝对不会像c++的模板那样,彻底的贯穿于整个语言当中,分量极重。
其他的语法糖之类的东西我觉得完全没必要,加进去,一小部分人高兴了,另外大部分人就苦逼了。比如运算符重载。
希望Go未来的演化做到两点:
1.不要太固执,丝毫听不进任何意见;
2.接受某些建议,但始终保持简单(java 8这样我就觉得挺复杂了),不往里面扔各种特性,最后完全背离了初衷。
开发起来像动态语言,跑起来是静态语言,易读,易写,易维护,就够了。至于各种高级的语法特性,就留给其他的语言去做吧。
感觉 Go 除了没让人从底层解放出来(并发控制依然会耗费大量精力)之外,还很不完善,越用越不爽。有时写着写还不如回到 C 上面去了。
这里有篇blog说go的吉祥物看起来像有自闭症,go语言也是。评论的太欢乐了。
http://www.evanmiller.org/four-days-of-go.html
我可以理解成:一群没在生产系统里用过的人,写个玩具就开始叫这叫那
工作上,一堆坑
实际上都是没有看完相关标准库就按自己原有变成的思维进行解读
我理解为没有使用就没有发言权
在生产环境里用了,也经常读标准库的代码, Effective Go 也读过好多遍,始终不觉得 Go 有太多好处,只不过是从一个坑出来,又跳进另一个坑。
可能是个人愚钝吧,没能悟出 Go 的真谛,如果生产环境能换,真扔了
不是说完胜C么?
作为IT领域Go语言方面的专家,对于Golang(Go语言)的使用有着深入的理解。尽管Go语言存在一些缺陷,但我们仍然在使用它,原因主要有以下几点:
- 简单易学:Go语言语法简洁明了,结构清晰,易于上手,特别适合快速开发和团队协作。
- 高效性能:Go语言编译器能够生成高效的机器码,运行时也进行了优化,确保了程序的高效执行。尤其在处理并发任务时,其性能表现非常出色。
- 内置并发机制:Go语言通过goroutine和channel提供了强大的并发编程模型,使得并发编程变得简单而高效,特别适合开发需要高并发处理能力的应用。
- 强大的标准库:Go语言提供了丰富的标准库,涵盖了网络、文件系统、加密等多种功能模块,大大减少了外部依赖,加快了开发速度。
- 跨平台支持:Go语言具有良好的跨平台支持,可以在多个操作系统上无缝运行,方便开发和部署。
尽管Go语言在泛型支持、垃圾回收机制、错误处理等方面存在一些不足,但其整体优势和广泛应用场景使得它仍然是许多开发者的首选。随着Go语言的不断发展和改进,相信这些缺陷也会得到逐步解决,为开发者提供更好的编程体验。