学习软件开发的方法
在当前有大量网络资源(尤其是官网提供的教程与参考资料)与人工智能辅助的情况下,我们应该完全抛弃传统的那种只围绕一本书进行学习的方式。我觉得(同时也正在实践与体会的)更为合理的方式是:
- 选择一本书 集中、快速地 阅读,提取并记录要点。仅将其作为 线索与引子 ,尝试形成对基本思想与工作机制的基本理解。
- 迅速 进入与人工智能交互、探讨的模式,对上述不成熟、未定型的基本思想与工作机制予以澄清。
- 立即 动手写代码,尤其是能够与笔记内容相结合并交互执行的代码。例如,用于编写 Python 代码的 Juypter notebook ,适用于 Julia 语言的 Pluto notebook ,以及支持更多语言的 Emacs Org mode 。通过动手实践,应印于心,就可以验证或修正我们已经获得的认识。
- 对于比较复杂的技术,例如 CUDA 编程、 TBB 并行程序开发,经过上述过程我们尚不足以形成深刻的理解,所以仍需进一步系统、深入地学习教程与手册。
- 针对需要用到的功能模块,展开具体深入的学习与练习。
- 对于我们没有相关经验且较为复杂的技术,在将其运用到我们的项目前,先编写小的测试与演示程序,待将相关技术掌握得熟练无误后,再实际应用。