编程是否真的要很了解基础?

看到许多帖子都在讨论这个问题,但最终还是让我疑惑。怎样说的都有,我是初学Java本身基础就不怎么好。大专三年学的乱七八糟无一精通,最后决定淌Java潭深水。都在说Java是OO面向对象,我现在学到hibernate了也对面向对象没什么概念。做项目感觉都会做,知道怎么用怎么写。但是底层到底怎么执行根本不了解,那么工作当中开发也不需了解那么深。话又说回来到底那些底层的东西是不是该去深入了解呢,许多编程高手到最后发现都是在Ctry+C\Ctry+v。那么对于我们是不是要向高层次去想而不想底层怎么执行呢。我觉得也有些道理,就像开汽车没必要知道汽车是怎么造的一样,可是汽车坏了怎么办?真正的高手是造汽车的人还是把汽车开到极致的人呢?我们到底该怎么学习编程呢?

面向对象是一种编程思想或方法论,不妨先看一些这方面的书籍(这就是基础啊,需要慢慢的领悟和掌握,是个慢功夫);再则就是编程技巧技能的积累和应用了。可以深入优秀的工具内部的代码看看,看看别人的代码是如何应用OO思想和方法的,以及应用语言编程时的技巧。

高手不是从表就能看出来的,一个码农也能把ctrl+c和ctrl+v用得娴熟。


汽车的零件,是一个“造轮子”问题,也就是架构,或者一些基础组件。我们为用户开发软件,就如为买车客户量身订造一套汽车一样。根据用户需求,而组装零件,而不是一早已经决定下来的。决定下来的那是强卖,或者说是卖量产型。

还有注意,用户不是开发者!!!用户用汽车坏了,当然找代理或者服务商或者工厂。难道要用户自己修理?用户是开发者的客户,用户懂不懂修理(编程)都没有任何关系。

高手是谁,我不知道。但我知道,是开发者为客户开发软件。我倒问你,你说“游戏竞赛高手”和“游戏开发高手”是一回事么,他们能混在一起比较谁是高手么?请你问下你自己:我是在开发软件,还是使用软件。