随笔-浅谈抽象

作者: 走山停水 | 来源:发表于2020-09-10 22:37 被阅读0次

2020_08_20

对于“抽象”一词常存在于生活中,比如“你说的这个东西好抽象,能不能具体点”,“数学是门很抽象的学科”,“画画有抽象画,抽象派画家”....很多时候忽略了抽象本身。

因为刚进入工作,面向的是一套很大的软件工程,使用c以面向对象的框架。对于面向对象的思想并不深入,又在看《c++的沉思录》的第一章,对比了c和c++在解决现实问题的考虑。作者坚持实用和抽象的两大核心介绍了c++,很青睐于抽象这个工具。再次结合从小学到大的数学,类比下,仿佛我抓住了什么,又似没有什么。

1.数学中的抽象

学了十几年的数学,从1+1开始二元一次方程、为积分、傅里叶变换...

不难发现从“一块钱加一块钱..."抽象成1+1,鸡兔抽象成xy,把电场和磁场的关系抽象为麦克斯韦方程...

数学把抽象用的淋漓尽致,极力的尝试把所有的东西抽象成几个字符。寻求着事物的本质,用简单的语言表示。力求“万物皆数”。

这种能力从小也在培养,数学的应用题,通过自己对题目的解读,抽象为自己所学的数学解决方法。又会试图把做过的题归类为一类问题。找规律的题,比如找规律时,一串数字,得出一个数列...其实都在锻炼当我们遇到问题时把它抽象成数学问题去解决。

大概就是,由具体引入->抽象为数学字符->具体问题->抽象数学方法解决。

2.软件的中的抽象

抽象是选择的忽略,比如你要驾驶一辆汽车,又必须时刻关注每样东西是如何运行的:发动机、传动装置、方向盘等等,那么你永远也没法开动这辆车,要么上路即发生故障。

通过建立抽象去忽略此刻不那么关注的因素。c语言程序员其实比起java等程序员是比较痛苦的,c要求使用者时刻知道自己在做什么,在写程序,还要关注着内存分配,申请,释放、计算开销等等,指针可以“为所欲为”。而c++/java类自带面向对象的特性的语言,很多时候避免了“关心更多的东西”。项目之间以接口的方式,每个项目的成员几乎不用关注接口以外的东西。将其抽象为一个个“子程序”,简化复杂的问题。

在分层中的抽象:工程软件大,从硬件到用户,为了把复杂的为题简化。往往进行分层,常见的TCP/IP的四层模型OSI七层模型。一般的嵌入式软件工程可以分为,驱动->硬件抽象层->操作系统层->应用层->用户层。

嵌入式里面还有很多抽象的概念,比如寄存器的访问、内存。都是为了简化我们对于硬件的操作。

3.生活的抽象

这就很amazing啊,大数据下,每个人都被抽象为数据...找工作时被抽象为商品..

生活的抽象,精神层面那就充斥着很多信念,认识的抽象。王阳明龙场悟道,“圣人之道,吾性自足,不假外求”。是什么,是良知。理学大师程颢将做学问抽象为“学要鞭辟近里著己。”,“生活不止眼前的苟且,还有诗和远方”引起了很多人的共鸣,做成生活态度。

精神世界与现实世界的共存,着力于一平衡点。把人抽象为一个个孤独的个体时,是否寻得到一片清欢。又与之随波逐流,随浪而起,或是昏昏闷闷。也不过饥来则食,困来即眠。

相关文章

网友评论

    本文标题:随笔-浅谈抽象

    本文链接:https://www.haomeiwen.com/subject/xxmmektx.html