程序员是如何写代码的,大神日记

作者: 生命科学  发布:2019-09-13
DNA计算机:未来程序员,拿试管“写”代码?

作为一个程序员,常常会有身边的人问我,写代码的具体工作是如何进行的。所以我想写一个系列,以现在手头的项目为例,向对这一行完全不了解的人来解释编程。

上海时时乐官网 1

如今,无论在生活还是在工作中,我们都离不开计算机的帮忙。然而,随着大数据时代的到来,目前电子计算的并行运算速度和存储能力面临发展瓶颈,科学家开始寻找新的计算媒介。

然后你就会发现,只要掌握了恰当的思考方法,编程非常简单,可以说小学生也有可能比大人做的更好。

之所以提这个话题,跟前两天在微信群里的讨论有关,年后本该是跳槽、找工作的高峰月份,各公司面试邀约应该很多,但是听群里的反馈却是不太容易。从行业发展角度看,移动互联网连续火爆数年,已逐步走向稳定;从国家发展形势看,从去年开始,整个国家经济形势不景气,不只失业率增多,好多移动互联网公司裁员、倒闭;从程序员职业角度看,现今「挨踢」培训机构屡见不鲜,大都打着包学包会包分配,三俩月速成的口号忽悠人,导致很多学员没有打牢基础,就匆忙走上岗位,而且培训机构过分鼓吹使得学员们没有真正认清自身实际,没有正确定位!

近日,加州理工学院的科学家研发出可广泛编程的DNA计算机,其有望完成多重计算任务,相关成果刊登在《自然》杂志上。

以一个啫喱球的实现开始吧,这个啫喱球是我现在项目中需要出现的一个弹性的可变形的球,要求弹起来duang duang duang 的。如下图:

建议大家这段时间不要裸辞,边工作,边寻找机会才是最好的选择。「裸辞」倘若一时找不到工作可能会导致心慌,没有安全感,甚至会产生「自我怀疑」和「自我否定」!如果在职场暂时迷茫也不要心慌,因为只有经历过了痛苦和绝望之后,才能够「浴火重生」,找到方向。

那么,DNA计算机的原理是什么?与传统的电子计算机相比它有哪些优势?科技日报记者带着这些问题,采访了相关专家。

上海时时乐官网 2

从本质上区分,一个是被动,一个是主动

电子芯片发展遭遇物理极限

作为一个又经验的码农,当然首先要思考如何实现这个东西,并且要坚信,世界上没有码农无法实现的东西。既然有弹性,那显然和弹簧有关。所以我首先需要建一个辅助的简化模型。象这样:

由于近几年来移动互联网行业实在火爆,程序员这条路已经由10年前的「羊肠小道」,修成了「康庄大道」,跟高速公路似的,但是还是挤,拥挤的跟北京早晚高峰的地铁似的,涌入的人越来越多,感觉门槛似乎很低。很多人看准了计算机行业工资高,好就业,转行当程序员。其实不然,一个行业健康的发展是因为有很多有兴趣,有爱好的人涌入,这部分人由于兴趣和爱好,喜欢钻研,想要更深入的去了解底层知识和原理,所以容易提高,这就是优秀的程序员,而大部分人是被现实所逼迫,从而选择了一个职业,逼迫往往而导致被动,时间久了就会变得平庸。中国有句俗语叫「心随我动」,一旦从事了这个行业,时间久了,差距就会慢慢拉开,所以优秀和普通从根本上就有差别。

在介绍“大神”DNA计算机前,我们要先讲讲它的“前辈”——电子计算机。

上海时时乐官网 3

从能力上分,一个是搬运工,一个是设计者

别看电子计算机能为我们解决很多难题,但对于一些难度较大的数学问题,它也束手无策。例如,哈密尔敦路径问题,即假定存在多座城市,计算机要规划出一条经每座城市且不重复的最短路线。当城市数量少时,电子计算机或许能在短时间内给出答案,但当城市数量多至100个时,电子计算机就会“忙不过来”,要找出这条路线或许需要数百年。

程序要做的就是实现四根弹簧,然后把四个弹簧上绿色的点连成曲线,就构成了最终的啫喱球:

「能写代码」是愚公移山

上海时时乐官网 ,在生活中,我们或许很少会遇到这类“烧脑”难题,但在大数据时代,由于数据存储量的激增,大体量计算任务也会随之增多。

上海时时乐官网 4

上海时时乐官网 5

“如今,传统电子计算机的算力逐渐接近‘天花板’,未来可能无法满足巨大的计算需求。” 厦门大学信息科学与技术学院教授刘向荣介绍道,为了提高计算机的运算速度,其内部电路的集成度会越来越高,芯片上的晶体管也会愈发密集。目前管道之间的距离约为10纳米,该距离一旦小于1纳米,就会出现问题。比如,电子在运动过程中将穿过晶体管壁,“乱成一锅粥”,无法再形成稳定有序的电路,致使计算无法正常进行。

上海时时乐官网 6

为什么说能写代码是愚公移山呢?我们中国大部分程序员都应该处于一个初级程序员的水平,怎么讲?只有少数的程序员处于中高级水平。愚公移山就是愚公为了有一条近道,而不停的去挖山,子子孙孙重复的去做同一件事,就像我们编程,如果你一直在公司重重复复的当代码的搬运工,天天就会写界面,这就是能写代码!即使你有10年的工作经历,但是经验就是刚当程序员那一年!十年如一日的做同一件事,你确实足够坚持,也不否认你有爆发的那一年,就像愚公一样需要中彩票的几率依靠两个大神帮你解决问题。

“按照摩尔定律的说法,集成电路上可容纳的元器件的数目每隔约18到24个月便会增加一倍。”刘向荣说。

那首先需要实现的是一根弹簧,还记得初中物理学过的胡克定理吧,哈哈哈,忘记了可以百度下,就是一个乘法,通过公式,我们可以计算弹簧在压缩到某个点后它受到的力,从而最终得出绿点的速度是多少。这个时候,有经验的程序员会考虑先写一个弹簧零件的代码,然后组装四根弹簧形成上图的十字零件,然后再根据十字零件,加工一个啫喱球零件。对!这就是行话“面向对象”, 也就是说你考虑问题的时候不是考虑如何实现,而是考虑场景里都有些什么东西,然后把这些东西都组装起来。

能写代码是一个基础水平,初级能力,要想走的高,看的远,不要「安于现状」,勇于攀岩和破冰,才能改变世界。中国现在的基础情况是不缺乏初级程序员,而是缺乏大部分中高级程序员,这就是为什么大部分公司在招聘的时候为什么喜欢3到5年工作经验的程序员了,喜欢归喜欢,这个限制只不过是提高了他们能招聘到中高级程序员的几率罢了,毕竟「十年如一日」的程序员占据了市场的大部分。

不过随着芯片技术的不断发展,摩尔定律也逐渐遇到了物理法则的限制。目前,晶体管的体积已达到纳米级别,继续缩小的可能性正在变小,摩尔定律所预言的发展轨迹似乎已再难延续。

所以现在的思路很简单: 1:)写一根弹簧 2:)把四根弹簧组装成一个十字弹簧 3:)把十字弹簧组装成一个啫喱球。

「会写代码」是女娲补天

于是,部分科学家开始寻找能力更强大的、可突破目前电子计算机瓶颈的下一代计算机。

下面我来详细解释,如何用代码来实现这些,你会发现,编程语言其实压根不重要,我总体设计占开发时间的90%, 然后用编程语言来实现也就10分钟不到。但是如果是一个没有总体设计的程序猿,也许需要一周的时间来实现。

上海时时乐官网 7

利用生化反应在液体里进行计算

首先,实现一根弹簧的设计。对于编程来说有个好的套路,按这个套路走就能又好又快。这个套路就是:对于一个部件(行话就是“对象”啦)的设计,你首先要问自己,这个部件工作的时候,需要设置什么,最终得到什么。比如一根弹簧,你肯定需要设置它的弹性系数,固定点的位置,弹簧放置的方向,摩擦力(如果摩擦力为0,那就停不下来啦),它放松时候的长度,你要把它压缩或拉长的长度。

女娲补天?这又怎么讲?优秀的程序员就像女娲一样,拥有极其强大的能力,不仅仅可以探索和创造,也能及时出手,写出如五彩石一样漂亮、严谨的代码去补天,堵上天一样的大窟窿和大漏洞,还人类一个美丽的「天上人间」,保持程序「完美运行」。如果人间恶魔兴起,扰乱民心,她可以有的放矢,一招制敌。优秀的程序员就是如此,他不仅仅是能写代码,而是会写代码,这种高境界的水平,不仅仅是有经验,经历过大大小小的崩溃战争,而是在制敌中探索和学习,如何保卫程序稳定生长和运行,把恶魔消灭在萌芽般的象牙塔之内!

本文由上海时时乐官网发布于生命科学,转载请注明出处:程序员是如何写代码的,大神日记

关键词: