2019-2020 191316《信息安全专业导论》第八周学习总结

教材学习内容总结

这一周学习了参数传递,明白了值参与引用参数的区别。在第九章中学习了面向对象方法的四个方面,认识了编译器和解释器,命令式范型和声明式范型。课上复习了抽象

教材学习中的问题和解决过程

问题1.对函数式编程略有疑问
解决方案:查资料
函数式编程是一种编程模型,他将计算机运算看做是数学中函数的计算,并且避免了状态以及变量的概念。
https://www.cnblogs.com/kym/archive/2011/03/07/1976519.html这篇博客对函数式编程的介绍很详细
函数式编程的优点
在函数式编程中,由于数据全部都是不可变的,所以没有并发编程的问题,是多线程安全的。可以有效降低程序运行中所产生的副作用,对于快速迭代的项目来说,函数式编程可以实现函数与函数之间的热切换而不用担心数据的问题,因为它是以函数作为最小单位的,只要函数与函数之间的关系正确即可保证结果的正确性。
函数式编程的表达方式更加符合人类日常生活中的语法,代码可读性更强。实现同样的功能函数式编程所需要的代码比面向对象编程要少很多,代码更加简洁明晰。函数式编程广泛运用于科学研究中,因为在科研中对于代码的工程化要求比较低,写起来更加简单,所以使用函数式编程开发的速度比用面向对象要高很多,如果是对开发速度要求较高但是对运行资源要求较低同时对速度要求较低的场景下使用函数式会更加高效。
函数式编程的缺点
由于所有的数据都是不可变的,所以所有的变量在程序运行期间都是一直存在的,非常占用运行资源。同时由于函数式的先天性设计导致性能一直不够。虽然现代的函数式编程语言使用了很多技巧比如惰性计算等来优化运行速度,但是始终无法与面向对象的程序相比,当然面向对象程序的速度也不够快。
函数式编程虽然已经诞生了很多年,但是至今为止在工程上想要大规模使用函数式编程仍然有很多待解决的问题,尤其是对于规模比较大的工程而言。如果对函数式编程的理解不够深刻就会导致跟面相对象一样晦涩难懂的局面。
问题2:第九章中设计了多门语言,对他们的范型不清楚
解决方案:结合选做作业和上网查资料

问题3:在vscode中运行python出现了一些问题
解决方案:同学帮助解决,已可以运行

posted @ 2019-11-18 21:09  20191316王秋雨  阅读(117)  评论(0编辑  收藏  举报