编程漫谈(十):六个最基本内功心法

  

    编程即是有序地组织计算指令,使之完成合乎预期的事情和效果。

      怎样学会和提升编程技能呢?中国武学讲究内功心法和招式变术。招式变术是千变万化的,而内功心法则稳定而绵延不绝。内功心法的深度决定了可以学习的招式变术的上限高度。学习编程亦如此道:具体的技术是招式变术,而计算原理和机制是内功心法。习得内功心法,才能更好地掌握各种高阶招式。

 

    一、  逻辑语义与物理语义

    指令的逻辑语义与物理语义是编程的出发点。逻辑语义是指从问题和自然理解的角度的语义,物理语义是指从计算机存储和运行的角度的语义。比如, int i = 4 的逻辑语义是在程序中创建一个初始值为4的整数变量,物理语义是在计算机内存中分配了4个字节,值为0x00000004.  编程语言提供了从指令的逻辑语义到物理语义的语义映射,而我们通常是使用编程语言从逻辑语义上进行编程的。API是针对特定技术系统的逻辑语义,虽然功能更强大,但本质与拷贝数据的原子指令没有区别。当编写一行代码时,应该理解它所指代的物理语义。

 

  二、  编码与解码

  编码与解码是在计算机中表示和还原世间万物的方法和技术。 要在计算世界里解决现实世界的问题,就必须将现实世界的事物映射到计算世界里,就涉及到编码问题;要将计算世界的解映射到现实世界,就涉及到解码问题。计算机中最基本的数据表示采用二进制,即一系列的01串;以二进制来编码世间万物,这不能不说是个思维的奇迹!

 

     三、  数据结构与算法

     理解编程语言的逻辑-物理语义之后,下一步要掌握的两大武器是数据结构与算法。 数据结构是程序中存储和组织数据的重要法宝,而算法则是在数据结构之上设计的操作序列。数据结构与算法是问题求解的基础,是编写大型程序必不可少的要素,是计算世界的基石。

  

     四、  设计模式

     熟悉基本数据结构和算法之后,接下来要学习设计模式。 

       编写小型程序, 代码缠成一团没有关系; 但是编写中大型软件系统时,若缺乏设计模式的辅佐,代码组织就会乱成一团意大利面,难以修改、扩展和维护,系统很快就会腐化成没人想动它的废弃物。 设计模式是培养对象编程的结构化的思维体操,直接产出是各种应用框架。

 

  五、  模块化与封装

  掌握编程语言、编解码、数据结构、算法、设计模式,基本上能够胜任中小程序的构建了。不过,要驾驭中大型软件系统,就要学会将已实现的通用逻辑流(数据结构、算法、函数、方法、对象、代码结构、业务逻辑等)进行模块化与封装,成为可复用的模块,并仔细设计模块之间的交互关系。

 

  六、 进程与内存

  当构建和运行程序时,应当理解程序的运行机制。理解进程与内存的管理是必经之途。进一步地,理解程序所占用的CPU,内存,磁盘IO, 网络等资源以及程序的响应时间和并发吞吐量也是必要的。知其然而知其所以然。 

 

    编程技法千变万化,但万变不离其宗。 掌握了编程的六个最基本内功心法,可以开始接触更广泛的技术招式:

       比如数据库, 管理和检索大量有序记录的技术;

     比如正则表达式, 灵活操控文本的技术;

     比如Socket编程, 网络编程的基本技术;

       比如多核编程,并发控制多任务执行的基本技术;

     。。。。。

 

转载于:https://www.cnblogs.com/lovesqcc/p/6057749.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值