当前位置:首页 > .Net > 说说JAVA,.NET,C/C++的区别

说说JAVA,.NET,C/C++的区别

引言

以前经常看一些文章说到JAVA,.NET的区别,有时候C++er也会过来 凑凑热闹,突然发现这几天手停不下来了,也想写一篇文章 来分析一下 JAVA,.NET,C/C++的优缺点以及他们之间谁“好”,谁“不好”。

csharp

历史遗留问题

首先来介绍下本人的在这几个方面的学习经历,本人学习这3种语言可以 说是三部曲吧 ,虽然都不太深,本人 大学的时候主要学的JAVA,工作2年,做的是.NET,最近 几个月因为想 学习 一门底层语言,才开始 慢慢学习C/C++,.NET ,JAVA之间的争夺,以及高级语言和底层语言的激烈争吵不绝于耳,当然,我这3方面的造诣 ,大家可以当做 牛毛或者头发忽略了,看过很多篇文章,有的说JAVA好,有的说.NET好,有的说只有C才是万物之母(源头),任何语言都脱离不了C语言。具体怎么 说的我也不去网上找了,我还是照自己的看法说吧(*^__^*) 。。。。

.NET VS JAVA

  • JAVA是开源的软件,是 由世界上各个地方的开源爱好者 贡献而出现 的一种语言,其进化度依赖的是LINUX模式,.NET依赖的是 微软的那些牛逼的程序员,这里不探讨好不好,因为每个人有每个人的想法。
  • JAVA和.NET 都是一种语言。。。。确切的说 ,是建立在操作系统上的一种框架,一种编程的框架,如果一定要 说 他们有什么 不同,那就是 语法不同,喜欢它的 人,只是 喜欢它的语法,不管是否 开源,我们至少很难 碰到去动JVM之类的底层。
  • JAVA和.NET之间 有很多的共同点,他们最大的共同点就 在于他们都是语法化的语言,什么 是 语法化的语言呢,打个比方,很多人学英语很 厉害,为什么呢?因为 他可以 组织很多的 句子,优美的句子 ,而.NET或者JAVA最大的好处就是我们 可以不用考虑算法,数学底层的东西,可以 像写文文章一样直接调用类库(别人写好的东西),虽然我承认可以用一些方法去调用.NET或者JAVA中隐藏的指针或者使用一些位运算,但是这些只是特定的项目 ,如果 只是做普通的网站,很多时候不要用到这些东西。
  • 我的观点是 ,不管是.NET还是JAVA,都是为了我们 实现目的 的工具,什么样 的东西是 好东西呢?我有2个衡量的标准:第一:能为我们,为 老板带来经济效益。第二:好用就行,所以三段论嘛,最后得出一个结论,无所谓JAVA VS .NET好坏 ,争论这种 问题没有任何的意义。

面向过程 VS 面向对象

上面的问题已经有人为此争论很久了,当然,这个问题很多人也会有争论,也许我这个标题起得不太好,因为 其实C\C++中的C++严格意义上来说,也是面向对象的,因为不仅仅局限于结构体编程了。很多C\C++er 不屑于搞.NETer或者Javaer觉得,搞JAVA的或者搞.NET的没有 他们有 技术含量。下面分析一下原因:

java

  • 就拿我自己 来说,我在 学习C之类的语言以前,搞的是.NET,有一次C#面试,给我出了几道算法题,结果没做出来,正是因为这次的事情,我才决心学习一门辅助语言来提高逻辑能力 。.NET或者JAVA刚刚也说了是“语法化”的语言,最大的好处就在于可以 很方便的写程序,但是.NET或者JAVA最大的劣势 就 在于 它从一定程度上弱化了算法 在 程序中的作用 ,进一步说 :“如果JVM 或者.NET Framework”能够帮我们 去 解决算法的 问题,我们为什么还要重复造轮子呢 ?
  • 如果想深入C\C++,必须要算法做铺垫,而.NET 或者 JAVA都大众化了 ,最 明显的例子就是现在很多IT培训班,大部分 都是JAVA或者.NET培训,而C/C++培训却不多,原因之一就是C/C++需要 算法基础,如果 是长期从事这项工作的话,而算法的基础 就是数学。
  • 面向过程VS 面向对象 谁好呢?这个我总结的就是:如果你想改变这个世界,那么 先从过程做起,如果你 想改快速变 你 自己的生活条件,那么去处个对象吧!不是人人数学 都好,也不是每个 人对于 框架,大局观的 把控很好,找到适合自己的东西才是最重要的。

总结

其实这里并没有什么最好,什么最差之类的,语言好像女朋友一样,只不过是不同的性格和外貌罢了,这里只是我的个人想法。

  • << PS:教你打造德罗斯特效应
  • iOS多线程简学习 >>
  • 作者:
    除非注明,本文原创:知道91,欢迎转载!转载请以链接形式注明本文地址,谢谢。
    原文链接:http://www.zhidao91.com/java-csharp/

    相关文章 近期热评 最新文章

    • 使用微信JDK实现微信接口签名验证
      要使用微信的接口必须在绑定的域名下测试;签名必须先向微信请求到access_token,然后用access_token再去请求jsapi_ticket,最后用jsapi_ticket和相关的参数按照ASCII码...
    • oracle数据库相关操作注意事项
      修改Oracle SGA(共享内存) 很多网站说修改Oracle的内存通过命令 如果你这么做了,那么恭喜你,你的Oracle数据库无法启动了。如果你已经这么做了,恢复Oracle启动的方...
    • oracle数据库相关操作注意事项
      修改Oracle SGA(共享内存) 很多网站说修改Oracle的内存通过命令 如果你这么做了,那么恭喜你,你的Oracle数据库无法启动了。如果你已经这么做了,恢复Oracle启动的方...
    • 使用微信JDK实现微信接口签名验证
      要使用微信的接口必须在绑定的域名下测试;签名必须先向微信请求到access_token,然后用access_token再去请求jsapi_ticket,最后用jsapi_ticket和相关的参数按照ASCII码...
    • ABP开发指南系列教程(2) – 多层架构...
      为了减少复杂性和提高代码的可重用性,采用分层架构是一种被广泛接受的技术。为了实现分层的体系结构,ABP遵循DDD(领域驱动设计)的原则,将工程分为四个层: 展现层(...
    • ABP开发指南系列教程(1) – 入...
      ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。 ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WE...
    • Windows下 JIRA + Agile + Mysql 破解...
      本文讲述了Windows下 JIRA + Agile + Mysql 破解安装示例教程
    • c#类的构造函数继承关系示例剖析
      本文通过示例代码讲解了c#子类的构造函数与父类的关系,子类怎样集成父类的构造函数的。