wechat : lovan_zhang | 初级程序猿,欢迎交流
在真正接触IT之前,一直都觉得这是一个需要相当水准才能胜任的工作,肯定特别困难,特别的深奥,接触了之后才发现其实也挺简单的,并没有什么难度,虽然这样讲,但为什么学的好的人还是那么少呢?
任何一门语言,基础部分相差都是不大,无非是这么几个基本部分
1.语法
2.变量
3.运算符
4.语句
5.函数
这么些基础的东西互相随意拼凑拼凑,嵌套嵌套就可以实现各种各样的效果,从大的方面来看确实简单的不能够再简单.甚至可以这样讲,只要时间足够,基本上所有的问题都能够被你解决,无论是自己研究出来的,还是去社区借助大家的力量,结果总归是可以出来的.
区别厉害和平庸的关键点就在于,能不能在有限的时间内又快又好的解决问题,编程语言异常的庞杂,随便拿一门语言来讲,比如PHP,官方文档大小近30M左右,这是一个什么概念呢,换算过来,全书将近3000W字,这还只是基础部分,如果再加上各种框架,各种技巧套路,整体的知识量大到让人绝望.基础知识的牢固与否正式却别厉害是平庸的关键点
试想两个程序猿甲( 基础异常扎实 )和乙( 基础不够牢固 ),同样一个任务,两个人在解决问题的思路的反应速度和方向上都是一样的,单纯比拼写代码的能力
根据我的实际经验,会出现下面的一些情况
甲一切顺序,按照思路可以流畅的写下去;
但是,乙可能会碰上这样的一些情况,当碰到需要写一个递归的时候,完全想不起来该如何写,基本格式忘掉了,虽然以前学过,他自己也知道要用递归,也知道自己学过递归,但是在用的时候就是写不出来
也可能是,要对一个字符串进行切割,知道有这么一个切割的函数,但是不知道函数这么写,函数里有几个参数,参数怎么放,完全不清晰,只是知道有是不够的
这样的情况还可以列举很多...
我经常听到其他人这样讨论,"这个问题很简单的,先写一个迭代,然后for遍历一下就OK了",或者"这有什么不会的,"直接绑定一个时间,利用数组就行了".很多人,说的时候一个个都厉害无比,一旦到要写代码的时候,就会发现,大部分人都是嘴强王者,脑子里的东西不清晰,手上根本就出不来
严格来讲,也不能说他们不会,问题的关键点就出在对于基础知识的掌握程度上,基础不难理解,难在基础的多、细,难在要和自己轻视基础的态度去对抗,难在要永不停歇的去复习、巩固和内化
软件开发可以分为三个阶段
1.业务功能,会编程即可
2.业务性能,技术的基础
3.业务智能
由小白变高手的多数人都倒在第一阶段的业务功能都不大熟练的情况下,张嘴就是资源浪费,更有人妄谈组织架构问题.基础为王,永远别觉得在基础上花费的时间太多,没有最多,只有更多