首页 » java » 为什么java这么难(java到底有多难)

为什么java这么难(java到底有多难)

我一直告诉我的儿子,"生活中值得做的大多数事情通常都很难"。同时,我还告诉他一些事情。"更聪明地工作,而不是更努力地工作","先想后做","提前计划"。这些看似矛盾的建议都适用于学习Java。

java咖啡

java如此难学的原因包括:

  • 一般来说,学习任何东西都很难。Java是一种成熟的语言,所以有很多东西需要学习。对每个人来说,从他们的第一门语言开始都很难,Java也不例外。
  • Java带来的功能是由多种其他语言演变的。这意味着它的优势在于大部分的粗糙边缘都被磨平了。
  • Java的功能相对较强(与C、Fortran或汇编不尽相同……选择它是因为有很多用它们编写的低级库),但我认为它大致处于同一水平。我可以雇佣一个Java程序员,并对他们在几个月内学会C++有相对的信心。Javascript不是这些语言中的一种……除非它与精心编写的运行时间相结合,以实现低级别的API所能做到的事情。(不,不是扯淡…..,如果你愿意,请证明我是错的,我的观点是灵活的)。
  • 静态类型的语言已经存在了很长时间了。其他语言(Bash脚本、Perl、Tcl、Python等等…)来来去去。它们最终都会沦为 "类似脚本 "的角色(除非与高级分析和运行时相配,而这些通常是用静态类型语言编写的)。从长远来看,学习这些基础知识将得到回报。

这是我给你的建议。坚持下去。学习那些人们所说的使Java变得困难的 "细节",会比JS这样的语言教给你更多的CS基础知识(即对类型的概念)。这些基础知识很容易转移到JS、C、C++、C#以及其他静态类型的语言中。这就是为什么十多年来,它一直是CS入门课程教学的首选语言。

我认为初级程序员在使用JAVA时可能会有困难,因为JAVA将指针和对象的概念联系在一起,然后试图向程序员隐藏指针和内存管理。如果有人不了解指针和内存分配,就很难向他解释为什么他可以简单地声明一个原始类型,却需要 "新建 "一个类的实例。很难解释静态和非静态方法及成员变量之间的区别。

很难解释为什么把一个基元传给一个方法会表现得像逐值传递,而把一个类的实例传给一个方法会表现得像逐参考传递。对于像我这样曾在C/C++中工作并花了很多时间追踪内存泄漏的人来说,JAVA的垃圾收集和隐式指针语法是非常棒的。对于像我女儿这样的人来说,这个学期正在学习计算机科学101课程,并使用JAVA,它可以(而且确实)模糊了重要的概念,造成了很大的混乱。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注