(javascript和java区别)(java和javascript是什么区别)

关注微信公众号老卢私塾

如果你都系统的学过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

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2023-06-15
下一篇2023-06-16

你可能还想知道

    SQL Error: select id,classid,ttid,onclick,plnum,totaldown,newspath,filename,userid,username,firsttitle,isgood,ispic,istop,isqf,ismember,isurl,truetime,lastdotime,havehtml,groupid,userfen,titlefont,titleurl,stb,fstb,restb,keyboard,eckuid,title,newstime,titlepic,smalltext,tupianji from ***_ecms_info where (keyboard regexp '(^|,)c++($|,)' or keyboard regexp '(^|,)($|,)' or keyboard regexp '(^|,)($|,)' and id<>'89436') order by rand() limit 14

发表回复

登录后才能评论