我在20多年的编程中,慢慢积累出解决各种编程问题的方法
在从这些方法中又归纳出解决问题之道,也就是我说的<<解道>>

因为<<解道>>很抽象, 不容易理解, 在学习的过程中,
经常有一种看山是山,看山非山,看山又是山的感觉
所以我觉得通过编程的思路过程来演绎我的<<解道>>
可以更通俗的讲解我的道

<解道>只是一种哲学,具体应用时要结合实际分析,形成具体的术

<解道>用于编程时,就会形成编程术
<解道>用于管理时,就会形成管理术
<解道>用于炒股时,就会形成炒股术
<解道>用于创业时,就会形成创业术
<解道>用于学习时,就会形成学习术所有的术不是一成不变的,而是不断进化的
术是解决具体问题的技术,不在抽象,可以实操

编程之难处

入门编程时,我们会发现,学一门编程语言不难,
难的是 编程时解题思路的产生和完善

编程语言是一种语言

中文,日语,英语,法语,德语,俄语都是语言
语言的作用
1. 是实现群落内部的无障碍沟通
2. 通过交流沟通,实现群落成员的协作
3. 语言词汇可以描述事物的本质编程语言的本质 描述程序思路编程语言不能够帮助我们思考如何编程所以只会编程语言是可不能会写出程序的

如何学会编程

学会编程包含两个部分
1 掌握一门可以操控计算机的编程语言  (这个好学,一个月就可以入门)
2 掌握解决问题的方法 (   这个难,因为解决问题需要对症下药,而且方法各种各样)举例:
不懂羊的习惯,如何发明一个自动喂养羊的机器(羊什么时候喝水,什么时候吃东西,每次吃多少)
不懂无人机的构造,如何编写一个自动飞行控制程序来控制无人机(自动高度悬停,自动返回,自动飞到目的地)
不懂超声波成像原理,如何编写一个超声波成像程序
不懂雪糕制作方法,如何编写一个雪糕生产流水线所以给不同行业编写程序时,1. 需要先对该行业有足够的了解2. 在了解了行业特性的基础上,我们才能研究解决方法最终编程 不过就是把解决思路和具体解决方法变成代码而已

中国人就必须用中文编程

语言是交流的桥梁用外文编程的弊端是,你的程序只有懂程序的人可以看懂,   不懂程序的老百姓看不懂其实我遇到很多技术员和老板, 他们不懂编程,但是他们有思路,有想法,甚至有具体解决问题的步骤我只要把他们的想法展开,   写成他们可以理解的中文程序逻辑, 与他们探讨确认后然后再逻辑定稿的基础上, 适当的加入一些他们无法理解的程序算法 , 就可以转成可以他们想要的程序了注意: 思路才是程序的灵魂, 用哪种编程语言根本不重要, 用中文编程完全可以,在中国用中文编程是必须的

编程的本质

编程的本质不是写程序,而是把解决问题的想法和逻辑,变成文字有序的呈现出来把这种特有的,可以被计算机识别的语言文字交给计算机去实现最终完成人的期望

程序有几种

程序分为独立程序和协作程序
平时上网看到的网站就属于协作程序,一般都是网络程序
平时电脑中的记事本和计算器 就是独立程序,一般都是单机程序

独立程序的本质

每个独立程序都有开始,过程,结束 三个部分独立程序存在的意义是实现自动化处理,一个不能实现自动化的程序,即是是一段程序代码也没有任何意义自动化处理 包含批量处理和智能处理批量处理时 程序表现为重复处理大量数据智能处理时 程序表现为多层次,且复杂的判断处理程序的意义如何实现 :1.必须量化对象,没有数据量化,就只能凭感觉,计算机是没有感觉的,他们只能计算数值 2.必须有循环, 有了循环就表示程序可以重复执行,"重复执行" 就是自动化的精髓之一举例: 流水线上的机械臂,反复做着同一件事情3.必须有判断, 不能够判断,也就缺少了"智能" ,举例: 水果分拣流水线, 计算机通过限位器自动判断,水果是属于大果,还是属于小果,然后打开不同闸门,分流水果如果有人进入危险区域 ,必须及时停止流水线运行汽车通过传感器 判断后面是否有障碍物,并发出报警声4.必须有变量, 缺少变量,就缺少了变化性,

协作程序的本质

协作是网络程序的本质
浏览器客户端,app客户端和服务器程序配合实现了各种网站 包括淘宝,知乎,微信等协作程序通过网络实现程序间的数据交换

高级程序的本质

编程语言分为 低级语言 中级语言 和高级语言低级语言 就是机器语言,计算机可以识别的0,1编码的语言,我们人看不懂中级语言 也叫汇编语言 ,编译器(翻译器)可以看懂,少数人可以看懂,大部分人看不懂的语言高级语言 大部分程序员都可以看懂的语言高级语言的"高级"就体现在,它们和我们日常说话词汇没有太大差别另外高级语言中还有分三种
1. 结构化 编程语言
2. 面向对象化 编程语言
3. 面向接口(切面化,流程化) 编程语言结构化编程语言 就是把一个具体功能或者动作变成一段代码积木 ,编程时调用积木实现相同的功能或重复的动作面向对象化 是基于结构化编程, 把一个对象所有特性,属性,功能和动作 都封装到一个对象中 ,调用该对象的不同的功能 实现对应的能力举例:    一架无人机 ,包含向上向下动作,向前向后动作,左转右转动作,加速减速动作 这些动作都属于无人机对象的方法我们操作无人机向上时, 就要同时操作 加速和向上两个动作对应的程序面向接口 说白了就是随时注入和替换 代码例如:一架无人机 缺少一个限高功能, 但是我们一开始预留了一个接口, 在后期我们把这个功能通过这个接口注入到无人机系统中, 它就扩展了这个功能例如:我要给游戏角色换衣服道具,只要预留一个统一的接口, 按照接口生产好服装和道具,就可以替换了
生活中也有接口的例子就是插排, 我们可以把不同的电器擦到插排上, 就是因为插头的规格是一样的

高级面向对象思维

近来我看到有文章,说"面向对象编程是错误的编程思路"我从业20多年,可以非常肯定的说,没有绝对对错, 你需要对象化思路时,就需要面向对象编程你不需要时,就不需要面向对象编程面向对象思路的三要素包含 封装 继承 多态"封装" 的解决思路 说白了 就是 把一个对象 分解出不同的性质特征,结构特征和行为特性
"继承" 的解决思路 说白了 就是套用了  父亲与儿子的相似性
"多态" 的解决思路 说白了 就是模拟差异现象 假如一个父亲如果有多个儿子 ,多个儿子之间的差异

思路的表述

编程逻辑思路 必须要准确表述不能准确表述 就意味着思路的混乱所以学好语文的目的是什么 ,我觉得就是要学会准确表述你的思路中国喜欢诗歌, 浪漫而浮夸, 好的诗歌体现了作者发散的思路和优秀联想能力所以不同的人听了 ,因为个人经历不同,会产生不同的感觉但是诗歌的文字缺乏收敛, 所以不能用来交流,只能用来欣赏要想把一句话准确的意思传达给别人, 我们就必须把 "遣词造句" 收敛到没有任何歧义为止否则如果一句话说出来 ,是仁者见仁智者见智, 那么就有歧义了比如
"我叫他去"  可理解为“我派他去”;也可以理解为“我去喊他”
"开刀的是他父亲" 可理解为主刀做手术的大夫,也可以理解为“被做手术的患者”。
"放弃美丽的女人让人心碎" 第一个理解是是说男人放弃了美丽的女人而心碎。第二个理解是女人放弃了追求美丽的权利而令人心碎。
"还没有工作" 可理解为还没开始工作,也可理解为还没有找到工作。
"走了一个多小时" 可理解为行走了一个多小时。也可理解为离开了一个多小时就因为中文这种歧义特性,所以我们在进行思路表述时要格外小心,一定要注意用词造句

解道4-编程技术1-本质相关推荐

  1. mfc编程vc6.0实现进程的创建和通信_免费送书:windows黑客编程技术详解

    01 书怎么送 点赞并留言,关注在下面的公众号后台回复「抽奖」,弹出小程序后点击参与. 开奖时间是 7 月 7 号 20:00 ,一定要留意微信消息,如果你中奖了,请尽快在中奖页面提交收件人信息并备注 ...

  2. java 编程 pdf linux_Linux编程技术详解.pdf

    Linux编程技术详解全面介绍了linux编程相关的知识,内容涵盖linux基本知识.如何建立linux开发环境.linux开发工具.linux文件系统.文件i/o操作.设备文件.进程与进程环境.守护 ...

  3. php网络编程自学手册 pdf,葛丽萍PHP网络编程技术详解 pdf扫描版

    葛丽萍PHP网络编程技术详解 pdf扫描版由软吧下载编辑精心整理,是一本php语言网络编程技术指导手册,由葛丽萍编著.全书内容全面,涵盖PHP网站开发中的八种常用技术,从基础知识到高级技术,再到项目开 ...

  4. 【Unity】Unity中的异步编程技术详解

    异步编程技术对于很多手游开发者来说,都是不可避免的话题,因为手游的游戏逻辑包含太多需要并发或者希望能够并行的逻辑.现在的手机硬件发展迅速,多核已成为主导趋势,对于3A级大作来说,如何充分利用手机多核的 ...

  5. 有哪些好的IT编程技术网站?有哪些好的论文网站?

    IT技术网站/社区/论坛: CSDN - 专业开发者社区 www.csdn.net 博客园 - 开发者的网上家园 www.cnblogs.com OSCHINA - 中文开源技术交流社区 www.os ...

  6. 猴年马月谈GBDP2004高速编程技术体系

    猴年马月谈GBDP2004高速编程技术体系 2004-12-02 GBDP 技术演示网站: http://www.universecommerce.com GBDP is a new software ...

  7. LabVIEW编程技术邪派高手之「速成指引」

    这是我知乎上的同名文章的推广引介,其中也包含了我自己的在学习LabVIEW路上的成长故事. 目前为止,本文应该是知乎上最长.最全的LabVIEW的万字(10905字)面向对象编程技术索引文章,并且还再 ...

  8. 解道Banq的一些讨论贴子

    解道Banq的一些讨论贴子: Threaded服务器 vs Evented 服务器 - Thinking In JdonRRiBbit:开源事件总线EventBus框架 - Thinking In J ...

  9. JNI_编程技术__网文整理

    Chap1:JNI完全手册... 3 Chap2:JNI-百度百科... 11 Chap 3:javah命令帮助信息... 16 Chap 4:用javah产生一个.h文件... 17 Chap5:j ...

  10. P2P技术详解(三):P2P技术之STUN、TURN、ICE详解

    本文是<P2P理论详解>系列文章中的第2篇,总目录如下: <P2P技术详解(一):NAT详解--详细原理.P2P简介> <P2P技术详解(二):P2P中的NAT穿越(打洞 ...

最新文章

  1. 每个网页设计师应该知道的10条CSS规则
  2. Windows编译OpenSSL
  3. PHP常用工具方法集...
  4. python新手难点_初学两天python的操作难点总结
  5. js等待5秒后执行_厦门同安首台智能垃圾分类回收柜机投用 扫二维码5秒后回收变现...
  6. 吉利成立数字科技新公司 经营范围涉区块链等
  7. 自动编码机(Autodencoder)
  8. linux telnet 127.0.0.1 不通,Linux 出现telnet: 127.0.0.1: Connection refused错误解决办法
  9. 贫穷是我们变得牛逼的动力
  10. python代码混淆
  11. 图片怎么压缩成指定大小?怎么能把图片压缩到200k?
  12. 苹果系列产品如何保修-Apple官方回复
  13. graphlan/iTOL画进化树记录
  14. 互联网思维到底是什么——移动浪潮下的新商业逻辑
  15. 人工智能AI在智能交通领域中的应用
  16. SAR/GMTI-概述及常用抑制杂波方法DPCA
  17. 一、MicroApp快速入门示例
  18. 使用Perl编写协议分析脚本
  19. Xcode14 正式版编译报错‘ does not contain bitcode.解决方案
  20. 对自动控制原理的模值和相角公式的一点总结

热门文章

  1. Element UI 上传图片组件(支持多传和单传),报错Cannot set property 'status' of null
  2. 在中国西北的凉州城,有哪些冻起来惊为天人的美食?河西走廊会告诉你答案
  3. 数据库-sql 语言综合练习
  4. 字幕横向滚动jq、原生js两种方法
  5. php cms 的模板,phpcms模板
  6. win7搭建java环境,win7下java环境搭建以及jdk环境变量配置
  7. java/php/net/python客户关系管理系统【2024年毕设】
  8. 出现这几个征兆,可能是主动脉堵塞的表现
  9. 读书笔记_《博弈论》_精华书摘
  10. Latex中编译IEEE sensors journal 模板中遇到的种种问题