DSP

学习目的和基本了解

2019-07-13 16:14发布

先学通一门程序设计语言,再开始设计一门网络专用的程序设计语言。 本质上我们的目标是进行程序的开发,为了实现这个宏观的目标,我们需要进行一系列的分解,最好到底层。这就是语言开发环境、数据类型、表达式与运算符、输入输出函数、分支顺序循环控制结构、数组和字符数组等等程序语言的基础。然后在这个基础上进行有选择的组合,形成一定的模块,如函数、变量、指针、结构体、命令的使用;甚至进行存储管理、链表、栈和队列、位运算、文件操作技术和图像处理。最终能够实现具有一定功能的项目设计。这个过程和我们的日常写作是一致的,我们甚至可以设想将来我们能够以自然语言来编程,以后就是如同法术的言咒。当然这需要我们整合到更高层次的系统中。因为我们目前的各种开发都是基于相似的环境中的。因此我们必须基于一定的开发环境,这是底层的建筑。 然后是各种数据类型,及在这个基础的各种表达式。其中对数据的各种处理可以产生一定的有意义的计算。 随着层次的递增,我们需要用到更多层次耦合的高维量,即各种组合形成的函数,而且还有各种基本函数的调用。然后也是各种高级的结果,如指针等等自耦合的结果可以根据高维的结构。 面向对象的编程其实是一种数学的思想,其实程序设计的各种定义也是残酷数学的公理化体系的构建过程,我们通过在计算机中建立一定的抽象对象,然后在这个层次进行处理,然后可以通过一定的转换关系来映射到现实世界,从而能够对现实世界城市一定的指导。我们通过对对象的定义ABCDEFG,然后通过一定的语句来构建不同对象之间的关系,尽可能地模仿现实,然后通过计算机的运算能力来推测各种关系可能的发展,理论上能够建立这种映射关系,我们只是需要如同雕塑一样施加不同的处理限制,即我们的程序设计语言等等。而基于对象的关系是一种更高维度的运算对象,可以通过多维度的耦合来构建网络的结构。因为不同对象的关系遍历可以对应于任何事物,即如同线性代数中基底的线性组合可以表示空间的每一个点(而且可以表示为不同的维度,可以如同微积分构建不同维度的关系,即求导),可以将复杂的结构分解为简单的基本结构。 以上需要的具体实现就需要我们对程序设计语言的良好应用,通过对各种成分的有意义的组合形成一定的有意义的高维结构,从而能够映射到计算机层次进行一定的运算。在这个过程中,会不断形成模块化的封装模块,最终形成复杂的高维结构,如软件。   简单的语法是我们沟通机器世界的基础,这是我们这个时代的魔法,我们需要把握中心技巧才能将外置的机器的力量转化为我们的一部分,本质上这是人类发展摩尔定律的层次突破。尤其是c语言,其各种底层操作使我们能够更好地理解计算机的运行,当然这是我们的基础,然后我们可以选择其他的高级语言继续进阶。 C语言的各种概念其实很底层,我们可以运用生活中具有一定相似性的具体事物来部分指代以方便理解,当然我是习惯于在底层进行理解然后应用于现实来实现以辅助理解,如数组可以引出团队的组织结构,网络的邻接节点的关系来指代线性链表,结构体来指代复杂事物的各种抽象含义。 理解各种概念,编程实践,结构化的思想,学习的深入。 基于语言的程序本质上是解决问题的办法和步骤,通过合理的定义,可以对一定的抽象对象进行运算,这是通过计算机按照一定指令运行的0/1操作,通过一定的状态改变在大规模运算的层次涌现出特定的性质,即计算。这种改变是如同量子的性质,是很确定的。     变量的思想,对现实事物的抽象化表示;关键词的快速识别;有限的逻辑形式,分支循环顺序,可以选择性表达为实际上所有的逻辑,如同傅里叶变换对空间的遍历;数据类型,结构,运算符; 以上的选择性组合就可以形成各种高维结构,只要有良好定义的变量,和一定的逻辑组合形式等等就可以形成与现实有确定性联系。即我们的目的是解决一定的问题。因为足够抽象层次的运算可以代表现实情况,然后对现实的可能发展做出指导。算法是生产力。这是我们要达成我们想要的医学的建模所必需的。 结构化的设计思想,将复杂结构分解为不同的模块,这与微积分的无穷小量的分解、线性无关基底的线性组合的思想是一致的。而且机器语言到汇编语言到高级语言的抽象层次的降低过程也是相似的。     算法的实现是我们的理想实现的基础:分析实际问题—解析实现过程—描述程序算法—选择编译环境—编写源代码指令—调试运行程序—给出结果 构建计算环境—构建计算对象—构建计算方法(面向过程—面向对象)—验证算法实现 程序=数据结构+算法+设计方法+编程工具+语言环境   我们需要首先对问题的解决方法有明确的了解,然后在逐步描述的过程中满足算法的要求。因此算法的分析和设计是首先需要考虑的。