`
duanhengbin
  • 浏览: 383511 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java人的C#印象

 
阅读更多

最近由于工作需要支援了公司的C#项目组。第一次体验这个JAVA的老对手,以下是一些心得。

 

【语法】

总体非常类似,属性和索引器 应当说改得还不错,实际也只是在编译器上做了自动生成方法的手脚,小改动。

 

【注解与特性】

在JAVA世界里,注解在框架的易用性上发挥了巨大作用,实际C#也有类似的东西“特性”,但除了NUNIT小试牛刀,其他用得极少。个人感觉非常可惜啊。

 

【IDE工具】

基本差不多,不能看类层次图,不能自动加using(不会是我不会用吧)。好在常用类没有JAVA那么多,引入不需要具体类名,包名就够了,总数惊奇的少。

 

【常用类库】

特别要说下集合类方面,C#里可选择的比JAVA少多了,无Set。泛型类与非泛型类不重叠,反映出C#发展中与JAVA升级思想的差异。其他,如IO等类库相比JAVA也是少得惊人。好坏先不说,学习曲线平坦了非常多。

 

【分层模式】

这个区别可太大了,但凡搞过SSH的JAVA程序员基本对三层结构多少都能说出个一二三来。而做C#感觉未必了。虽然C#也有NHIBERNATE等ORM框架,但实际开发项目时,相当多的项目组还是采用(比如笔者这个)微软最经典的表模式开发。动辄控件加绑定,对JAVA程序员是不是“一夜回到解放前”。(玩笑了)

JAVA开发天生的解耦性,应当说是C#很难企及的。但是换个角度,强耦合避免了比如JAVA里比较常见的DTO满天飞等问题,可谓有弊有利。

 

【代码量】

介于传统习惯及ORM工具的羸弱,C#的开发项目组普遍大量使用各种各样的代码生成器,无疑这样代码量要多很多,其实重复代码比例很大。这一点,无疑JAVA完胜。

 

【总结】

虽然,C#貌似有些“原始”,但是也不能一棍打死,说他落后。毕竟存在就是合理,应当看到较原生态的开发方式,往往性能问题少。再依靠大量代码生成工具,一定程度上弥补了开发效率上的不足。毕竟微软现在还是老大么。

最最重要的是C#学习曲线比JAVA平坦了很多,非常有利于小企业“大干快上”。

 

最后,笔者参加项目数据结构及应用都较简单,对C#的一些高级应用还未感受,观点难免偏颇,望见谅!

分享到:
评论

相关推荐

    rust-zero-cost-abstractions:与C#和Java中的类似方法相比,在Rust中测试了零成本抽象

    话虽如此,在某些情况下,Rust所做的令人印象深刻的零成本抽象工作,与C ++一样(该术语最初来自C ++世界)。 总是有破解它的方法,但是我已经以这种情况为例说明了它的实际效果。 我在工作中提出了这一点,以鼓励...

    在我看来学习c#的方法与心得 希望大家能够借鉴

    在c#的学习中,不一定要搞的很懂很懂,有点印象和模糊的效果最好。很多人在c#的学习中找不到北,但是语言都有他的规律性,只要找到规律那就很好办事。希望我的这份小小的心得能让大家有很大的收获。对以后学习什么...

    我应该学习哪种编程语言C#,C ++,C,Java,Python,Rubby等

    您问错了一个问题,您应该问:-为什么要学习语言?-为什么要开发软件? 去赚钱? 学习? 懂电脑吗? 要获得声誉? 给人留下深刻印象?-我居住的地方使用什么语言? 哪个更好...

    沙盘运行器

    五种令人印象深刻的网页头部设计技巧 C++初步知识(2013级-C++程序设计) 拼图游戏代码 碎纸片的拼接复原算法集合 java笔试题大集合及答案 热门招聘 【上海斐讯数据】招聘JAVA工程师 【德邦物流】高薪诚聘 软件...

    2014年全国“飞思卡尔”智能汽车竞赛国家一等奖代码-大连理工大学-凌立印象队.zip

    包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】...

    毕设&课设&项目&实训-2018年西安邮电大学网页设计大赛一等奖-西安印象。.zip

    包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】...

    报表控件Stimulsoft-Reports-Net-2016.1-Trial.exe

    StimulsoftReports是一组令人印象深刻的跨平台报表组件,例如.NET Framework,.NET Core,JavaScript,PHP和Java。该工具具有强大的多平台报表引擎,易于使用的设计器和查看器,支持大量的报表导出格式。组件在桌面...

    seven-servers::test_tube: 为测试编程语言而创建的七个后端

    平均而言,API 需要 150 毫秒来完成它的两个请求,这令人印象深刻。 速度是它排名靠前的主要原因之一,还有结构。 它遵循 MVC 模式,因此您的代码是有组织的并且可以工作。 然而,这会导致编写大量代码,对于 C#,...

    SQL Server 2005 中使用 Try Catch 处理异常

    TRY…CATCH是Sql Server 2005/2008令人印象深刻的新特性.提高了开发人员异常处理能力.没有理由不尝试一下Try.. Catch功能. * TRY 块 – 包含可能产生异常的代码或脚本 * CATCH 块 – 如果TRY块出现异常,代码处理流将...

    值类型和引用类型的区别

    我这人不善于背理论的教条,喜欢把书本上那些生硬的话跟现实生活中常见 的事物联系起来理解和记忆。 直白点儿说:值类型就是现金,要用直接用;引用类型是存折,要用还得先去银行取现。 声明一个值类型变量,编译器...

Global site tag (gtag.js) - Google Analytics