要有生动的例子
看了多少编程类书籍,很大一部分是以语法开始,例子也显得很干枯,无趣,最后让人崩溃,很多人学到一半(可能是十分之一就看不下去了)就已经被吓到了,进而放弃。也可以看到少部分好的,开头就给出生动的例子和展现效果,让人产生浓厚的兴趣之后,进而展开,逐步分解讲述语法和思想,又或者每章开头就给出例子,进而针对例子讲解,并给出引导性的练习。如果没有生动的例子,只是一堆代码片段的罗列,很难吸引人,让人对这些古怪的文字产生兴趣。
编程环境的搭建要有足够好的引导
不能不说最适合初学者的环境还是Mac系统环境,最差的就是Windows系统环境,等你的是无数的坑,你就等着跳吧。稍好一点的是Linux的Ubuntu,为什么?因为有足够多的人用,所以可以找到的问题解决方法较多。这里就涉及到什么语言了,比如静态语言,都得需要编译器和链接相关的工具,加上配置等,都可以把新手直接挡在门外,这需要足够好的引导,能够迅速让新手搭建起环境的教程,而动态语言如Ruby,Python,Mac系统环境直接就已经装好,直接用,Javascript就更简单了,有个Chrome浏览器就可以开始玩了。
要有在线版本和社群
编写程序本身一样,实现之后,总会有各种各样的Bug,就需要测试,修正,就算经过这些测试修正,系统上线仍然会出现一些Bug,有些还是比较致命的Bug,还需要灰度发布,众测,迭代的过程。书籍,特别是编程类书籍,除了编辑的修正、测试之外,也需要灰度发布,众测,不断快速迭代更新的过程。
说实话,编程类书籍已经不适合出纸质书了,一旦出现了某一差错,这样的差错可以是代码片段的拼写错误或者完全是逻辑错误,也有可能是环境/依赖版本变化造成的这种错误,这类错误对读者都是灾难性的,为什么,浪费读者的精力,而且买的越多越害人,进而让很多原本有潜力的同学不能入门,害人呐。纸质书完全实时更新,要等下一版本需要很久的时间(最快估计也得三个月),根本无法解决这类问题。还有更为重要的是,IT界的知识迭代的非常快,今天可以用的库,API,明天可能已经不能用了,加上操作系统,数据库的变化,说的夸张一点,几天,纸质书已经不适用了。
有了在线版本,就可以随时修正,修订,根据环境的变化随时刷新(迭代也是秒级的),加上必要的论坛,群组支持,书籍完全可以形成内容经济,单独的IP。
在线版本除了这些之外,可以充分利用现有网络形式,文字,音频,视频,VR等设施,形成立体的信息传递。
总结
也许做好这些,编程书籍就不仅仅是书籍了,哈哈。反过来想,入门编程也就不是单单看书的形式了,毕竟这已经是新的时代了,