go语言困境 go语言难吗

我为什么放弃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 没有泛型支持,常见数据类型接口丑陋
【go语言困境 go语言难吗】1.12 实现接口不需要明确声明
1.13 省掉小括号却省不掉花括号
1.14 编译生成的可执行文件尺寸非常大
1.15 不支持动态加载类库
你为什么放弃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的语法太活,工业用是一个挺大的弊端 。
go泛型的缺点“劣势”:go是带垃圾回收的编程语言 , 因此不管go的stop the world的时间有多么短 , 延迟有多么?。?依然属于这类语言,这就天然与c,cpp,rust间划清了界线 。虽然go初衷是成为系统级编程语言 , 虽然go的性能可以满足99%的场合的需要,但不能否认的是在一些性能超级敏感的场合,选择go依然要慎重 。
go的另外一个“劣势”就是能玩的花样太少 , 崇尚一个事情只有一个或少数几种写法 。这不符合某些开发人员炫技的心理需求 。于是就被诟病为是资质平平的程序员才会去用的语言 。
go 1.18将加入泛型(类型参数) , 这算是
Go语言为什么火不起来?目前大部分产品都用c或者c或者其它主流语言编写的,go产品还是很少
go语言工程师少
有编程基础的人学go语言很简单,但是对于新手来说太难,现在大多go语言教材都是给会编程语言的人学习, 比如教材中说变量、对象、函数 。新手能理解这些? 一个变量都的去查很多资料来了解什么是变量,所以新手入门难 , 而老程序员又都习惯用自己拿手的语言,导致go开发师少 。
8年java转go很痛苦困难肯定是有的 。但你如果确定要转了,就要对得起自己的决定 。虽然困难,也要勇往直前 。
知乎用户枫泪也有和你类似的经历 。他认为golang无论是从语法还是到性能,真的是比java好太多了,java现在就是生态比较好,但是云服务这块go有天然优势,无论是阿里 , 华为,腾讯,百度这些大厂,都不断加强go语言的使用比重 。go语言相对于java内存消耗少的多 , 也就是对于服务器方面,使用go语言可以赤裸裸的省钱 。
go语言有没有中年危机有 。
每个程序员都会遇到的中年危机go语言困境 , 但go语言还是一门比较年轻的编程语言 。
相比基础库完整的javago语言困境 , go语言很多网络库、协议库都没有,早期需要做很多打地基的工作 。
关于go语言困境和go语言难吗的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读