你学的 Java 基础教程是 Java 7 ? 还是 Java 8 ?

2018-10-08 12:08:11 +08:00
 GTim

这几天在重新写一些 Java 8 的教程。写到一半的时候,开了个小差: 为什么写了一个 Java 8 的教程 ?

难道之前写的就是 Java 7 及更早的教程 ?

如果是这样,那一个刚入行的 Java 初学者,岂不是要 Java 基础教程 + Java 8 + Java 9 + ...

虽然 Java 9 10 11 没啥大的语言级别的修改,但看着自己的 Java 5 的知识,再看看 Java 11 , 6 个版本,压力好大。

但如果写的教程是基于 Java 8 的。大家可能知道,Java 8 对语言来说,有几个非常大的修改:

  1. lambda 表达式

  2. stream() 带来的流式编程 (这个应该不算)

  3. 方法引用和 forEach 带来的集合迭代。

这几项,其实,对于大多数 Java 项目,都有替代方案。如果放在基础教程里,那么会加重入门的负担。

但如果不放在基础教程里,那就只能叫基于 Java 8 的 Java 基础教程。

如果我们忽略版本迭代。那么直接基于 Java 核心基础,比如数据类型、判断、循环、类、包等基础语法。

那么,很大的概率,一个学完基础的人,它会很迷茫,基础的东西几乎出不了任何让人兴奋的作品。

然后呢?开始学习 Android 或 Servlet 或 HTML 等,学完之后就可以做一些小东西了。

接下来继续学 Java 高级一点的东西,比如流、NIO 等。

这样一来,如果要在短短的 3 个月内能够找到工作,那不就是培训学校干的事 ?

培训学校,每一个比较大的科目,不会超过一周的时间。要在一周内学好知识。对于初学者,太难了...

3630 次点击
所在节点    Java
9 条回复
ayyll
2018-10-08 12:35:08 +08:00
我学的时候。。。从 biginteger 开始的 因为要算大数。。然后又不想每次都写模拟。。。
shyangs
2018-10-08 12:42:05 +08:00
老语言越来越难入门,所以裸体的新语言才会火
cyspy
2018-10-08 12:42:17 +08:00
Java 的函数式这么简单,直接介绍一下实现不就行了,虽然实际字节码用了动态调用,略过也完全可以。看下 Core Java for Impatient,除了后半段翻译烂了点,是本好书。
skypyb
2018-10-08 13:42:20 +08:00
一个 lambda 和 stream 多好学啊= =
stream 用起来点点点的爽的一批,还是学一下比较好
lhx2008
2018-10-08 13:49:26 +08:00
其实 stram 和 foreach 都是为了 lambda 才有的,而 lambda 本身不难,但是讲清楚却很难
codingKingKong
2018-10-08 14:21:06 +08:00
基于 8 的基础上的话, 最大的改变我觉得是添加了 lambda 和 stream api, 以及函数式接口的设计思想, 但其实不学习的话, 基于 7 也可以写出符合要求的程序... 个人观点
l1ub0w3n
2018-10-08 16:23:27 +08:00
lambda 本身不是很难。只不过缺少的东西是如何去应用。
包括 Stream 流、但是学会了可以减少代码量。
那你说 Jdk10 还要让你写 module-info、不也是迟早都要学的事吗。
没什么区别。
danc
2018-10-08 16:43:58 +08:00
当然是基于最新的版本写
hahasong
2018-10-09 00:04:05 +08:00
我学的时候是基于 java1.6 的,对那时候还不叫 6

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/495550

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX