为什么java程序员在c++程序员面前有一种挫败感?
作为 曾经的C++程序员,现在做着Java程序员,不明白为什么会有所谓的挫败感.
从以下几个方面论述我的观点
应用层面
c++的应用场景大多在嵌入式领域,后台底层技术,图像处理方面等等
JAVA的应用场景更广泛,后台开发,android开发,大数据平台应用,都是主流的语言应用
c++对于系统底层的控制和字节流的控制更为精细和高效.j***a在系统的应用层上比较顺手
语言方面
c++相对j***a较难入门和精通,光c++的指针应用和内存泄露问题,就可以浇灭部分程序员的热情,同等精力和时间的前提下,语言的难度使得c++程序员的开发效率相比j***a程序员逊色一筹.同时j***a有各个方面完整的第三方类库,可以省去重复造轮子的麻烦,并且j***a更易于实现各种设计模式和系统架构
这个和工作年限,工作行业,职场机遇,公司关系较大,两种语言在一线城市的年薪20w,30w以上的很正常,彼此之间并没有什么挫败感
也没有吧。我之前写c/c++。写了半年j***a又 现在写python。给我的感觉是操作数据库和网络编程方面j***a python是真tm好用……但是性能方面不敢恭维。语言没有高低之分。触类旁通吧。重要的是思维
谢邀。还真没有挫败感,我是一名J***a程序员,还在但是也在学校接触过C++。这个问题算是有话语权。
C++是我本人学习的第一种面向对象语言,这是完全不同于面向过程的C语言,编程的思路发生了远离机器接近于人类的变化。
不得不承认一点,C++难度比J***a大
学习过它以后以至于我后来选择J***a方向上手比较快速。用过C++写过一个非常简单的银行管理系统,给我的感觉就是,指针有时候会弄得头晕。C++不说别的,光是弄明白指针和多重继承就够呛。开发效率明显没有J***a这个广泛应用于上层应用的语言高,以至于如今C++转J***a的明显比J***a转C++的人多。
但是C++有个比J***a更加巨大以至于现在都没有被替代的特点跑同样一个程序。
所消耗的性能一定比J***a小,消耗的时间一定比J***a短,因为J***a一个虚拟机在中间,而C++直接在操作系统上跑。
两个语言各有千秋,作为J***a程序员我对C++没有题目所说的挫败感,但是有敬佩感,毕竟用的工具比我们复杂难上手。
我是“极客宇文氏”,欢迎计算机专业学生以及程序员小白关注我,分享自己的编程感悟
作为一个写了十几年代码的老司机,对于这两种语言都有过涉猎,本人倒是没觉得两种语言之间有多少感觉,两种编程语言的主题思想都是面向对象的编程,只不过应用场景还是略有差异,先是在c++下面做项目,后来转化到j***a项目中,作为两种编程语言都使用的人,现在简单介绍下。
c++主要用在客户端系统级开发上面,算是编程语言中比较难的,不建议初学者直接选择c++就编程思想而言显得没有那么复杂,但是就具体的语法细节还是相当的繁琐,这也是很多编程高手对于c++不爽的地方,但是真要挑选一种编程语言,既能贴近底层又能有面向对象的编程思想恐怕只能是c++,所以很多[_a***_]端的框架代码都是基于c++完成,像安卓框架层,浏览器内核等都是c++作为主力开发语言,虽然这是一门很难的编程语言,但是很多架构师的最爱。
j***a语言相比c++在语法细节上已经简化太多了,j***a主要氛围两个方向,一个是客户端一个是服务端方向,客户端主要指的是app的开发,两者共同的点需要把j***a基础弄扎实。从c++转战到j***a开发有一种比较轻松的感觉,终于摆脱了语法繁多的细节问题,相对来讲j***a入门比较容易,但要成为高手还是相当困难。
单纯的比较两种意义不是很大,每种编程语言都有其存在的必要性,真要不堪一击早就被市场淘汰了,每一种编程语言都有其自身优点,不需要比较一个高低贵贱,找到合适的触发场景就够了,在现实的生活中可能会存在做高级语言羡慕底层开发语言,觉得底层编程比较难,毕竟还需要和指针打交道,觉得特别难,做c/c++又会觉得高级语言变通性太强,需要很强的框架支持,会觉得脑子不够用的,要说之间会产生什么挫败感之类基本上不存在的事情,无论是什么编程语言,合适的就是最好的。
希望能帮到你。
作为一个从19***年开始***用开发C+
开发软件的人来说,期间没有使用过任何其它语言。个人感觉C++和j***a的定位不同,C++更适合开发复杂计算软件,J***A更适合开发应用软件,使得C++应用面比较窄,不容易找工作,但一旦找到C++的工作方向,那么相对会工作稳定一些,不容易被淘汰。C++更适合开发操作系统、数据库、复杂的仿真计算等。
我在工业制造业领域工作多年,发现用于工业制造设计、仿真、校验的软件基本都是C++写的,例如ANSYS,Solidworks、Blade仿真软件都是C++写的,但这些工业制造业软件基本是国外垄断的,包括大型机械的形式认证,听说所有民航客机的形式认证就是要通过美国的一款软件来仿真认证的。
C++和J***a只有定位不同,不应该有挫败感,C++不好找工作的,但一旦找到了可能更稳定一些;J***a更容易找工作
为什么网上有人说web开发没技术含量?
web开发需要知识面很广的,需要一直学习。
1. 服务器方面:高并发集群,Serverless,K8S、Linux运维等。
2. 后端开发:开发语言、算法、框架、API开发、业务逻辑等。
3. 前端开发:VUE、小程序、H5、Nodejs等
5. 产品:产品文档、开发需求文档、项目管理、高保真原型等。
每一项精通都不容易,得花大量时间不断学习。
知识都是入门易,精通男。