D
ddev
Unregistered / Unconfirmed
GUEST, unregistred user!
以前,一直对 Java 有着偏见,认为这种语言,相比于 C/C++ 而言,实在不能
同日而语。但经过一段时间的“勉强”学习,却发现了 Java 之所以火爆的根由,并且也
逐渐明白了一点 C/C++ 和 Java 之间的差别和不同的用途,所以也觉得:C/C++ 要学,
Java 也不能放下。下面是我的几个理由:
1、C/C++ 好在哪,Java 不好在哪
说到 C/C++,许多人可能会马上联系到 Delphi ---- 几乎已是 Pascal 的代名词
了。这两种语言唯一的差别在于:表达 ----- 我这么认为。C/C++ 的表达趋于简洁,其中
最常用的 ++/--,<</>>,{}, 及即时的变量定义,最让我喜爱,再加上 type* 的指针表达,
比起 Delphi 中必须定义两个类型实在是要强得多。除此之外,Delphi 的内嵌过程却比 C/C++
要方便,所以在函数的表达上,可能 Delphi 要有一些优势 ---- 因为我们不再需要在你的
函数库中实现许多可能仅需要在一两个函数中使用的“偏僻”函数了。在类的表达上,Delphi
的 propety 属性声明的确要比 C/C++ 高明。至于其它,我认为没有什么根本的区别。
为什么要提到 Delphi 呢?虽然 Java 的语法形式借鉴了 C/C++,但在类的处理手法
上,却相比于 Delphi 要更接近。你认为不是?下面是比较:
C/C++ 不是单根类,Delphi/Java 却是;
C/C++ 允许多重继承,Delphi/Java 只承认单继承,但可实现多个接口;
C/C++ 有名字空间,Delphi 只承认单元,Java 采用目录 ---- 相比而言,只是单元
的一个变种;
Delphi 有明确的组件概念,Java 也是,如果从代码本身而非布署考虑,Java Bean/
Java Enterprise Bean 不都是一个组件么?C/C++ 采用的通用的类处理,没有对组件进行特定
的特征处理及特征描述,因此,从一般意义上来讲,C++ 没有组件。
...
所以综合来说:Java 从语言形式来讲,是 C++ 的包装 + Delphi 的思想。因此,
比较 C++/Java 就很明显了。
Java 的不好在于:原生程序只需要很少的特定的文件;Java 必须有虚拟机。所以
原生程序一般很容易布署;而 Java 却必须有一整套的配置,这也是 Java 的复杂之一;
其二、Java 是解释的,原生程序是编译的,在资源消耗及运行速度上,Java 要差;
其三、Java 编码实现是低代价的,但应用服务器却很昂贵,因此,在 EJB 几乎必须
的企业环境中,如果不考虑盗版,那么你的程序几乎就是无用 ---- 除非你限定为大公司开发。
C/C++ 没有这个问题,原生程序发布后就不需要更多的运行费用。
其四、Java 是独家产品,这个世界以后会怎么样,你无从得知。C/C++ 已经成为业
界标准,有大量的技术支持,可以说:C/C++ 要比 Java 更值得信赖。
...
那么,为什么要学 Java 呢?我认为只有有限的几个原因,但却直接影响到全局:
一、能够实现更灵活的 C/S 或 B/S 企业环境。EJB 本身就是为解决这个问题,而在
其它环境中,你必须自己去考虑和实现;
二、没有平台忧患,不会因为以后可能的“平台大战”或者不同的用户平台而使你的程序失效;
三、即使在一般应用中,JSP+Servlet 的开发成本也要比 CGI 低得多,而且能够提供
PHP/ASP/CGI 都难以实现的复杂用户交互(Applet)。
就这么几条,就足以让你有学习 Java 的动力了。
2、Java 初步
有人说 C/C++ 难学,Java 却很容量上手,我想,这种想法肯定错误 ---- Java 不会比
C/C++ 有多少学习上的优势。所以,你不要想取巧,希望3-5天能够学会 Java。应该以一种全新
语言的姿态去学习,或许会让你在挫折中有承受的勇气,否则 --- 你会失去耐心的。给你一个
简单的理由:如果希望在特定的平台上编程,C/C++ 要求你理解系统 API,所以难;Java 可以
使你绕开这点,但换来的是一个全新的 API,所以你同样要经历痛苦。
Java 的语法形式与 C/C++ 基本一致;Java 的类处理与 Delphi 大同小异,但它不再
需要类似于 C/C++ 的头文件或者 Delphi 的 Interface 接口部分。基本上是哪儿定义就在哪儿
实现 ---- 这会使你的代码很难读。以前有人报怨 C/C++ 的头文件,现在可以体会一下了。在我
看来,C/C++ 的头文件,能够使你在整体上有一种控制感和全局感;Java 没有,所以你必须很好
地写好注释,以备档待查。
其次,C/C++ 提创简洁,许多复杂的计算可以用中间变量来简化代码的复杂度和提高代码
的可读性;但 Java 却似乎在提创复杂,虽然没有一个文档这么讲,但许多代码都是这么写的。对
于我而言,还是愿意保持 C/C++ 的风格,尽量学着写简单而明确的代码。因为 Java 已经够复杂了,
如果再加 Perl 正规式一样的“天书”,不读得吐血才怪。
在我的学习计划中,将 Java 的学习分为以下几个部分:
1、Java 基础:学习 Java 语法,基本的 I/O 流,JDBC 及 Java Bean;
2、JSP/Servlet/Applet:这总体认为可以归为一类,是 WEB 的基础部分;
3、TCP/IP 编程:网络应用的基础部分
4、EJB 企业应用:Java 的地堡,最后的攻坚,没有它,Java 只会是一个鸡肋。
这是 Java 的重心,也是最后的守望,成不成就全看此招了。
--------------------------------------------------------------------------------------
说明:我是一个 Java 的初学者,所言所写必定会有NNN个错误或漏洞,所以希望 Java 的高手能够
不吝指导,多加建议,以方便与我同样的初学者能够快速入门,少走弯路,少范错误。在此表示感谢。
我会在以后的学习中,不断地补充我的痛苦经历,作为一个开始,我已经说得太多了。~_^
同日而语。但经过一段时间的“勉强”学习,却发现了 Java 之所以火爆的根由,并且也
逐渐明白了一点 C/C++ 和 Java 之间的差别和不同的用途,所以也觉得:C/C++ 要学,
Java 也不能放下。下面是我的几个理由:
1、C/C++ 好在哪,Java 不好在哪
说到 C/C++,许多人可能会马上联系到 Delphi ---- 几乎已是 Pascal 的代名词
了。这两种语言唯一的差别在于:表达 ----- 我这么认为。C/C++ 的表达趋于简洁,其中
最常用的 ++/--,<</>>,{}, 及即时的变量定义,最让我喜爱,再加上 type* 的指针表达,
比起 Delphi 中必须定义两个类型实在是要强得多。除此之外,Delphi 的内嵌过程却比 C/C++
要方便,所以在函数的表达上,可能 Delphi 要有一些优势 ---- 因为我们不再需要在你的
函数库中实现许多可能仅需要在一两个函数中使用的“偏僻”函数了。在类的表达上,Delphi
的 propety 属性声明的确要比 C/C++ 高明。至于其它,我认为没有什么根本的区别。
为什么要提到 Delphi 呢?虽然 Java 的语法形式借鉴了 C/C++,但在类的处理手法
上,却相比于 Delphi 要更接近。你认为不是?下面是比较:
C/C++ 不是单根类,Delphi/Java 却是;
C/C++ 允许多重继承,Delphi/Java 只承认单继承,但可实现多个接口;
C/C++ 有名字空间,Delphi 只承认单元,Java 采用目录 ---- 相比而言,只是单元
的一个变种;
Delphi 有明确的组件概念,Java 也是,如果从代码本身而非布署考虑,Java Bean/
Java Enterprise Bean 不都是一个组件么?C/C++ 采用的通用的类处理,没有对组件进行特定
的特征处理及特征描述,因此,从一般意义上来讲,C++ 没有组件。
...
所以综合来说:Java 从语言形式来讲,是 C++ 的包装 + Delphi 的思想。因此,
比较 C++/Java 就很明显了。
Java 的不好在于:原生程序只需要很少的特定的文件;Java 必须有虚拟机。所以
原生程序一般很容易布署;而 Java 却必须有一整套的配置,这也是 Java 的复杂之一;
其二、Java 是解释的,原生程序是编译的,在资源消耗及运行速度上,Java 要差;
其三、Java 编码实现是低代价的,但应用服务器却很昂贵,因此,在 EJB 几乎必须
的企业环境中,如果不考虑盗版,那么你的程序几乎就是无用 ---- 除非你限定为大公司开发。
C/C++ 没有这个问题,原生程序发布后就不需要更多的运行费用。
其四、Java 是独家产品,这个世界以后会怎么样,你无从得知。C/C++ 已经成为业
界标准,有大量的技术支持,可以说:C/C++ 要比 Java 更值得信赖。
...
那么,为什么要学 Java 呢?我认为只有有限的几个原因,但却直接影响到全局:
一、能够实现更灵活的 C/S 或 B/S 企业环境。EJB 本身就是为解决这个问题,而在
其它环境中,你必须自己去考虑和实现;
二、没有平台忧患,不会因为以后可能的“平台大战”或者不同的用户平台而使你的程序失效;
三、即使在一般应用中,JSP+Servlet 的开发成本也要比 CGI 低得多,而且能够提供
PHP/ASP/CGI 都难以实现的复杂用户交互(Applet)。
就这么几条,就足以让你有学习 Java 的动力了。
2、Java 初步
有人说 C/C++ 难学,Java 却很容量上手,我想,这种想法肯定错误 ---- Java 不会比
C/C++ 有多少学习上的优势。所以,你不要想取巧,希望3-5天能够学会 Java。应该以一种全新
语言的姿态去学习,或许会让你在挫折中有承受的勇气,否则 --- 你会失去耐心的。给你一个
简单的理由:如果希望在特定的平台上编程,C/C++ 要求你理解系统 API,所以难;Java 可以
使你绕开这点,但换来的是一个全新的 API,所以你同样要经历痛苦。
Java 的语法形式与 C/C++ 基本一致;Java 的类处理与 Delphi 大同小异,但它不再
需要类似于 C/C++ 的头文件或者 Delphi 的 Interface 接口部分。基本上是哪儿定义就在哪儿
实现 ---- 这会使你的代码很难读。以前有人报怨 C/C++ 的头文件,现在可以体会一下了。在我
看来,C/C++ 的头文件,能够使你在整体上有一种控制感和全局感;Java 没有,所以你必须很好
地写好注释,以备档待查。
其次,C/C++ 提创简洁,许多复杂的计算可以用中间变量来简化代码的复杂度和提高代码
的可读性;但 Java 却似乎在提创复杂,虽然没有一个文档这么讲,但许多代码都是这么写的。对
于我而言,还是愿意保持 C/C++ 的风格,尽量学着写简单而明确的代码。因为 Java 已经够复杂了,
如果再加 Perl 正规式一样的“天书”,不读得吐血才怪。
在我的学习计划中,将 Java 的学习分为以下几个部分:
1、Java 基础:学习 Java 语法,基本的 I/O 流,JDBC 及 Java Bean;
2、JSP/Servlet/Applet:这总体认为可以归为一类,是 WEB 的基础部分;
3、TCP/IP 编程:网络应用的基础部分
4、EJB 企业应用:Java 的地堡,最后的攻坚,没有它,Java 只会是一个鸡肋。
这是 Java 的重心,也是最后的守望,成不成就全看此招了。
--------------------------------------------------------------------------------------
说明:我是一个 Java 的初学者,所言所写必定会有NNN个错误或漏洞,所以希望 Java 的高手能够
不吝指导,多加建议,以方便与我同样的初学者能够快速入门,少走弯路,少范错误。在此表示感谢。
我会在以后的学习中,不断地补充我的痛苦经历,作为一个开始,我已经说得太多了。~_^