本文目录一览:
我为什么放弃Go语言
有好几次,当我想起来的时候,总是会问自己:我为什么要放弃Go语言?这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。
开门见山地说,我当初放弃Go语言(golang),就是因为两个“不爽”:第一,对Go语言本身不爽;第二,对Go语言社区里的某些人不爽。毫无疑问,这是非常主观的结论。转载
1.1 不允许左花括号另起一行
1.2 编译器莫名其妙地给行尾加上分号
1.3 极度强调编译速度,不惜放弃本应提供的功能
1.4 错误处理机制太原始
1.5 垃圾回收器(GC)不完善、有重大缺陷
1.6 禁止未使用变量和多余import
1.7 创建对象的方式太多令人纠结
1.8 对象没有构造函数和析构函数
1.9 defer语句的语义设定不甚合理
1.10 许多语言内置设施不支持用户定义的类型
1.11 没有泛型支持,常见数据类型接口丑陋
1.12 实现接口不需要明确声明
1.13 省掉小括号却省不掉花括号
1.14 编译生成的可执行文件尺寸非常大
1.15 不支持动态加载类库
谷歌放弃golang吗
没有所谓放不放弃的,golang是BSD许可的,golang的官网上一点google的标志都没有,只是搞golang的几个大牛现在在google上班而已,所以说google放不放弃golang没多大关系
你为什么放弃golang?
因为内存管理粗糙。经常看到fmt.xxx导致内存占用太多,反射导致内存占用太多的抱怨。
go语言适合写服务器组件,那种和业务数据无关的服务器。比如数据库服务器、web服务器、日志搜索引擎等。如果用来写一个crm管理系统,非常累,因为缺乏好多高级特性和庞大的第三方库,而且语法比较单一,总体感觉就跟写命令行差不多。
Go语言是谷歌2009发布的编程语言,这个语言发明的目的,就是为了在运行速度接近C/C++语言的基础上(注意是接近),降低开发者的门槛,减少开发难度。
Go语言,在功能上没有超过C/C++,适用者为没有C/C++经验的开发者,开发出接近C效率的程序。对于已经熟练掌握C/C++的开发者来说,Go语言没有优势,还要重学语法,适应开发环境,明显是不符合效率的。
总结
其实语言这东西,都有其优势和劣势。而且有些东西并不是纯技术的。比如java的优势在于清晰的语意表达。写代码的上限不高,但是下限也不低,适合工业开发。
而go呢,不得不说go在微服务这块有先天优势。毕竟java中要实现go的很多功能,需要引入第三方库。很笨重。而go原生支持,这个微服务就很轻巧。但是go的语法太活,工业用是一个挺大的弊端。
如果你要放弃Golang你的理由是什么?
特性少,粗放,规定一大堆跟代码实现逻辑无关的东西等等。
Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。
Golang描述:
Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。
与C++相比,Go并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了 切片(Slice) 型、并发、管道、垃圾回收、接口(Interface)等特性的语言级支持。Go 2.0版本将支持泛型,对于断言的存在,则持负面态度,同时也为自己不提供类型继承来辩护。
不同于Java,Go内嵌了关联数组(也称为哈希表(Hashes)或字典(Dictionaries)),就像字符串类型一样。