一个C++ 程序员的生产力,大概相当于20个C程序员,200个java程序员,如何看待这句话?
这种话听听就行了,起码不是真正程序员说过的话,每个编程语言都有其存在的必然性,很难直接通过数据直接比较谁更加厉害,语言没有谁更加厉害这种概念,只能是谁更加合适。
很有幸都用过三种编程语言并且做过项目,现在就这三种语言一些语言特性就个人的职位经历说下看法。
C语言永远不会过时的编程语言,虽然看起来很低调甚至大家都觉得不行了但是在某些领域有着不可替代的作用,在嵌入式,通讯领域,科学计算,构造系统都有着不可替代的作用,Linux内核以及常见的底层驱动都有着独特作用,刚入行软件从驱动开始做,用到C语言开发,甚至一些嵌入式应用开发也是用C语言,再说点震撼一点的,现在非常流行的Python,PHP底层实现代码都是用C语言,还在喊着C语言过时了或者学C语言不好找工作的小伙伴,现在的状态是入门的门槛高了,学的不好马马虎虎还真就找不到合适的工作。
C++公认的比较难搞定的一门语言,难在语法细节特别繁琐,而且还在一直更新,永远都会有学不完的感觉,而且在图形设计以及系统框架开发方面有些独特的优势,虽然难但学着能让人上瘾的语言,现在常见的浏览器,安卓框架层代码都是以C++为主导开发语言,很多初学者都会觉得编译起来太费劲了,在指导思想上主要让编译难,运行起来更加稳定些,所以在规则上做的比较繁琐,很多架构师都比较喜欢研究这门语言,像老酒越品越香,屈指算来也是有差不多
JAVA相比前两种语言,在语法上简介了许多,抛开了很多底层细节,完全关注程序设计,现在JAVA市场占有率第一,而且整体趋势还是依然强劲,做过两年的安卓应用性能和框架开发,很多人觉得开发应用还干嘛关注底层东西,虽然没有了指针的概念,但是现在很多应用存在性能和内存泄露问题,有些应用的时间长了会感觉很卡顿,就是这种原因。
每种语言都有其独特的优势,没有所谓谁厉害谁更差劲,真正的程序员修炼的是编程思想而不是拘泥于编程语法。最合适的就是最好的。
原文发布时间为:2018-08-03
本文作者: 东辉在线
本文来自云栖社区合作伙伴“ 程序员互动联盟”,了解相关信息可以关注“ 程序员互动联盟”
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
C/C++框架和第三方库
值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。 下载链接:http://home.tiscali.cz/~cz210552/webbench.html - 2. Tinyhttpd tinyhttpd是一个超轻量型Http Server,使用C语言开发,全部代码只有502行(包括注释),附带一个简单的Client,可以通过阅读这段代码理解一个 Http Server 的本质。 下载链接:http://sourceforge.net/projects/tinyhttpd/ - 3. cJSON cJSON是C语言中的一个JSON编解码器,非常轻量级,C文件只有500多行,速度也非常理想。 cJSON也存在几个弱点,虽然功能不是非常强大,但cJSON的小身板和速度是最值得赞赏的。其代码被非常好地维护着,结构也简单...
- 下一篇
JVM笔记11-类加载器和OSGI
一.JVM 类加载器: 一个类在使用前,如何通过类调用静态字段,静态方法,或者new一个实例对象,第一步就是需要类加载,然后是连接和初始化,最后才能使用。 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialzation)、使用(Using)和卸载(Unloading)7 个阶段。其中验证、准备、解析 3 个部分统称为连接(Linking),这 7 个阶段的发生顺序如下图所示: 加载、验证、准备、初始化和卸载这 5 个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班地开始,而解析阶段则不一定:它在某些情况下可以在初始化阶段之后再开始,这是为了支持 Java 语言的运行时绑定(也称为动态绑定或晚期绑定)。注意,这里笔者写的是按部就班地 “开始”,而不是按部就班地 “进行” 或 “完成”,强调这点是因为这些阶段通常都是互相交叉地混合式进行的,通常会在一个阶段执行的过程中调用、激活另外一个阶段。 什么情况下需要开始类加载过...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8安装Docker,最新的服务器搭配容器使用
- 设置Eclipse缩进为4个空格,增强代码规范
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7,8上快速安装Gitea,搭建Git服务器