思考编程的本质

编程久了, 不免会问: 编程究竟是一种怎样的活动? 编程的本质何在? 如何才能做得更娴熟更有创造性 ?

借助于编程语言以及围绕其建设的社区、平台、技术、框架、组件和工具, 在计算世界中表达和建造现实世界或幻想世界。

联结计算世界与现实世界、幻想世界的桥梁。

编程是社会性活动

从日常编程经验来看, 很容易认定编程是一种个体性的活动, 这是因为日常所使用到的是“技术、框架、组件和工具”。 但是若注意到编程的背后有默默支持你的“社区和平台”, 就明白自己并不是在“孤军作战”, 也绝不要做“孤军奋战的末日英雄”。

编程需要

对现实世界的透彻理解与洞察力;

分解与抽象;

表达与建造;

逻辑,构造块,计算对等体;

转译和创造。

编程的益处

足够可维持生活的物质收入;

宁静的心灵空间;

富有创造性的精神活动。

编程与技术

编写强大的软件应用要仰赖技术的力量。 技术使得程序员能够利用前辈们的经验去更高效地创建可用的软件, 另一方面, 又使得程序员容易局限于特定技术, 不愿往更广阔的领域开拓,  不能看到技术之外的编程领域。技术是编程的强大战车, 但作战亦不能太依靠战车。

时间: 2024-10-13 08:21:38

思考编程的本质的相关文章

当你编码时你在做什么:谈编程的本质(一)状态机

当你编码时你在做什么:谈编程的本质(一)状态机 这学期学习了两门有意思的课,Theory of Computation和Distributed System,一低一高完全两个层次上的分支,却意外地发现两者在理论方面的重叠--那就是状态机.在Theory of Computation中,DFA.NFA.Turing Machine都是非常经典的State Machine,而在Distributed System中,Global State的确定.一致性协议的Replicated State Mac

复合是编程的本质-供参考

编程的本质 读到两篇文章,写的不错, 综合摘录一下 复合是编程的本质 函数式程序员在洞察问题方面会遵循一个奇特的路线.他们首先会问一些似有禅机的问题.例如,在设计一个交互式程序时,他们会问:什么是交互?在实现 基于元胞自动机的生命游戏时,他们可能又去沉思生命的意义.秉持这种精神,我将要问:什么是编程?在最基本的层面,编程就是告诉计算机去做什么,例如『从 内存地址 x 处获取内容,然后将它与寄存器 EAX 中的内容相加』.但是即使我们使用汇编语言去编程,我们向计算机提供的指令也是某种有意义的表达式

并发编程的本质是全局上下文和调度执行的管理

并发编程的本质是全局上下文和调度执行的管理. 并发编程实际上是一个运行时复杂系统的管理工具. 并行任务的全局上下文和全局目标的管理: 乱序执行的多个任务达到一致的执行结果. 管理: 任务管理: 上下文管理(资源): 整体目标管理: 数据结构+算法 数据.资源.状态 工作组 执行控制 执行流.任务. 任务激活: 并行任务的全局上下文和全局目标的管理: 原文地址:https://www.cnblogs.com/feng9exe/p/12262849.html

怎样思考编程思维

很多初学编程的人,都会经常听到一些老码农告诉他,学习编程要有思想,我们得学编程思想,不要死记代码.编程思想有了,那就是下笔如有神. 在我看来,所谓的编程,其实就是,我们要理解计算机.我们必须知道,计算机的思想,跟人的思想的区别. 在我看来,计算机,是线性的思想,而人的思想,是方的,面的,发散性的. 比如:一个男生,他女友叫他去买瓶洗面奶,他买回来一个蜜桃味的,她女友一看,不开心了.心想:为什么非要买一个蜜桃味的,我那么讨厌蜜桃味!她还会想:男友为什么每次做菜要放辣椒,辣椒好吃吗?为什么每次洗完澡

编程思考 编程感想

1.结果 在编程中实现一个功能或者效果,方式有很多种,但是结果很重要,并非一开始就要求你将代码写的多么的高效 而是现要达到结果的基础之上,在考虑性能的优化. 有些时候,只需要知道要达到的结果,而忽略过程. 想实现盈利,并非自己亲手写出那套系统而已,事实上也有可能你把系统实现了,结果也并非盈利 技术只能是这个环节中一个很重要的部分,但是除了技术之外还有其他很重要的因素在里面 所以,考虑事情不应该只是局限在某一方面,即使其中的一环节你做的足够的好,而其他的因素 忽略,你一样也达不到你想要的目的. 2

3-27 思考以及self本质

对于对象和类的相关问题已经纠结了好一段时间了,昨天看到'python中一切皆可为对象'这句话深以为是.单纯的追逐对象和类的终极问题到底有什么作用呢?我觉得这是一个python学习者和一个单独的python开发者之间的区别.学习一门编程语言更多的是对编程语言的深度思考,这也同时是对编程语言进化的一种很好的手段,相对于在顶层的高屋建瓴,在底层之中的完善根基也是一种十分不错的做法.#需要电脑加一根内存条安装双系统来学习了,Linux需要开始学习了,首选乌班图来进行学习.# self 函数 的 本意 ;

UI的编程学本质

一.UI是数据的组织方式.展示及连接 UI模块--数据单元: 链接---数据单元间的联系: 相对链接-数据结构的树.链表: 绝对链接-大的模块级别的切换: 二.UI的IO学本质 屏幕.键盘 将信息输出到屏幕: 将信息从鼠标.键盘录入: 三.链接和输入即为信息处理 输入和选择为信息处理的参量搜集: 链接和请求按钮为信息处理的发起: 原文地址:https://www.cnblogs.com/feng9exe/p/11025891.html

根据C#编程经验思考编程核心

程序是对数据的各种操作.数据的表示,数据的组织结构,数据的存储,数据的处理,数据的传输等. 程序是由具体的编程语言编写的,不同的编程语言有编写,编译检查,解释执行等过程. 具体的编程语言都有: 1,变量定义(数据表示),分块解决问题(函数(方法).类.枚举.结构等)., 2,数据组织方式,也就是数据结构,数组.集合.文件(xml.json.原始文本文件.键值对). 3,数据组织方式,继承.接口.构造函数. 4,数据存储,文件读写,编码,流的概念,权限的概念. 5,数据的传输,协议的概念,编码的概

论文式编程

文学编程 文学编程(Literate programming)的一些概念,上个世纪 70 年代就有人提出来了. 文学编程的思想非常简单,就是将那些为了能被编译器/解释器正确识别而编写的代码打碎,然后用人类语言将它们编织到文档中,这种文档就是文学编程的源文件.这一概念第一次被完整的实现,是 Knuth 开发的 WEB 工具(此 WEB 并非现代漫天飞舞的那个 Web).Knuth 的神作——TeX 系统便是借助 WEB 开发的. WEB 工具由 tangle 与 weave 这两个程序构成.tan