程序哲思(2)

端午记忆:从穿孔卡片到智能终端 从打孔机到量子计算,从碱水粽到冰粽,变的是形式,不变的是对美好的追求。在这个AI生成代码的时代,我们更需要守住那些像粽绳一样,将过去与未来系在一起的文化基因。愿各位年轻同行在追逐新技术的同时,也能在传统节日中找到那份"程序员的诗意"。毕竟,人生不只有递归和循环,还有热腾腾的粽子和静静流淌的时光。 阅读详情

第一篇中,从未涉及程序是什么这个问题,让人懊恼,不过你将马上看到对这个问题的探讨。

          先说下,集合上的运算。但愿你还记得什么是映射,什么是函数,如果你曾上过高中。简单例子说明如下:

          y=2*x     还记得这个简单的函数吧,应该初中就见过了。还记得,x叫做自变量,y叫做函数吧。这里规定x的取值来自集合{1,2,3,4,5},起个名叫集合X,y取值来自{2,4,6,8,10},起名叫集合Y。

          我们知道加减乘除是数学运算。这里要把运算概念拓宽,揭示其本质。

          再举例:取相反数运算,1-------》-1,2---------》-2…………。还有取倒数1--------》1/1,2---------》1/2……。

          运算规则是人定义的。通过y=2*x,这个函数我们定义一个运算。这个运算暂时还没有人命名过。因为它使得自变量加倍,我们就叫“加倍”运算。

          我们看到“加倍”运算,实际上是从集合X到集合Y的一个映射。

          更为一般的我们还可以写出  y= x+z,或者y=  x*z。此时自变量是两个了,这种运算叫做“二元运算”,而y= 2*x,这样的有一个自变量的运算叫做“一元运算”,想必你也知道了n元运算是个什么概念。

          一元运算,本质上是A--->B形式的映射。

         二元运算,数学上的定义:假设S和T分别是集合,S上的一个T值运算* 就是指笛卡尔积 S×S 到T的一个映射。

          数学上,运算是一种行为,通过已知量的可能的组合,获得新的量。运算的本质是集合之间的映射。

          我们把 y= 2*x,y= x+z,y=  x*z……所有形式的函数记作:y= f(x,z,……);f()代表了具体的函数运算。

          上边讨论的这些东西,与程序何干?上边所讨论的,恰是程序的本质。写过程序你就肯定了解到,程序在某个层次上的基本单位是函数。软件功能的实现,就是一连串的函数调用而实现的。而在这里我们看到了函数的本质是集合上的运算。

          程序中的函数,数学中的函数,集合上的运算,集合上的映射,是同一个事物的不同叫法。

          函数还可以看做是一个黑盒,有其输入端,输出端。

          程序中的函数一般参数就是其输入,返回值是其输出端,当然这个不是死的,要分清输入和输出不能看其形式。作为结果出现的东西都叫输出,像写进了文件,屏幕输出,还可以修改参数作为最终输出。

          数学中的输入输出就很明确:自变量为输入,函数值为输出。但我们不必局限于此,数学中定义的都是基础运算,及基本数据类型,我们在程序里的函数才真正获得了自由,自己定义数据类型,定义数据运算。

          数据类型是什么?整形,实数,自己定义的某个类。一门具体的计算机语言数据类型五花八门,但其本质无外乎这三种。整形,实数,自己定义的某个类,这三者直接的关系是什么呢。整形,实数,可以组合起来定义一个新的类型,即自己定义的类。“组合起来定义”这种动作,到现在我们可以把它看做是运算,或者说是程序函数了。

          到现在你可能十分困惑我所讲的东西,好像很乱,不断的在不同的领域说问题。

          现在我必须明确我的目的,将程序的概念泛化,程序无处不在,只有从狭隘的计算机程序中看穿其本质,才能领悟到程序无处不在,程序一定要由计算机执行么?不是的,我们要看到计算机之所以能够执行程序的本质,我们才能认识到,具有图灵机结构的任意事物都可以执行程序。

         下一篇将深入讨论这个问题。

论文阅读笔记:Extended Vision Transformer (ExViT) for Land Use and Land Cover Classification 注意力机制驱动的深度模型最近取得了成功,如最具代表性的视觉转换器(ViT),吸引了一波高级研究来探索它们对更广泛领域的适应。然而,遥感(RS)领域中基于Transformer的方法更关注单模态数据,这可能会在充分利用不断增长的多模态地球观测数据时失去可扩展性。为此,我们提出了一种新的多模式深度学习框架,通过在最小修改的情况下扩展传统的ViT,针对土地利用和土地覆盖(LULC)分类任务。 阅读详情

相关推荐

GEE影像重采样实战:从10米到500米,如何用.reduceResolution和.reproject统一尺度?

本文详细介绍了在Google Earth Engine (GEE)平台中,如何利用`.reduceResolution()`和`.reproject()`方法解决多源遥感影像的尺度统一难题。通过实战案例,从哨兵2号10米分辨率影像聚合至MODIS 500米尺度,阐述了聚合规则选择、参数配置及效果验证的全流程,为环境监测、农业分析等领域的跨尺度数据融合提供了关键方法。

weixin_29223603的博客 85

【哲思与实战】程序设计之道

读读《程序设计之道》,来看看一位西方程序员如何运用东方哲学的“道”思考程序设计的内涵和精髓。

苹果二的博客 1719

Scratch(四十一):升级版垃圾分类

哈喽,大家好!之前给大家展示过“Scratch(二十四):垃圾分类”。今天呢,给大家展示的Scratch是`升级版垃圾分类`。接下来,我们一起看一下效果吧。

我可以很大侠的博客 6869

灵魂转生:Linux进程程序替换的艺术与哲思

本文探讨了Linux操作系统中的进程程序替换机制,类比为“灵魂转生”,揭示了其背后的原理与实现。文章首先解释了程序替换的必要性,指出其目的是让子进程执行特定任务,类似于根据不同场景更换汽车轮胎。随后,通过图解和代码示例,详细介绍了七大替换函数(如execl、execv、execlp等),并强调了它们在程序替换中的作用与使用方式。这些函数通过不同的参数传递方式(如链式、表形式)实现程序替换,且只有在替换失败时才会返回-1。文章还指出,execve是真正的系统级接口,其他函数均基于它实现。通过本文,读者可以深入

2303_81060385的博客 2946

UVM入门与进阶学习笔记17——寄存器模型(3)

目录寄存器模型的常规方法mirror、desired和actual valueprediction的分类自动预测显式预测uvm_reg的访问方法mem与reg的联系和差别内建(built-in)sequences寄存器模型内建序列存储模型内建序列寄存器健康检查寄存器应用场景寄存器检查功能覆盖率概述覆盖率自动收集模式覆盖率外部事件触发收集 寄存器模型的常规方法 mirror、desired和actual value 在应用寄存器模型时,除了利用它的寄存器信息,也会利用它跟踪寄存器的值。 寄存器模型中的每

weixin_41979380的博客 7536

Jenkins插件下载慢?3分钟搞定国内镜像加速(含华为/腾讯/清华源对比)

本文详细介绍了如何通过国内镜像源加速Jenkins插件下载,包括华为云、腾讯云和清华源等主流镜像站的性能对比及一键配置方案。通过实测数据展示华为云镜像站表现最佳,下载速度达19.4MB/s,并提供sed命令、管理界面配置和Docker定制三种高效加速方案,帮助开发者快速解决插件下载慢的问题。

sql99的博客 320

一个小球的人生哲思:从3D绘制到碰壁反弹

这个仅有12行核心代码的程序,通过一个小球的视角,为我们展现了一个完整而深刻的“人生”故事。它告诉我们,人生始于创造,成于认知,行于探索,终于规则。它用一种诙谐幽默的方式,让我们看到了代码背后蕴含的智慧和哲理。下次当你看到一段简洁而强大的代码时,请记住,它可能不仅仅是指令的集合,更是一个微型世界的完整故事。#include "sprites.h" //包含C++精灵库Screen screen{"绘3D红球再滚动",480,720};Sprite r;//建立角色叫r。

李兴球的专栏 890

逆向工程实战:如何一步步破解京东APP的sign签名算法(附Frida脚本)

本文详细解析了京东APP的sign签名算法逆向工程实战,通过Frida脚本动态分析Java层和Native层的多层签名机制,揭示商业应用的加密协议设计。文章提供了完整的逆向工程方法论与工具链,帮助开发者深入理解移动应用安全防护体系,提升安全防御能力。

weixin_28622215的博客 919

从量子到经典:一次“测量坍缩”背后的程序员哲思

量子计算不只是技术的飞跃,更是认知的拓展。它揭示了一个深刻道理:我们习以为常的确定、分离的经典世界,可能只是一个更基础、更互联的量子世界的特定显现。作为程序员和问题解决者,这种视角转变极具价值。在确定性中看到可能性:即使最确定的系统,底层也可能是概率性的在分离中看到连接:看似独立的模块,可能隐藏着深层的关联在接受答案时保持好奇:每一个确定的输出,都来自无数可能性的坍缩量子计算时代,最令人兴奋的可能不是算力的指数级增长,而是它迫使我们重新思考计算、信息乃至实在本身的基本性质。

数字人生 1216

车载网络测试实操源码_使用CAPL解析VBF文件

VBF(Versatile Binary Format)文件是一种二进制文件格式,被沃尔沃、福特、马自达、吉利等汽车制造商广泛采用。这种格式无法使用我们常规的烧录器进行刷写,通常需要进行解析转化。如果各位需要自己编写软件或脚本来刷写VBF文件,或者需要对刷写功能进行测试时,那么本篇文章就会对你非常有用。今天我们就来讲一下如何使用CAPL脚本对VBF文件进行数据解析。VBF文件包含三部分:VBF版本段、文件头段、数据段。前面的版本段和文件头段是ASCII码,包含版本、地址、校验码等信息

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 2997

YOLOv11涨点改进 | 全网独家首发、特征融合创新篇 | ACM 2025顶会 | 引入DAAttn差异感知注意力融合模块,通过动态调整注意力,使模型更准确地识别关键内容,提高精度、并减少冗余计算

本文提出了一种基于DAAttn(差异感知注意力融合)模块改进的YOLOv11模型,用于提升变化检测任务的性能。DAAttn模块通过动态加权特征差异,有效区分有意义变化与噪声(如光照、天气变化),显著提高了模型在复杂场景下的检测精度。该模块采用反转注意力机制,重点关注显著差异区域,同时减少计算冗余。实验表明,改进后的模型在保持计算效率的同时,能够更准确地识别小目标和细节变化。文章详细介绍了DAAttn的原理、优势、实现代码及其在YOLOv11中的集成方法,并提供了两种改进配置方案。

Ai缝合怪、助力小伙伴高效发论文 303

陈灵魂转生:Linux进程程序替换的艺术与哲思L

从图中,我们看到,不管什么卡(这里我们将卡分为4类:SD2.0高容量卡(SDHC,最大32G),SDv2.0标准容量卡(SDSC,最大2G),SD1.x卡和MMC卡),首先我们要执行的是卡上电(需要设置SDIO_POWER[1:0]=11),上电后发送CMD0,对卡进行软复位,之后发送CMD8命令,用于区分SD卡2.0,只有2.0及以后的卡才支持CMD8命令,MMC卡和V1.x的卡,是不支持该命令的。上述表格的“脚位数”,对应于实卡上的“金手指”数,不同类型的卡的触点数量不同,访问的速度也不相同。

lfUzhXE5P的博客 858

simulink建模仿真实例1000例--第375例:基于Simulink进行复杂交通流的仿真建模

特点多车互动:模拟多个车辆之间的相互作用。动态变化:交通流量随时间和事件(如事故、天气变化)而变化。多样化驾驶行为:考虑不同的驾驶员行为模式(激进型、保守型等)。挑战准确性:准确地模拟各种因素对交通流的影响。实时性:处理大量车辆数据,并迅速做出反应。可扩展性:支持从简单场景到复杂城市交通网络的扩展。首先明确要模拟的任务内容。模拟不同类型的车辆(轿车、卡车、公交车等)。考虑不同驾驶员的行为模式。分析交通拥堵、事故对交通流的影响。

xiaoheshang_123的博客 203

代码背后的哲思:C++特殊类实现的艺术与科学

C++ 是一门充满无限可能的语言,凭借其丰富的特性和灵活的抽象能力,使得开发者能够实现许多令人惊叹的功能。特殊类的设计与实现是 C++ 编程中的一项重要实践,它不仅考验开发者对语言特性的理解,更体现了对程序架构的设计思考。在这篇文章中,我们将深入探讨 C++ 特殊类实现的核心思路,从设计理念到代码技巧,带你走进 C++ 世界的奇妙殿堂。单例模式(Singleton Pattern)是一种常用的设计模式,其目的是确保一个类在整个程序中只能创建一个实例,并提供全局访问该实例的途径。唯一性。

17的博客 8738

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

【算法一周目】位间流转,数字律动——洞察 C++ 位运算中的精妙与哲思

位运算是对整数的二进制位进行直接操作的过程。在 C++ 中,位运算符能够对整型(intlong)的二进制表示进行精细的控制。这类操作通常用来优化性能,尤其是在需要快速处理大量数据或在硬件底层与操作系统交互时。位运算是计算机底层运作的核心之一。操作数在执行位运算时,通常需要按位处理(即每一位分别进行处理),这也使得它比常规的四则运算更加高效,尤其是在处理大规模数据时。通过本文的讲解,你已经对 C++ 中的位运算有了更深的理解。位运算不仅能提升程序的性能,还能帮助我们解决很多复杂的计算问题。

小蜗牛的珍贵百宝箱 883

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

《雅码轩: Java哲思》004 对齐颗粒度

对齐各个环节颗粒度, 让开发流程畅通无阻!

Mr_Tus的博客 1871

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

山外有山,心内有归途:一个技术人的哲思

我越来越觉得,技术人的修行,不是在技术赛道上跑得更快,而是在奔跑中不忘记自己为什么要奔跑。山外之山,永远存在。但如果你认出了那个“能攀登”的本源,那么无论登到哪座山,你都知道:真正的家不在山顶,而在脚下——那个能知能觉、本自具足的当下。真正的“山”,不在外,在内;真正的“人外人”,不是比你更强的对手,而是那个本自圆成、不假外求的自己。愿我们都能在技术的浪潮中,守住那份初心,认出那个自性。与所有技术人共勉。本文灵感源自一次关于技术迭代与佛教本心的对话。回到你本来就在的地方。鱼在水中,却问水在哪里;

数字人生 419

RMS 在哲思峰会上的讲演--Free Software

自由软件是尊重用户自由的软件。这是一个关于自由而不是价格的概念,请大家将“Free software”翻译成自由软件,而不是免费软件。     如果一个软件不是自由软件,那么它只是一款,非免费软件,以用户为目标的软件。 非免费软件分离了用户,让用户觉得无助。分离了用户,因为它禁止用户共享软件;说它让用户觉得无助,是因为用户没有源代码,就不能改变软件, 他们甚至不知道这个软件究竟会对他们做些什么。

一碗米线 2628

黑客帝国神级影评,转至豆瓣。 — — 哲思。

影评

lostand的专栏 2546

10倍速比2倍速容易,程序员创业必须知道的那些超越周期的原理。

创业和工作必须定一个 10 倍速的高目标,因为2倍速的提升往往是基于现有流程的定量优化,本质是陷入内卷;而10 倍的目标则需要战略而非战术的优化,很少有路径可以达成。因此你必须在过程中剔除噪声,砍掉无关紧要的80%的事情,只专注最核心的20%(给你带来80%收入的“少数人”)。

yu101994的博客 2620

c语言伽马分布随机数,陈默的博客:090906伽马分布的随机数函数 - 哲思

人到齐才开会的等待时间——伽马分布的随机数函数当事情发生一定次数后才做某一件事情,如等够了4个人在打扑克(O_O)~公式:x=-k*ln(r1*r2*..*rn);其中,k为等待事件需要发生的次数,n为事情每n段时间发生一次。//~ gamma,伽马分布函数//~ 当某一事件发生k次之后才做另一件事情,而我们等待的事件每n时间发生一次//~ 返回值为做另一件事情之前所等待的时间double gam...

weixin_39918690的博客 767

心灵鸡汤 (Chicken Soup for the Soul) - second (2nd)

心灵鸡汤 (Chicken Soup for the Soul) - second (2nd)

程永强 739

推荐适合程序员看的电影

诺亚怀尔与乔伊斯洛尼克饰演苹果电脑的创建人史提夫贾伯斯和史提夫沃兹涅克,安东尼麦可霍尔和约翰狄马乔则饰演建立微软电脑王国的比尔盖兹和史提夫鲍莫,这四个充满远见的年轻人,晚上在宿舍内绞尽脑汁、苦思良策,白天则在校内进行你来我往的斗智,展开一场延烧至今、改变了整个世界的全球电脑大对决。现代化的住所,精心设计的饮食,为你服务的不再是人类,而是机器人。在躲过机器屠宰场的残酷追杀后,大卫在机器情人乔(裘德·洛 饰)的帮助下,开始寻找自己的生存价值:渴望变成真正的小孩,重新回到莫妮卡妈妈的身边。

1216

你敢信?这10条程序员节段子竟来自真实工位对话!

auto-generated

VarIsle的博客 826

程序员与诗人

生活偶时灵感所作,笔名:贪墨。 系列一:理想国 (1) 理想国.远山 隔层雾,隔层纱, 千万房屋阻挡, 看不到尽头, 路在何方, 怎样才能到达, 山上是什么, 越过山又是什么, 山就在那里, 云朵向我招手, 鸟儿对我说, 那里很美, 风儿对我说, 我是你脚下的路, 太阳对我说, 我的光会为你指明方向, 我的心对我说, 越它! ...

spfLinux的博客 1875
上一篇: 程序哲思(1)
下一篇: 程序哲思(3)
lslxfhc
博客等级 码龄19年 4粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值