这是很多同学都比较关心的问题,结合编程语言的学习和应用特点我来说说个人建议。
首先,学习编程语言并不是目的,运用编程语言来解决具体问题才是目的,所以要想在学习编程语言的过程中有更好的学习体验,应该给自己营造一个运用编程语言的场景,这样更容易在学习编程语言的同时获得一些正向反馈,从而建立起学习的成就感。
编程语言本身作为一种工具并不难掌握,真正的难点在于编程语言背后的算法,以及如何通过编程语言来调用各种抽象资源,所以在学习编程语言的不同阶段,要有不同的侧重点。
学习编程的初期要重视通过大量的实验来给抽象概念建立起画面感,理解了编程语言的抽象层次,以及各种抽象之间的关系,也就为运用编程语言奠定了基础,而这个过程并不困难,大部分同学都可以通过自学来完成。
在掌握了编程语言的基本语法结构之后,要结合自己的主攻方向来学习并运用编程语言,比如做机器学习方向的同学,此时就可以通过剖析经典案例来学习编程语言在算法实现过程中的具体用法。
编程语言的学习一定不能脱离场景,而不同场景下编程语言所面对的资源、框架、开发库等内容都会有所区别,所以通过复现案例来理解并掌握一些经典的用法(模式)是比较常见的学习方式。
在复现了一定数量的案例之后,接下来就需要在实际场景下来运用编程语言了,这既是一个运用编程语言的过程,同时也是一个学习的过程。在实际场景下运用编程语言不仅能够积累编程知识,还会积累一定的场景知识,这对于后续的科研创新和就业都会产生非常积极的影响。
以我的课题组为例,很多同学刚开始进组的时候并没有较强的编程能力,即使一部分同学具有一定的编程基础,在新的课题项目场景下,很多内容也都需要从头学起,但是绝大部分同学都能够在较短的时间内顺利掌握并运用编程语言,所以学习和实践场景对于学习编程语言的效果会产生非常直接的影响。
我目前联合多名导师共同打造了一个技术论坛,在持续围绕前后端开发、大数据、人工智能等方面开展科研实践、项目实践和知识分享等活动,目前论坛正在开展科研兴趣小组活动,论坛也为一部分编程基础薄弱的同学设立了专门的讲座,感兴趣的同学可以联系我申请参与,相信一定会有所收获。
最后,如果有编程语言相关的问题,欢迎与我交流。