为什么java源码写那么复杂_java编程代码都是背下来的吗

hacker|
113

文章目录:

java为什么这么复杂

java的技术体系非常庞杂,可以说是臃肿,尤其是j2ee,要学的东西非常多,往往你学会了一门新技术,别的又很快出来了,但有一点不可否认,就是j2ee技术一般都很简,比如struts,hibernate,spring 虽然学起来有点吃力,但使用起来还是很简单的,只要你会jsp,servlet,javabean,ssh,ajax,就差不多了

java的输入和输出为什么要那么复杂?

因为java是面向对象的,它这样设置目的就是要用图形化界面,可视化编程模式,如输入可用showInputDialog(),使程序员转向面向对象设计,图形化界面设计,dos下java不太推荐

java代码为什么那么繁琐

1. Java语言是不是繁琐呢?手头有一本《Thinking in Java》中文第四版,数了一下正文共22章856页。随手翻一下,示例代码和讲解正文大概比例在1.5 : 1这样。没有真正用Java干过项目的人肯定会大为惊叹:我勒个去,这么多知识点!此为“繁”;

2. 绝大部分搞编程的人,事实上,都是在使用一门语言的某个子集。该子集的形成由项目主导者发起、开发活动参与者共同决定,且相对长期稳定。每一个即将参与该项目的人肯定会先把语言学个大概(其难度参考前一条),然后再根据项目学习该语言子集,最后固化下来。不断使用该子集固然能提升开发效率,但代价不菲,极容易就变成了项目中的一颗镙丝钉(“专家”);

3. 一门语言的设计肯定不会一蹴而就,一步步改良。没记错的话,Java诞生于1995年左右,到今天已经快满20年。在当时那种IT环境和条件下设计出来的语言,必然存在许多妥协、限制与错误,既不能随便将之抹除(可能还有很多工程依赖着),也不能随便更正,只能通过添加新语法、新类库来打补丁,导致语言更“繁”。举个例子,非内建容器类库是一个典型硬伤,再举个例子,时间日期类没见有多好用,也没见有更新过,连替代品都没见过(恕我不写Java,的确没见过);

4. 类库(框架)丰富是好事还是坏事,要看针对同一个任务能找到多少替代品。如果有三到四个,那么肯定是好事,既不会造成单点故障,也不至于造成理解和记忆上的负担。但是类库太多,选择太多,人的幸福感反而会下降,高效率也就无从谈起;

5. 框架真的可以保证快速开发吗?熟悉的话是可以的,专家编程嘛!但是

熟悉之前要花非常多时间学习使用吃闷亏。

框架只能免除掉一部分开发工作量。

框架跟业务总是存在“不合缝”的差异。

只不过将复杂度从开发转移到了部署运维。

依赖性极强。

6. IDE可以提高开发效率吗?仅仅一部分罢了。IDE本身就是个非常复杂的东西,将之调校到符合个人开发步调的进程可能会持续很久,事实上大部分人也只是用一些常用功能罢了。而且

基于图形界面意味着自动化不容易(需要编写额外插件)。

出了问题查找原因不易。

依赖性极强。

7. Java本身是面向系统(机器)的,不是面向开发人员的。这种强设计保证有助于提升目标系统的可靠性,却牺牲了开发人员的幸福感。既然设计得如此严谨规范,为什么不能自动生成Java程序,

4条大神的评论

  • avatar
    访客 2022-07-05 上午 07:41:05

    会下降,高效率也就无从谈起;5. 框架真的可以保证快速开发吗?熟悉的话是可以的,专家编程嘛!但是熟悉之前要花非常多时间学习使用吃闷亏。框架只能免除掉一部分开发工作量。框架跟业务总是存在“不合缝”的差异。只不过将复杂度从开发转移到了部署运维。依赖性极强。6. IDE可以提高开发效率

  • avatar
    访客 2022-07-05 上午 03:50:13

    新过,连替代品都没见过(恕我不写Java,的确没见过);4. 类库(框架)丰富是好事还是坏事,要看针对同一个任务能找到多少替代品。如果有三到四个,那么肯定是好事,既不会造成单点故障,也不至于造成理解和记忆上的负担。但是类库太多,选择太多,人的幸

  • avatar
    访客 2022-07-05 上午 12:42:20

    人也只是用一些常用功能罢了。而且基于图形界面意味着自动化不容易(需要编写额外插件)。出了问题查找原因不易。依赖性极强。7. Java本身是面向系统(机器)的,不是面向开发人员的。这种强设计保证有助于提升目标系统的可靠性,却牺牲了开发人员的幸福感。既然设计得如此严谨规范,为什么不能自动生成Jav

  • avatar
    访客 2022-07-05 上午 05:58:54

    久,事实上大部分人也只是用一些常用功能罢了。而且基于图形界面意味着自动化不容易(需要编写额外插件)。出了问题查找原因不易。依赖性极强。7. Java本身是面向系统(机器)的,不是面向开发人员的。这种强设计保证有助于提升目标系统的可靠性,却牺牲了开发人员的幸福感。既然设计得如此严谨规范,为什么

发表评论