“一个C++ 程序员的生产力,大概相当于20个C程序员,200个java程序员”?

论坛 期权论坛 期权     
java版web项目   2019-7-14 05:24   2469   0

声明:问题来源于悟空问答关于"一个C++ 程序员的生产力,大概相当于20个C程序员,200个java程序员”,对于这句话你怎么看?" 内容回答来源于EmacserVimer、大学生编程指南等资深码农联合回答,点击阅读全文前去围观。

本周话题:"一个C++ 程序员的生产力,大概相当于20个C程序员,200个java程序员,对于这句话你怎么看?" 欢迎大家留言说说自己的想法。这其实是一种谬论,也是编程界有几大误解之一。这种话听听就行了,起码不是真正程序员说过的话,每个编程语言都有其存在的必然性,很难直接通过数据直接比较谁更加厉害,语言没有谁更加厉害这种概念,只能是谁更加合适。
很有幸都用过三种编程语言并且做过项目,现在就这三种语言一些语言特性就个人的职位经历说下看法。
[h1]为什么会有这种看法?
[/h1]C语言永远不会过时的编程语言,虽然看起来很低调甚至大家都觉得不行了但是在某些领域有着不可替代的作用,在嵌入式,通讯领域,科学计算,构造系统都有着不可替代的作用,Linux内核以及常见的底层驱动都有着独特作用,刚入行软件从驱动开始做,用到C语言开发,甚至一些嵌入式应用开发也是用C语言,再说点震撼一点的,现在非常流行的Python,PHP底层实现代码都是用C语言,还在喊着C语言过时了或者学C语言不好找工作的小伙伴,现在的状态是入门的门槛高了,学的不好马马虎虎还真就找不到合适的工作。
说白了主要还是因为C++这门编程语言学习难度确实比较大,当然这一点也是客观存在的,因为C++是在C语言的基础上做的一个超集扩展,并且包含了面向过程、面向对象编程两个思想体系,说得直白一点是一门非常不彻底的但是具有面向对象编程思想的编程语言,而且C语言的优势继承了,但是C语言的问题也继承了,比如说指针。


本质上也是因为C++这种编程语言学习上的难度,造成了很多人误解,学习C++的人都比较牛,比学习其他编程语言的要牛一些,这很显然就是一个谬论。你能说一个开保时捷的司机技术就一定比出租车司机技术好吗?所以这根本就是一个谬论。
语言本身并不是决定程序员水平高低的根本原因,决定程序员水平高低的往往是天赋水平,比如说良好的逻辑思维能力,较好的数学修养,这样你的编程水平往往都会比较高,加上很好的项目经验来提升自己,自然能达到较高的水平。

[h1]什么是生产力?我们还有多少误解?
[/h1]我觉得编程的生产力一定是建立在解决了多少实际生活中的问题上来的,而不是单纯的说我这个程序运行时间缩短了零点几秒,任何技术如果一旦脱离了现实应用场景,我觉得其价值应该打折,我们不否定理论研究的价值,但是我更觉得工业实践的意义来得更广,所谓编程也是一样的道理。
难道C++编写的游戏能让几百万人同时在线就是生产力,难道Java写的银行系统保证了只有几万人的同时线上交易就不是生产力?所以我觉得这本身就有问题
JAVA相比前两种语言,在语法上简介了许多,抛开了很多底层细节,完全关注程序设计,现在JAVA市场占有率第一,而且整体趋势还是依然强劲,做过两年的安卓应用性能和框架开发,很多人觉得开发应用还干嘛关注底层东西,虽然没有了指针的概念,但是现在很多应用存在性能和内存泄露问题,有些应用的时间长了会感觉很卡顿,就是这种原因。
其实类似的误解还很多,比如说很多人鼓吹编程语言不重要,编程思维才重要,我不否认编程思想的重要,但也请不要忽视工具的价值。早期的后端瞧不起前端,用文本编辑器,尤其是用Emacs/Vim编辑器的瞧不起用其他编辑器和集成开发环境的,用Linux/macOS系统的瞧不起用windows系统的......
可以说这样的误解太多了,一个成熟并且优秀的程序员应该有一个这样的意识,那就是任何时候都应该意识到,能够很好的解决自己的生产问题的工具都是好工具,适合自己的用户场景的工具才是最佳选择。推荐作品
  ●  SpringBoot 应用程序启动过程揭秘
  ●  本人高中学历,是一名程序员,想跳槽怎么办
  ●  让面试官颤抖的Tomcat系统架构系列!
  ●  Java程序员必备的11大Intellij插件
  ●  关于Java面试,你应该准备这些知识点
  ●  依赖倒置控制反转依赖注入面向接口编程
  ●  解读SpringBoot最流行的16条实践
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:20
帖子:4
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP