写点什么

《零基础学 Java》 FAQ 之 零 - 这门课适合我吗?

用户头像
臧萌
关注
发布于: 2020 年 05 月 10 日
《零基础学Java》 FAQ 之 零-这门课适合我吗?

这门课适合我吗?


学习不仅仅付出的是钱,更多的是付出了学习的时间。所以我觉得我有责任来告诉大家这门课是不是适合你。抱有以下两个学习目标的同学,我相信这门课会让你学有所获。


  • 零基础学编程,并且想继续深入学习编程的同学

  • 希望夯实基础,系统学习 Java 和面向对象编程思想的同学


下面说说为什么哈


零基础学编程,并且想继续深入学习编程的同学


这门课在录制之初的定位,就是要让零基础的同学能看懂学会 Java。有了编写《Java入门1·2·3》(豆瓣 9 分+,各大电商平台也都得分不错)的经验,这个目标我还是很有底气能达成的。从同学们问的问题来看,同学们不仅学懂了,而且还提出了很多优质的问题。这些问题我都总结放在了 [FAQ](/FAQ) 里面。


说到提问,也是这门视频课的优势。极客时间这个平台可以很方便的提问和互动,及时且有针对性的解决大家的疑问。


这门视频课也为同学们后续继续深入学习编程打好了基础,如果有计划深入学习 Java 或者编程,那么这门课就更适合了。为什么呢,请接着向下看。


希望夯实基础,系统学习 Java 和面向对象编程思想的同学


录制这门课时距离我写书又过了六七年。十几年的一线编程经历,让我无论是 Java 语言的掌控力,还是面向对象的理解,还是程序设计和架构的经验,都能够候游刃有余的准备这门 Java 视频课。相比《Java 入门 1·2·3》这本书,我将很多理解和经验的内容,以合适的方式和力度放到了这门视频课里。


这门课不仅仅是 Java 的入门课,更是 Java 和面向对象的基础课。入门的特点是要简单,门槛低,由浅入深。而基础的特点是抓住根本,理解本质。在这门课的备课过程中,我结合自己的经验和理解(还有教训),由表及里,从语法元素开始,涵盖语法的本质和语法背后的意义。知其然,还要知其所以然。这是基础要解决的问题。


如果 Java 是自己的工作语言,但是写 Java 的时候又感觉心里没底,不踏实,不知道有没有更合适的写法,那么学习这门课会有帮助。理解了语法的前因后果,才能用合适的代码解决问题。


如果自己一直在听别人说面向对象,听的耳朵都起茧子了,还是不知道什么是面向对象,不知道为什么面向对象的三要素是封装、继承和多态,甚至说不清什么是封装、继承和多态,那么这门课将给你一个清晰的,生动的答案。课程讲解的过程中,除了讲解语法本身,更注重讲解面向对象这个抽象的概念是怎么落地到一个个的语法点。从而由底向上的,得出面向对象的核心是封装、继承和多态的结论。课程中大大小小的例子,除了展示语法本身,也注重代码的组织和设计。从实操的角度,写出面向对象的代码,一步步培养面向对象编程的思维。


这样的风格贯彻了整个课程。这门课以教会语法为起点,用对语法为目的。比如在第二章中,抛出了使用组合还是继承的问题,并给出了优先使用组合的建议。比如异常一章,在学习完异常的语法之后,也着重讲解了使用异常的误区。比如在多线程一章,通过展示多线程的优势(更充分的使用资源)和劣势(编码复杂,同步开销),让大家对使用多线程的场景有更清晰的认识,避免盲目使用。不能手里拿着锤子,看什么都是钉子,都想用锤子敲打两下。


总结起来就是,首先学会,然后理解,最终帮助大家能够用对。


当然最最后的一句啰嗦是不能少的。想学会学通一门编程语言,一定的代码量是少不了的。这个事情没有捷径。


题外话:编程入门怎么选


抛开 Java,我认为一门好的入门语言应该具备以下特点


  • 不能太难,也不能太简单

  • 成熟,资源丰富

  • 使用广泛/有被广泛使用的潜质

  • 有深入学习的途径/氛围,能从开始就帮助树立正确的学习编程观


Java 还是比较适合入门的:


  • 难度适中:不至于简单到三天从入门到精通, 也不至于难到让人望而却步。

  • 成熟:坑基本都填平了。

  • 热门:会的人多,有问题很多人可以帮忙解决。如果学一个冷门的语言,会有很多问题。比如资源匮乏,问题没人能解答,环境不成熟等等。

  • 当然还有很多,视频中也说了一些。这里不再赘述。对于入门时的那些门槛,课程中也着重进行了讲述,让大家能够容易的迈入 Java 的大门。


别的好理解,为什么入门的编程语言不宜太简单呢?


如果一门语言纯粹是为了讨好入门者,那么它可能也只能用来入门。Java 是一门实实在在的工业级语言,Java 是有深入学习的路径的。


很多语言简单到不需要深入学习,或者说整个生态不鼓励深入学习。这样的话,一门语言入门即精通,并不是一个好的事情。这门语言做的事情可能只能停留在堆砌代码的水平。学习这样的语言,对于进一步深入学习编程,成为一名合格的软件工程师,并没有太大帮助。甚至于还有坏处。让人产生“编程不过如此”的错误认知。


比如说 basic 语言,作为编程的启蒙语言没有问题,但是太过简单的设计,也让人没有深入学习的欲望/途径。




这篇文章来自极客时间推出的《零基础学Java》中的 FAQ。除了在每节视频课下方回答大家的问题之外,针对大家提出的优质问题或者普遍问题,如果需要更大篇幅的文章解答,则会在 FAQ 中以文章的方式给出回答。带你零基础入门,夯实 Java,课程地址:https://time.geekbang.org/course/intro/181


发布于: 2020 年 05 月 10 日阅读数: 117
用户头像

臧萌

关注

一线程序员,偶尔写写字 2017.10.20 加入

《零基础学 Java》,《职场求生攻略》 视频课作者 《Java入门1·2·3》作者

评论

发布
暂无评论
《零基础学Java》 FAQ 之 零-这门课适合我吗?