浅谈编程与计算机科学

最近在学校附近的一个招聘类网站做 UI 设计与前端开发。前两天工作的时候,老板突然问我:

你觉得在学校学的这些东西对你写程序水平的提升有没有帮助?

感觉身边很多人对计算机科学这门学科有误解。很多时候,别人问我是什么专业的,我说计算机科学,然后他就会问我是不是就是学习写代码。的确,我们大多数时候都是在敲代码,但计算机科学可不止敲代码这么简单。有时候,会有人看到我做的很 fancy 的网站,然后问我学习了多久才能做出来。我通常会说,你只要去 Codecademy 或计蒜客这样的网站花一天时间刷完 HTML、CSS 和 JS 课程就基本上会做网页了,不过如果想更深入地学习,就要多做项目,在做项目的过程中发现自己想要实现却不知道怎么做的功能,然后去 Stack Overflow 和 w3schools 这类网站搜索或者自己做研究。入门一种编程语言其实很简单,但如果想写出好看又好用的代码,就要多去练习技巧。大学里面的计算机课程通常不是单纯告诉你如何用某一种语言去敲代码,而是教你一种编程的思想。这种思想是贯彻于所有编程语言的。当你拥有了这种思想,日后再学习一种新的编程语言,就能很顺利地了解它的各种特性并运用它做出你想要的东西。

如果将学习编程比做学习某一个国家的语言,那么学习计算机科学就是学习表达的艺术,学习哪些话什么时候该说、什么时候不该说,学习如何用最好的方式去表达一种想法。回到老板问我的那个问题,我的答案当然是肯定的。在我最近的 web 作品中,我更多地运用了函数式编程去写 JS,然而这些并不是我从哪本讲 JS 的书上学来的。事实上,我上学期和这学期的 CS 课所用的语言都是 Python,不过我在这些课程中养成了函数式编程的习惯,后来写 JS 的时候也就顺便用上了。

希望这篇文章能帮大家弄懂编程与计算机科学的区别。