`
duanhengbin
  • 浏览: 384882 次
  • 性别: 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#的一些高级应用还未感受,观点难免偏颇,望见谅!

分享到:
评论

相关推荐

    C#和JAVA面试八股文

    - 着装得体:专业而舒适的服装可以给人留下良好的第一印象。 4. 面试技巧: - 自我介绍:简洁明了地介绍自己的教育背景、工作经验和技能特长,突出与应聘职位相关的亮点。 - 加班看法:可以表达理解并愿意在必要...

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

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

    数据结构(C#)

    然而,在撰写本书的过程中,C#语言和.NET Framework不断更新,从2.0版本到3.0版本的变化令人印象深刻,这给作者带来了挑战。 #### 二、内容概览 本书共分为八章,内容覆盖广泛: 1. **第一章**:介绍数据结构与...

    2017年Java面试题大全.pdf

    - **着装得体**:保持专业形象,给人留下良好的第一印象。 - **态度积极**:保持微笑,表现出自信和热情。 - **清晰表达**:逻辑清晰地回答问题,避免冗长和偏离主题的回答。 - **提问环节**:准备好向面试官提问的...

    程序员简历模板(JAVA/.NET)

    - **避免错别字和语法错误**:简历的语法和拼写错误会给人留下不专业的印象。 - **保持简洁**:避免过于复杂的设计,内容精炼,避免大段文字。 通过以上分析,我们可以理解,一份优秀的程序员简历应该能够全面展示...

    程序启动欢迎界面,溅屏(Splash窗体)实现

    在软件开发中,一个吸引人的启动界面,也称为“欢迎界面”或“溅屏”,能够提升用户体验,给予用户良好的第一印象。"Splash窗体"就是这样的一个功能组件,它通常在应用程序启动时短暂显示,展示品牌标识、版本信息...

    30套精选程序员个人简历付费级模板模板.zip

    在IT行业中,一份精心设计的简历是求职者打开成功之门的关键。对于Java相关的程序员、嵌入式开发者、计算机科学专业求职者、...合理利用这些模板,结合个人特点,定能制作出一份令人印象深刻的简历,提高求职成功率。

    很完整的找茬游戏

    6. 编程语言与框架:找茬游戏的开发通常涉及编程语言如Java、C#、Python或JavaScript,以及游戏引擎如Unity、Cocos2d-x或Phaser。这些工具和框架能帮助开发者快速构建游戏,实现图形渲染、音频播放、物理模拟等功能...

    有关面试的一些经典文章

    - **求职最受欢迎的十大技能**:结合标签,这可能包括编程语言如**Java**和**C#**,操作系统**Linux**,以及源码阅读和理解能力。掌握这些技能将使你在面试中更具吸引力。 7. **关键时刻**: - **面试前三分钟定...

    Flash.plus.After.Effects

    从给定的文件信息来看,该书名为"Flash.plus....通过学习本书,读者将能够充分利用这两款软件的强大功能,创造出令人印象深刻的动画和视频作品。无论是初学者还是经验丰富的设计师,都能从中获益,提高自己的技能水平。

    启动画面设计.zip

    【启动画面设计】是软件开发中的一个重要环节,它通常是用户打开应用时首先看到的内容,能够对用户形成第一印象,同时也是品牌形象展示的窗口。在设计启动画面时,选择一个合适的图标或公司Logo至关重要,因为它们是...

    沙盘运行器

    五种令人印象深刻的网页头部设计技巧 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。该工具具有强大的多平台报表引擎,易于使用的设计器和查看器,支持大量的报表导出格式。组件在桌面...

    很好看的网站后台管理

    设计美观的登录界面可以提升用户的第一印象,良好的用户体验往往始于一个吸引人的登录界面。 2. **网页模板**:“法拉利网站后台管理系统.htm”可能是一个预览或示例页面,展示了后台管理系统的整体布局和风格。...

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

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

    漂亮的播放器-my player

    开发者可能选择了如Java、C#、Python或JavaScript等语言进行编码,这些语言都有丰富的库和框架支持多媒体处理。例如,Java可以使用JAVAFX或者Swing构建桌面应用,而JavaScript配合HTML5的Audio API可以实现网页版...

    【电脑特效】999朵玫瑰花.zip

    通过利用高级编程语言如Java、C#或Python,结合二维图形库如OpenGL或DirectX,开发者能够在电脑屏幕上渲染出逼真的图像效果。 在实现999朵玫瑰花绽放效果的过程中,程序可能采取了多种算法来保证视觉效果的多样性与...

    最全面的面试技巧(各个方向)

    例如,如果你是计算机科学专业的应届毕业生,那么可以强调自己在C#、Java或PHP等编程语言方面的熟练程度,以及参与过的项目经验。此外,还可以提及自己对未来职业规划的想法,比如希望能够成为一名优秀的软件工程师...

Global site tag (gtag.js) - Google Analytics