如果你正在学习JavaScript,建议你读读《Eloquent JavaScript》这本书。
现在这本书出到了第二版,它既有纸质版本,更有电子版本。电子版本在作者(Marijn Haverbeke)的网站上公开,免费下载。
有三个版本,PDF,EPUB,MOBI可以下载,同时还有网页版本,直接在网站上看。
推荐直接在网站上看,为什么呢?
因为他有一个神奇的功能,所有书中的代码片段可以在网页上是直接编写和运行,如果你上过慕课网的课程,会发现涉及前端的课程基本上是可以在线运行的,而这本书的网页版也做到了这一点,因此对我们来说,这本书的阅读体验是极好的,不需要切换界面,编辑器弄好去调试运行。
也许你会说,你可以打开浏览器,按下F12,然后点开sources,点开snippets,在这里进行调试运行。但,我想说,这还是得拷贝,变向的拷贝了一次。
想想看,C语言书籍中代码是怎么编写运行调试的,Eloquent JavaScript的代码调试运行,这里的效率压根是数量级的差别。随着机器硬件性能的发展,我认为,类似JavaScript的语言必将是替代过去的语言,编程语言尽可能的接近人类的语言,让人们的想法变成为实际的产品的时间尽可能的缩短,同时编程过程足够简单。
马斯克在YC的采访中说,
So I think if we can effectively merge with AI byimproving the neural link between your cortex and your digital extension of yourself, which already, like I said, already exists,just has a bandwidth issue. And then effectively you become an AI-human symbiote.
我们人类的想法实际上是很快的,读金庸小说《射雕英雄传》就有黄蓉在应对各种应急事物中,脑子里面就会展现出10几种解决办法,从中选出最优的一个。现实中你可能在开车的时候,上课的时候,洗澡的时候,脑子不停的运转,并且展现了N中想法,但是我们的身体里面真的没有"硬盘",没有办法存储起来,也许你说我们有了手机,你可以记录,但是开车,洗澡,上课的时候你怎么记录,也许语音录制是一种模式,但还是不够快啊,因此马斯克讲到的能够增强我们的脑子到身体扩展的带宽的设备/系统,是非常强烈的需求,如果这个需求满足了,人类的创新,沟通将会更上N次元的层次。
增加带宽的实现也许有很多办法,也许目前也还没有好的解决方案,大数据也好,云计算也罢,都是一种可能,但无论如何,编程是缺不了的,而能够将想法快速变为现实的编程语言更加是一种需求了,事实上趋势也是如此。
以目前来看,JavaScript确实是比较符合这个趋势的语言,并且覆盖面很广,除了web前端,现在后端,PC软件,嵌入式,物联网领域都已经崭露头角,关键的一点,它就像Github出品的ATOM编辑器,既可以让新手很容易掌握,能够用得上,用起来,同时能够让黑客深度定制,变为一个神器;JavaScript对于新手来说,很容易掌握,而且很快能用起来,同时因为比较灵活,可以让黑客们尽情发挥。
再看看趋势,如最近比较火的剧集《西部世界》,通过和机器人聊天调试、类似谷歌眼镜的东东来观察,也许未来的编程就是通过对话呢?