从0到1:
不要告诉我你有多牛B,人类文明从开始到现在,也是从0到1开始慢慢建立的。当今复杂的社会文明,上帝也不是一开始就能设计好的。只要有个1,人就能把他变成2,变成100,变成成千上亿。人类文明就如生物的进化,不断地变异、丢弃与重构。想当初半导体出来时,是多么大一个东西,到今天它的原理还是那样,只是从1变成了亿。人类对技术的应用,大部分时间就是在炒剩饭,只是佐料越来越多,看起来越来越鲜艳。
大部分人学技术,一想到就怕,因为没自信啊。看到那些不懂的,看那些大牛吹的,看那些五花八门的代名词。一看就高深莫测,于是在门外蹒跚徘徊。无法实现0的突破,也就永远不可能有1百,一千。我是半路出家的,开始时做的是机械设计,因为经常要写点软件辅助设计,就爱上了软件,于是一个执着,再回头已是半百身。从0开始学习软件、学习电子电路、学习单片机。常常熬夜到半夜,程序员应该早点娶老婆,有老婆管着,熬夜的机会就少了,娱乐面也宽了。
就目前的热门词汇,如大数据、人工智能、物联网、云计算,似乎任何一个领域都够你喝一壶的。要学的东西太多了,那么多技术,如开发语言java、c++、c#、javascript、Python,如数据库Oracle、MSSQL、MYSQL、非关系型数据库,如分布式开发的中间件、分布式缓存、分布式文件系统、集群,那些什么Apache、Tomcat、Spring。那些看起来的层出不穷的英文缩写,那些层出不穷的时髦概念,让太多人觉得自己跟不上时代了。可是我想问下,真有那么多新技术吗,就如层出不穷的电子产品,有超出那半导体技术概念的吗。
在你追求这些时髦时,我想问下,你对基本电子电路了解多少,大学离散数学、数据结构、算法、操作系统原理学得怎样。如果这些你说没问题,那么那些个技术从0到1太简单了。
那些程序开发语言,都是相通的,编写的代码承载的是逻辑,也就是算法。至于语言格式,可以五花八门,但是实现的逻辑只有一个,就是我们的需求。没有哪个语言就那么好得不得了,很多程序员在纠结自己常用的开发语言。何必呢,有时间都研究下花不了多少时间。一个语言只要编写了一个“Hello world!”,你就实现了从0到1,那么接下来就是不断地应用而已。
当时学单片机,看起来好高深啊,面对那复杂的开发板,不知从何下手。但是当按照手册跑出第一个程序时,就知道自己已经爱上了单片机,虽然自己一头雾水,不知其所以然。开始时很是崇拜那些搞硬件设计的师兄,但他们一样也崇拜那些搞软件的,觉得硬件就是一件苦逼的事情。 于是几个月时间,从单片机的处理器实现原理到外围电路的设计原理,很快就有了专业的感觉,唯一需要多实验验证获得经验的就是EMC。而那古老的汇编语言也是