首页 > 新闻动态 博客日记
学会编程, 而不是学会Java编程
21-05-04新闻动态围观690次
简介 “学霸”讲究方法,思维闪闪,一两拨千斤;“学渣”讲究源码,源码多多,搬来搬去。同样是学Java,但收效却大相径庭,薪资待遇也三六九不等,其中之缘由你可曾想过。Java编程是当下的一大学
“学霸”讲究方法,思维闪闪,一两拨千斤;“学渣”讲究源码,源码多多,搬来搬去。同样是学Java,但收效却大相径庭,薪资待遇也三六九不等,其中之缘由你可曾想过。Java编程是当下的一大学习热门,但在这漫天学习热潮中却存在一个基本的学习问题,尤其是对于Java初学者更为普遍,那就是:只学会了Java语法,而没有学会Java编程。
为什么会这么说呢,看个例子。下面是一个SimpleList的类,模仿ArrayList,已经将接口定义好了,具体实现的业务如下:
通过测试发现很少有人可以顺利的将这几个方法实现,哪怕是粗糙的完成也没有。
如果你感兴趣也可以用你所擅长的语言来尝试一下。现在我们返回来看这个题目其实很简单,既不要求实现复杂的算法,也不要你进行面向对象的设计,更不要考虑多线程下的线程安全问题,而且还给了你提示:用一个Object数组来实现。如果说涉及到语法方面的知识,也就是使用了一点泛型。但是,把泛型去掉后,他们仍然实现不了,因为这个类逻辑的核心不是泛型。
它的核心就两点:
1.可以在数组增加数据,并且记录size,如果数据的空间不够了,需要增大空间。
2.可以数组所指定数据,并且能够把删除后的数据进行前移。
这就是编写程序最基本的素养,很难吗?编程的本质,和采用什么语言没有太多关系。
不光是Java , C#, 或者Python, 这个测试结果也不会差太多。
出现这个问题的根本原因就是:很多编程学习者缺乏对最基本的算法和数据结构的训练,是以人的思维去思考,而不是通过计算机的逻辑思维方式。最基本的问题就要用最基础的方法去解决,如果你存在这样的问题,那就多实践 多编码,找一些数据结构和算法方面的习题去练习,尤其是算法方面的问题,一定要把功夫用在平时,爆发性的冲刺是不能快速提升算法能力的。
如果,你选择码农为职业,这种编程的能力和学习能力是必不可少的,不管你是在学习还是初入职场,不妨就从现在开始,把缺失的能力补上。
Tags: