前言

  以前经常看一些文章说到JAVA,.NET的区别,有时候C++er也会过来 凑凑热闹,突然发现这几天手停不下来了,也想写一篇文章 来分析一下 JAVA,.NET,C/C++的优缺点以及他们之间谁“好”,谁“不好”。当然本文的目的并不是为了挑起战争,而是分析,各位看官如果觉得有想法,也可以来探讨。文明探讨,拒绝谩骂。

历史遗留问题

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

.NET VS JAVA

  恩。。。。。。谁好呢?我不是.NET方面的专家(毕竟才工作了2年),也不是JAVA方面的专家(大学那点皮毛,哼!!!),下面按照我的想法来说:

1.JAVA是开源的软件,是 由世界上各个地方的开源爱好者 贡献而出现 的一种语言,其进化度依赖的是LINUX模式,.NET依赖的是 微软的那些牛逼的程序员,这里不探讨好不好,因为每个人有每个人的想法。

2.JAVA和.NET 都是一种语言。。。。确切的说 ,是建立在操作系统上的一种框架,一种编程的框架,如果一定要 说 他们有什么 不同,那就是 语法不同,喜欢它的 人,只是 喜欢它的语法,不管是否 开源,我们至少很难 碰到去动JVM之类的底层。

3.JAVA和.NET之间 有很多的共同点,他们最大的共同点就 在于他们都是语法化的语言,什么 是 语法化的语言呢,打个比方,很多人学英语很 厉害,为什么呢?因为 他可以 组织很多的 句子,优美的句子 ,而.NET或者JAVA最大的好处就是我们 可以不用考虑算法,数学底层的东西,可以 像写文文章一样直接调用类库(别人写好的东西),虽然我承认可以用一些方法去调用.NET或者JAVA中隐藏的指针或者使用一些位运算,但是这些只是特定的项目 ,如果 只是做普通的网站,很多时候不要用到这些东西。

4.我的观点是 ,不管是.NET还是JAVA,都是为了我们 实现目的 的工具,什么样 的东西是 好东西呢?我有2个衡量的标准:第一:能为我们,为 老板带来经济效益。第二:好用就行,所以三段论嘛,最后得出一个结论,无所谓JAVA VS .NET好坏 ,争论这种 问题没有任何的意义。

面向过程 VS 面向对象

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

1.就拿我自己 来说,我在 学习C之类的语言以前,搞的是.NET,有一次C#面试,给我出了几道算法题,结果没做出来,正是因为这次的事情,我才决心学习一门辅助语言来提高逻辑能力 。.NET或者JAVA刚刚也说了是“语法化”的语言,最大的好处就在于可以 很方便的写程序,但是.NET或者JAVA最大的劣势 就 在于 它从一定程度上弱化了算法 在 程序中的作用 ,进一步说 :“如果JVM 或者.NET Framework”能够帮我们 去 解决算法的 问题,我们为什么还要重复造轮子呢 ?

2.如果想深入C\C++,必须要算法做铺垫,而.NET  或者 JAVA都大众化了 ,最 明显的例子就是现在很多IT培训班,大部分 都是JAVA或者.NET培训,而C/C++培训却不多,原因之一就是C/C++需要 算法基础,如果 是长期从事这项工作的话,而算法的基础 就是数学。

3.面向过程VS 面向对象 谁好呢?这个我总结的就是:如果你想改变这个世界,那么 先从过程做起,如果你 想改快速变 你 自己的生活条件,那么去处个对象吧!不是人人数学 都好,也不是每个 人对于 框架,大局观的 把控很好,找到适合自己的东西才是最重要的。

后记

最后吧,其实好不好,和我这种普通的程序员关系并不大,就像我们和马云的关系不大一样,几个人有 他那么 有钱呢?最终改框架的还不是他们,所以,吃好,睡好,身体好,比什么 都好,最后 说 一句,程序员通常都喜欢宅,这样其实不好,现在年轻 还好,年纪大了一堆毛病,没有身体什么都没了,希望大家自己 保重身体,做一个做事 高效率的程序员。(*^__^*) 嘻嘻……,如果有不妥的地方,还 请指出。。。

菜鸟浅析JAVA,.NET,C/C++的区别的更多相关文章

  1. 浅析Java中的final关键字

    浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...

  2. 浅析Java中的访问权限控制

    浅析Java中的访问权限控制 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下为何需要访问权限控制.考虑两个场景: 场景1:工程师A编写了一个类ClassA,但 ...

  3. [转载]浅析Java中的final关键字

    浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...

  4. 【转】浅析Java中的final关键字

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法. ...

  5. 菜鸟的java代码审计之旅-0之java基础知识

    前言: 对于java的代码审计我就是一个小白,没有代码基础(不会java),从0开始记录我的java漏洞的审计学习之旅.对于java来说是一门很难的语言,但是不去学习就永远不会.对于一门很复杂的语言如 ...

  6. 浅析Java中的深拷贝和浅拷

      浅析Java中的深拷贝和浅拷贝 原文链接: http://blog.csdn.net/tounaobun/article/details/8491392 假如说你想复制一个简单变量.很简单: in ...

  7. 浅析Java NIO

    浅析Java NIO 前言   在说NIO之前,先来说说IO的读写原理.我们都知道Java中的IO流可以分为网络IO流和文件IO流,前者在网络中使用,后者在操作文件时使用.但实际上两种流区别并不是太大 ...

  8. 浅析Java.lang.Process类

    一.概述      Process类是一个抽象类(所有的方法均是抽象的),封装了一个进程(即一个执行程序).      Process 类提供了执行从进程输入.执行输出到进程.等待进程完成.检查进程的 ...

  9. java 接口和抽象类的区别

    java 接口和抽象类的区别抽象类:1.含有抽象方法的类一定为抽象类,反过来抽象类,不一定含有抽象方法:2.抽象类必须用abstract来进行定义,抽象方法也必须用abstract来进行定义:3.抽象 ...

随机推荐

  1. 如何一步一步用DDD设计一个电商网站(五)—— 停下脚步,重新出发

    阅读目录 前言 单元测试 纠正错误,重新出发 结语 一.前言 实际编码已经写了2篇了,在这过程中非常感谢有听到观点不同的声音,借着这个契机,今天这篇就把大家提出的建议一个个的过一遍,重新整理,重新出发 ...

  2. ABP文档 - 后台作业和工作者

    文档目录 本节内容: 简介 后台作业 关于作业持久化 创建一个后台作业 在队列里添加一个新作业 默认的后台作业管理器 后台作业存储 配置 禁用作业执行 Hangfire 集成 后台工作者 创建一个后台 ...

  3. SQLServer执行命令出现“目录无效的提示”

    异常处理汇总-数据库系列  http://www.cnblogs.com/dunitian/p/4522990.html 一般都是清理垃圾清理过头了,把不该删的目录删了 网上说法: 问题描述: 1.s ...

  4. 如何正确使用日志Log

    title: 如何正确使用日志Log date: 2015-01-08 12:54:46 categories: [Python] tags: [Python,log] --- 文章首发地址:http ...

  5. 【接口开发】浅谈 SOAP Webserver 与 Restful Webserver 区别

    接口,强大,简单,交互,跨越平台 下面简单阐述这两大接口思想 一 REST: REST是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性. ...

  6. 云计算下PAAS的解析一

    云计算下PAAS的解析一       PaaS是Platform-as-a-Service的缩写,意思是平台即服务. 把服务器平台作为一种服务提供的商业模式.通过网络进行程序提供的服务称之为SaaS( ...

  7. 信息安全-2:python之hill密码算法[原创]

    转发注明出处:http://www.cnblogs.com/0zcl/p/6106513.html 前言: hill密码算法我打算简要介绍就好,加密矩阵我用教材上的3*3矩阵,只做了加密,解密没有做, ...

  8. 解决:win10_x64 VMware Workstation and Hyper-V are not compatible. Remove the Hyper-V role from the system before running VMware Workstation

    bcdedit /set hypervisorlaunchtype off A reboot of of the Windows OS is necessary  必须重启才能生效   To enab ...

  9. .NET面试题系列[3] - C# 基础知识(1)

    1 类型基础 面试出现频率:基本上肯定出现 重要程度:10/10,身家性命般重要.通常这也是各种招聘工作的第一个要求,即“熟悉C#”的一部分.连这部分都不清楚的人,可以说根本不知道自己每天都在干什么. ...

  10. Flume1 初识Flume和虚拟机搭建Flume环境

    前言:       工作中需要同步日志到hdfs,以前是找运维用rsync做同步,现在一般是用flume同步数据到hdfs.以前为了工作简单看个flume的一些东西,今天下午有时间自己利用虚拟机搭建了 ...