关注微信公众号老卢私塾
如果你都系统的学过Java和C++,你会发现以下这些差异(我现录现想的,缺少的请评论补充):
1命名规范:
gcc/g++是Unix_C代码风格(Unix和C的关系看我之前的视频去),其命名规范为 your_age 这种单词全小写用下划线连接的命名风格。
再比如函数(方法)名:get_db_by_name()
VC++是匈牙利命名法:成员范围_类型功能。如m_lpszName其中m表示是成员变量(JAVA中叫属性),lp是指针类型,sz是字符串,Name是功能。
Java命名规范,采用驼峰命名法,如getElementById()
那用哪个呢?我建议还是各自用各自的吧。这就是开发的不容易之处,尤其是C语言开发,JAVA可以毫无顾忌的跨平台,反正跟应用层程序员没啥关系,全是底层实现的。而C/C++程序员,你就得考虑了,WIN下用VC,Linux用gcc,你这代码风格怎么统一?这也是现在都用Qt的原因。总之现在的流行作法都是:采用Unix_C命名规范。
2面向对象
之前视频说过了,Java把C++中的OO中的鸡肋的令人迷惑的功能去掉了,所以都学下来你会明显发现Java的面向对象好学得多。请大家自行思考下C++的虚函数、纯虚函数和Java抽象方法、抽象类、接口的区别。
3小件或者说是中间件数量
在这方面不管是C++还是PHP,甚至是Python,见着Java都得叫大哥。那中间件多得啊,我从200X年学到现在都学不完,Java程序员应该都能体会出来,Java其实就是Web开发,咱们先不说安卓,安卓相对Web的中间件少多了。而Web开发不管你是PHP还是Python或Node.js都不会感觉太难MVC,唯独Java开发,玩了快20年的Web了,还是不断的出品新玩意儿!一个CRUD功能就能有N家厂商N种中间件来实现。
而针对为了方便使用Java中间件,各IDE也是不断升级,比如我用过的这些Java IDE:JCreator、Borland JBuilder、Eclipse、MyEclipse、JetBrains的IDEA。只要有一个新Java中间件出现,IDE势必会为其开发出一个简便使用的GUI界面插件。SSM大家肯定都会,我相信都明白我刚才说的意思。在我们Struts+Spring+Hibernate年代就已经是这样了。
说回C++,基本开发必用的中间件(撇开行业应用类的不说)就是个boost。至于 之前说过的MFC,WTL,那都是win下才有的,在Linux下不用,越是Linux开发越纯粹,就是我之前视频所说:gcc+API=搞定一切。如果你是C圈的程序员,不管你是WIN平台的还是LINUX平台的,都明白,WIN下C开发,要不是有了Qt,死的心都有了。不过说回来,这也是有比较才有伤害,微软的MFC在业界是饱受争议的,现在军工领域用它的不少,互联网大厂都不再使用MFC了。我现在写VC都是用WTL,轻便,够用,跨平台(WIN多个版本)。
4.思维方式
因为C/C++就是用来开发端应用(PC,服务器),是C/S甚至是纯C端思维方式
而JAVA的Web开发,是B/S思维方式。
这对初级程序员的思维方式会产生麻烦,比如处理交互、数据的异步、同步。
Java的安卓开发也是端应用,与后台服务器无关。所以JAVA安卓开发和C/C++开发时的思考方式是相同的,也是C/S处理模式
我再说白些,端处理网络数据(本机的不提了,WEB基本就没有本机)的方式:
C/S == Socket(TCP)
Web == HTTP(含HTTPS,WebSocket)
学过网络的同学们知道,这两个不是一层的协议。所以其思考方式和代码组织方式差异巨大。
今天又扯多了,辛苦大家倾听了,谢谢关注我,再见!
声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者老卢私塾所有,原文出处。若您的权利被侵害,请联系删除。
本文标题:(javascript和java区别)(java和javascript是什么区别)
本文链接:https://www.51qsb.cn/article/m9a4e.html