今天又看到编辑推荐Java程序员和NET程序员 这个话题,有点不太理解,难道说非得争论出个所以然才可以?看了看刚写的这几篇文章,感觉Tony Qu写的这篇中国技术界怪相还是很有道理的,也非常赞同"语言只是工具、有时间多为社区做贡献"这些观点。不过自己还是有些想法,希望也是一种补充,也是一种号召,不要再为"NET平台和Java平台的优劣"这些没有意义的话题争论不休了。
无论是NET还是J2EE都是为了实现业务需求而采用的具体实现,我们选择某个平台是由各种环境因素所决定的,不是我们的喜好。这些环境因素包括:客户要求(例如客户已经有了固定的数据服务器,有了某些特定的产品组件等);公司内部可重用组件库(可能公司做某项业务,一直采用某种平台,在这些平台上有了成熟稳定的框架);当前业务需求实现复杂程度和开源库的支持程度;技术开发难度(例如桌面系统、bs系统采用不同的平台技术难度是不同的);性能、易用性、可移植性等非功能性需求;公司内部开发人员水平以及数量等。
所以程序员作为业务系统的开发者一方面是根据自己的知识经验向经理提供合理的建议,二是平台决定之后,选用合适的组件、库和语言完成业务系统的开发。难道说你是java平台的坚定支持者就会因为公司采用了net开发系统就辞职走人么?或者是因为客户指定使用NET而公司一直采用j2EE公司就会放弃该项目呢?
我们不应该抱着一颗大树不放,IT的发展瞬息万变,各种技术层出不穷,多学习,多了解,扩展知识面的广度和深度才是需要我们不懈追求的。都知道达尔文的进化论:"适者生存"。那么每种技术、平台存在就有其存在价值,即使我们再去说他不好,说它差劲,但是它本身的存在就是对我们这种诋毁的最好的驳斥。了解、学习、研究,清楚某技术存在的价值,明晰它的不足,在合适的场景下能够做出合理正确的抉择,降低成本、缩短工期、提高效率、满足客户才是最重要的。
J2EE平台主要的开发语言java在bs、cs系统的开发效率上不如net平台,开发难度也要高些,但是我们不可否认的是在相关标准的研究、开放方面却比net平台要好很多;NET平台的语言、类库、控件、工具等都做的很好,容易上手,易用性好,java这方面有差距,但是我们需要承认目前在大型企事业的应用系统中,java还是占据很大的优势。
我们为什么不去学学J2EE平台的相关标准呢?看看java为什么目前在大型企事业系统中占据优势?想同的,为什么不去研究研究NET相关产品是如何提高开发效率,提高用户易用性的呢?
事实上,我们去讨论谁优谁劣真的没什么必要,那怕有一天net或者java倒下了,我们也不能否定它曾经存在的价值,不能抹去它给IT业发展所带来的价值,何况我们也不能主导兴衰交替的过程,我们要做的仅仅是尽自己所能的去学习,去总结,汲取万物之精华为己所用,提高技术素养而IT留名。
最后用一句话来结束"朝代更替,历史皆然!"。
Creative Commons License
本文基于署名 25 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名孙镜涛(包含链接),具体 *** 作方式可参考此处。如您有任何疑问或者授权方面的协商,请给我留言。
分类: NET, J2EE
标签: net, C#, Java, J2EE, 争论
C/S Client/Server (客户端/服务器)
B/S Browser/Server (浏览器/服务器)
区别其实还是挺大的。
Client/Server是建立在局域网的基础上的,Browser/Server是建立在广域网的基础上的。
(1)、硬件环境不同:
C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务。
B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例如电话上网, 租用设备, 信息自己管理, 有比C/S更强的适应范围, 一般只要有 *** 作系统和浏览器就行。
(2)、对安全要求不同
C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强。 一般高度机密的信息系统采用C/S 结构适宜,可以通过B/S发布部分可公开信息。
B/S 建立在广域网之上, 对安全的控制能力相对弱, 面向是不可知的用户群。
(3)、对程序架构不同
C/S 程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。
B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上。 比C/S有更高的要求,B/S结构的程序架构是发展的趋势,从MS的Net系列的BizTalk 2000 Exchange 2000等,全面支持网络的构件搭建的系统。SUN和IBM推的JavaBean构件技术等,使B/S更加成熟。
(4)、软件重用不同
C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好。
B/S 对的多重结构,要求构件相对独立的功能。 能够相对较好的重用。就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。
(5)、系统维护不同
系统维护是软件生存周期中,开销大,相当重要
C/S 程序由于整体性,必须整体考察,处理出现的问题以及系统升级难, 可能是再做一个全新的系统。
B/S 构件组成方面构件个别的更换,实现系统的无缝升级。 系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。
(6)、处理问题不同
C/S 程序可以处理用户面固定,并且在相同区域, 安全要求高的需求,与 *** 作系统相关, 应该都是相同的系统。
B/S 建立在广域网上, 面向不同的用户群,分散地域, 这是C/S无法作到的,与 *** 作系统平台关系最小。
(7)、用户接口不同
C/S 多是建立在Window平台上,表现方法有限,对程序员普遍要求较高。
B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流, 并且大部分难度减低,降低开发成本。
(8)、信息流不同
C/S 程序一般是典型的中央集权的机械式处理,交互性相对低。
B/S 信息流向可变化, B-B、 B-C、 B-G等信息流向的变化, 更象交易中心
Socket通信:
作为服务器端:
//生成服务器端,监听服务器设定的端口
ServerSocket
socketServer
=
new
ServerSocket(端口号);
//建立客户端和服务器端的链接,这时再看客户端
Socket
socket
=
socketServeraccept();
作为客户端:
//新建一个Socket,包含服务器端的IP和端口号,这样在服务器启动情况下可以建立和服务器的链接
Socket
socket
=
new
Socket("IP地址","端口号");
这时,服务器端和客户端的连接已经建立,如果需要通信和传输数据的话分别在服务器端、客户端新建流对象,可以通过流对象实现双方之间的互通
有关流的内容自己看书体会下就能写出B/S结构的通信了。
以上就是关于cs程序.net还是java全部的内容,包括:cs程序.net还是java、java实现cs和bs时根本区别在哪里、java中,怎样实现cs模式的服务器与客户端的通信等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)