软件工程,顾名思义,是一门用工程化的思想去开发软件的学科。它实际上是一个工程,并不是大多数人所以为的,软件工程就是开发软件这么简单,写写语言代码这么幼稚。
数学和算法以及基础课,在计算机领域中极其的重要,是我们最需要学好的!前段时间,曾经看到有篇文章,大致讲的是,现在的开发都是基于新技术、基于框架、基于封装进行开发,花时间去学数学呀,算法呀,基础课的话,真的没什么必要,因为,开发的时候,根本就用不到!说实话,从完成软件产品的角度来说的话,还真是,因为我大二做了一年的项目,所以做项目的流程也非常清晰,做的过程中,基本上所有的组件,网上都有,我们只需要在其上修修改改就能完成一个“秀色可餐”的作品。你想要什么技术,在开源的世界,总能找到你想要的。但是,你想过没有,你自己能不能做出一份属于你想法的作品,如果,没有这些资料,你还能做的出吗?而我相信所有的有梦想的程序员,都想通过自己的知识去创造一个属于自己想法的代码,而要做到这样的追求,就必须懂计算机基础课中的知识以及数学和算法。不仅如此,如果你在这些知识学的好的话,你在开发软件的时候,会特别的有感觉,真正的做到了知其然知其所以然的境界。举个简单的例子吧,操作系统,这门看似与硬件打交道的学问,其实,如果你善于学习的话,会从它的一些机理上学到很多的启发性的思想,比如,批处理思想,你想过没有,一些管理系统,现在很多是人工的吧,但是,我们其实可以写一个批处理文件去解决这些人为操作(不是写在后台逻辑那么简单,而是直接给客户,让客户去启动它解决)。还有其它的一些算法,也特别的值得在做软件解决问题时思考,比如信号量机制。数学和算法就更加了,现在的机器学习,说实话,你如果数学没学好,那机器学习基本上已经不是你的菜了。这种本源的知识,看似用不到,但是只要你花心思琢磨琢磨,就会发现,它的博大精深,对你对一些技术的理解,学习,创造,非常非常有帮助。
当然,在软件工程中,你的编程功底也要学的好,而学编程的方法,就是多敲代码,多练习一些项目。对于一门编程语言,如果你要去知其所以然,说实话,这非常难,它不是数学,它根本无从证明及推理,很多东西,特别是面向对象的语言,都是封装好的。学一门编程语言,学的最快的方法,就是一个礼拜的时间记住相应的语法后以及使用场景后(就是单纯的知其然),就开始大量的敲代码,直接敲,不要去探究为什么。
总而言之,在软件工程的理论学习上,就是要重基础,技术学习上,切记不要知其所以然,只需知其然就可。
原文地址:https://www.cnblogs.com/s000/p/9164553.html