触及软件架构(个人随笔)
这里说的架构是只软件的架构。在谈及架构之前,需要想一下软件,什么是软件,软件的生存环境,以及软件的功能与实现目标。当初感觉:“多好笑啊,软件就是运行在计算机里边的啊,生存环境就是计算机嘛,功能目标就是帮助人们干活呗”,不错,确实这样,但是随着时间推移,觉得应该重新回到最初点来认识这个词,重新思考什么是软件,考虑软件的特性和软件的生态环境。
理解某个概念,或许首先应该从汉字本身理解,汉字表意文字,每个汉字都有含义(除了因意外来词),直观的字面意思或许就是我们区别某个概念的原始钥匙。从字面最原始的意思去理解某个概念本人觉得是非常重要的。
软件,我们大陆成为“软件”,台湾成为“软体”,叫法不同,但是对比,会发现有个共同的字,就是“软”字,这个软字充分体现了它的特点,软,意味这需要其他物体的支撑,不能独自存在,必须依赖“硬件”或者“硬体”来实现生存。从计算机的角度来说,工作的进行是依靠执令,执令需要按照特定的顺序来组织,按照特定的方式组织的执令流,就是程序,大陆叫做“程序”,台湾叫做“程式”,“程序”,字面理解,根据某个过程而组织起来的命令序列,“程式”,字面理解,根据某个过程组织命理的形式,其特点都是对命令的特定组织形式。而这个命令如何组织,就需要根据现实需要,模拟人的工作方式来指定这个组织形式,建构软件,本身就是对现实世界事物的模拟,是现实世界的模拟映像,而这个模拟,正常运行需要的一切资料(除了硬件支撑),就是软件。
计算机是为人服务的,是帮助人们生活工作的,那么计算机肯定就是帮助人们完成现实中的某些工作,所以计算机软件就是对现实事物的虚拟实现,发挥计算机计算速度快,存储容量大的优势,来延伸人脑的功能,提高生活工作的效率。计算机程序本身就是对人类的思维现实世界的模拟实现,是现实世界的事物的虚拟映像,它根源于现实世界。那么,只要现实世界的某个事物(对应某个软件)正常存在,可以正常运作,那么对应的软件就应该也可以正常存在,正常运行,二者是对应的。进一步说而多数计算机软件遇到的问题的解决方式就在现实世界中。建立虚拟世界和现实世界的对比思维,或许使得我们构建软件过程的某些困惑豁然开朗。一个自然界完整事物,正常的存在运行,那么对应的计算机软件就应该可以实现,并且正常运行。
“道法自然”,这句话不错,软件取法自然或许也是一种思维途径。
触及软件架构(个人随笔)相关推荐
- 读《周志明的软件架构课》--学习笔记和感想随笔
主要记录对周老师的<周志明的软件架构课>的学习笔记,本篇章是对课程不可变基础设施部分的学习,从虚拟化的技术理解容器技术的产生和发展,从部署运维角度理解应用的封装,从网络虚拟化理解容器网络, ...
- 软件开发延期引发纠纷-律师随笔
软件开发延期引发纠纷-律师随笔 吴国平 北京市隆安律师事务所 笔者曾经承办多起软件开发合同纠纷,部分案件由法院判决,部分案件在仲裁委员会仲裁结案.笔者发现仲裁委员会在认定软件纠纷案件时的思路 ...
- php输出甲子年,六十随笔 (献给自己的甲子年)
六十随笔 (献给自己的甲子年) 总感觉,一个甲子那是很久远的事情,却在我们身边转瞬滑过,真是谁也抵抗不了时间的磨砺. 2012年是龙年的壬辰年,12月份迎来了我的六十周岁甲子年. 六十个春寒秋月,六十 ...
- 软件开发随笔系列一——分布式架构实现
软件开发随笔系列一--分布式架构实现 文章目录 软件开发随笔系列一--分布式架构实现 理论基础 分布式架构的实现 内核框架 应用开发 基础设施 服务接入 监控 日志监控 调用链监控 度量指标监控 健康 ...
- 1024程序员节前夕,Bug与Debug的随笔
bug的本意是指昆虫.小虫.损坏.缺陷等意思,在互联网时代还有一种引申意义,用来形容某人/物超乎想象的厉害,那简直就是开挂的人生,系统的bug! 一般地,在码农的世界了,bug是在电脑系统或程序代码中 ...
- 专访架构师周爱民:谈企业软件架构设计 1
最近在网上读到了"杀不死的人狼--我读<人月神话>"系列文章.是周爱民关于<人月神化>的读书心得.<人月神化>在软件工程里一本很有分量的书,讲述 ...
- 专访架构师周爱民:谈企业软件架构设计[转]
这点说的很好,要从整体上考虑,不要过于追求细节,要站在巨人的肩膀上. 转载地址:http://blog.csdn.net/EricLee00/archive/2007/03/19/1533572.as ...
- 如何设计网络应用:让软件架构101在项目早期做出正确的决定
全文共6320字,预计学习时长19分钟 如果你想建立自己的网络应用程序.你有创建的理念,但现在的关键是建立正确的架构. 在这篇文章中,我们将讨论这些关键内容: ·什么是软件架构? ·为什么软件架构很重 ...
- 分布式软件架构——单体架构
序言 当一项大工程需要大量人员共同开发,并保证它们分布在网络中的大量服务器节点能够同时运行,那么随着项目规模的增大.运行时间变长,它必然会受到墨菲定律的无情打击. Murphy's Law:Anyth ...
最新文章
- sublime text3 格式化html代码
- 编程思想之多线程与多进程——以操作系统的角度述说线程与进程
- python画图哆啦a梦-使用Python的Turtle绘制哆啦A梦实例
- Tomcat Caused by java lang OutOfMemoryError PermGen space
- 拖机软件Betwinnbsp;VSnbsp;2.0.0.368+破解…
- [Python从零到壹] 四十三.图像增强及运算篇之图像点运算和图像灰度化处理
- 为什么要发布海外新闻稿,海外稿件怎么写
- ESP-BOX LVGL ask_wdt: Task watchdog got triggered问题 物联网
- hdu2822(会双搜后再写次)
- 2019年架构软考论文押题(二)
- c语言300行代码大作业,C语言300行代码
- C语言的运算符和表达式
- NOIP2016——蚯蚓
- 匿名内部类会导致内存泄露
- 软件测试工程师如何优雅的“甩锅”
- Vue的快速入门通俗易懂(学习笔记)
- RT-Thread:U盘读写
- 第一范式、第二范式、第三范式、巴斯-科德范式、第四范式、主码、候选码、码详解
- 云服务器Windows server 2012 R2 搭建网站
- python-查找字符串位置
热门文章
- 关于binary diff / patch 差分补丁工具的那些事
- 5GMM和EMM service request介绍
- python儿童入门教程-python儿童教程
- 2022/07/25 吉软 Java基础(10)面向对象——多态
- targetTouches、touches、changedTouches的具体区别
- harris角点检测c语言,Harris角点检测原理及实现
- 安全军火库:渗透测试工具流行性大调查
- 入门必看 | 如何高效实现矩阵乘?万文长字带你CUDA入门
- twelfth day for learning
- iOS开发:iPhone设备图片、音乐、视频获取实践