谈谈你对C++以及Golang的认识,他们各有啥亮点及其缺点
1. go有GC,c++没有,这差异相当重要,影响了其他很多语言特性,也因此这俩货其实没啥好比的,GC的就该和GC的比,没GC的就和没GC的比。
2. c++适合高性能场景,或者反过来说,高性能场景也只能用c++/c了;go适合io和高并发场景,简单明了,当然也可以用c++写,但麻烦很多。
3. go本来发明出来是替代c++的,只不过这是因为google拿c++干了不适合的事情,其他人可没这情况,因此本来是敌人来着,后来发现各退一步后就不用打了。
4. rust出山后,上打go下踢c++,按照敌人的敌人,又成为朋友了。另外,不要试图说服javaer学c++或go,前者没有GC,后者没有异常。
■网友
对C++来说,主要看你自己对它的熟悉程度,以及对几种编程范式的喜好。选一种,用C++打造一套开发体系,其实可以做到更加符合自己的需要,更为简捷好用。又不失局部细节的优化可控性。其实我觉得现代C++写起来,流程处理很大程度上和Typescript非常像,细节模块还可以上模板,整体类型安全、数据安全控制得相当不错。但是话也说回来,一旦框架没设计好,也很麻烦,不过系统设计问题算是另一回事吧?至于协程什么的,C++的asio好几年前已经支持协程了,写法也很简单的。性能每秒400~600万次左右,略封装一下这个执行器也就是一天/半天的活。
【谈谈你对C++以及Golang的认识,他们各有啥亮点及其缺点】 golang更开箱即用、简单粗暴一些,尤其在加密系统这部分,省点造/封装轮子的时间。
rust我是真看不上,阿门
■网友
1.作为09年才出现的新语言,go摒弃了之前语言的不少缺点,力求简洁、高生产力,所以go的学习成本相比c++低很多,如果有其他语言的基础,一周的学习即可入手做项目。
2.go严格来说跟c++不是竞争关系,c++是一门系统语言,适合操作系统、存储引擎、复杂计算(如机器学习引擎、游戏引擎)等领域,go适合服务端编程、服务中间件(消息队列、各种proxy)、云计算(如docker、kubernetes)、微服务领域
3.go的运行时很小,配套的工具完善,开箱即用性强,这是c++等传统语言所不能比的,运行时开销极低,性能接近c++,gc在1.6之后提升特别明显,几乎可以忽略,个人感觉如果不是gc特别敏感的领域比如高频交易、存储,都可以用go。
4.go的作者和核心开发也可以了解一下,如Robert在开发Go之前是Google V8、Chubby和HotSpot JVM的主要贡献者;Rob主要是Unix、UTF-8、plan9的作者;Ken主要是B语言、C语言的作者、Unix之父。
■网友
C++接触一点点。
优点,比C方便一些。
缺点,太灵活。灵活的语言当然好,能力强的程序员当然更好,所以C++可以写很炫的代码。但是,用C++写普通理工科能维护的代码太难了。
■网友
go优点: 1. 协程,并自带调度器,使用方便。 2. 各种语法糖。 3. 多参数返回值 4. 丰富实用的标准库。
go缺点: 1. 没有异常,错误一层层传。 2. 关键字语义不清晰,如interface。3. 非天然支持OO,如 没有类级别的自动构造和析构、访问限定只有私有和公开等。
go难以评判的: 强制代码规范,包括代码风格、未使用表达式报错、无用的import等。
■网友
1:c++ 支持继承,泛型和指针算术之类的,c++ 没有 gc;go 则相反。
2:c++是一门支持多种编程泛型的语言,特别是面向对象;而 go 不是一门面向对象的语言;
3:go 更现代且简单,通过 channel 和 goroutine 能够非常好的支持并发编程;
4:go 采用源码分发,依赖管理(dep) 相比 c++ 更简单;
更多的内容可以看 http://www.csc.kth.se/utbildning/kth/kurser/DD143X/dkand11/Group9Alexander/Joakim_Anneback_Johan_Stjernberg.finalreport.2.pdf 这篇文章,以及 A C++ developer looks at Go (the programming language), Part 1: Simple Features
推荐阅读
- 智叔|很多家长还在整箱买:谈谈关于牛奶的17个真相警惕这些列入黑名单的“假牛奶”
- 非计算机专业想要利用课余时间深入自学C++,想要找到比较体面的工作大概需要啥水平
- Java工程师和C++工程师在工作上有啥区别哪个更适合自身发展
- C、C++、java等编程语言都有哪些坑
- 趣头条|谈谈当时为什么选择吉利ICON,年轻人的好选择。
- 高考|谈谈新高考预演
- c++写http服务器不用cgi和apache该用啥
- 看完c++ primer plus 还有必要再买本c++ primer看吗?
- 有人可以把C,C++,Python等编程语言开发出来,而我们却难以精通,这说明了啥问题
- 趣头条|携我的出行小帮手,来谈谈感受
