电脑编程
编辑程序让电脑执行的过程
编辑程序让电脑执行的过程就叫编程, 很多软件都可以编程。 具有代表性计算机语言JavaBASIC C,C++,VB,VF,SQL,网页编程JSP,ASP,PHP,软件是eclipseMicrosoft Visual Studio,Microsoft Visual Basic,Microsoft SQL Server等等。Java是应用最广泛的编程语言之一,大学中则常常以C语言作为编程的入门语言, BASIC是Beginner's All-purpose symbolic instruction Code(初学者通用符号指令代码)的缩写,是国际上广泛使用的一种计算机高级语言
定义
编辑程序让电脑执行的过程就叫编程。
很多软件都可以实现编程。具有代表性计算机语言JavaBASIC,C,C++,VBVFSQL,网页编程有JSPASPPHP,软件是Eclipse,Microsoft Visual StudioMicrosoft SQL Server,等等。
BASIC是Beginner's All-purpose symbolic instruction Code(初学者通用符号指令代码)的缩写,是国际上广泛使用的一种计算机高级语言。BASIC简单、易学,曾经是计算机入门的主要学习语言之一,但基本上已经很少有人使用。
发展历程
BASIC语言自其问世经历了以下四个阶段:
第一阶段:(1964年~70年代初) 1964年BASIC语言问世。
第二阶段:(1975年~80年代中) 微机上固化的BASIC。
第三阶段:(80年代中~90年代初) 结构化BASIC语言。
第四阶段:(1991年以来) Visual BASIC。
BASIC是种易学易用的高级语言,非常适合初学者学习运用。常用的编译软件有True BASIC,Turbo BASIC Quick BASIC,Visual BASIC,CAREALIZER,GFA BASIC,POWER BASIC,等等......
1991年,微软推出了Visual Basic1.0版。这在当时引起了很大的轰动。许多专家把VB的出现当做是软件开发史上的一个具有划时代意义的事件。其实,以我们的目光来看,VB10的功能实在是太弱了。但在当时,它是第一个“可视”的编程软件。这使得程序员欣喜之极,都尝试在VB的平台上进行软件创作。微软也不失时机地在四年内接连推出VB20,VB30,40三个版本。并且从VB3开始,微软将ACCESS的数据库驱动集成到了VB中,这使得VB的数据库编程能力大大提高。从VB4开始,VB也引入了面向对象的程序设计思想。VB功能强大,学习简单。而且,VB还引入了“控件:的概念,使得大量已经编好的VB程序可以被我们直接拿来使用,如今,VB已经有了6.0版。
通过几年的发展,它已成为一种专业化的开发语言和环境。用户认为可用Visual Basic快速创建Windows程序,在还可以编写企业水平的客户/服务器程序及强大的数据库应用程序,Visual Basic新版中还有更多可用功能。
另外,最流行和实用的C语言,C++等都有发展的前景,而且也是最近几年人们探索的领域。
编程基础
什么是程序
首先需要知道下面这个问题的答案:“程序到底是什么?”计算机程序是指令集,它告诉计算机如何执行特殊的任务。读者也许对许多种指令熟悉,如按菜谱烹调特殊的食物或按指定的方向到达不熟悉的目的地。没有这些特殊的指令,就不能执行预期的任务。
计算机也是一样,只是它们需要为执行的每一个任务提供指令。甚至对最简单的任务也需要指令,例如如何取得击键,怎样在屏幕上放一个字母,怎样在磁盘中保存讯息。 幸运的是,许多这样的指令包含在处理器芯片中或内置于操作系统中,因此用户不必担心它们。
相反,应集中于为任务提供指令,如计算雇员工资,创建邻居邮件列表,或设置格式化文本以显示最近的年度报表信息。 虽然我们用自然语言读这些指令,但计算机指令必须是二进制代码,即一系列在计算机内存和处理器中的开或关的状态。有些语言,如汇编程序,可以允许直接写这种类型的代码。但是,以这种方法编程十分困难,因此Visual Basic和其他编程语言使程序员可以用与自然语言有点相近的方式编写指令。然而,即使是这些指令仍有限,并要遵循高度定义的结构。
Visual Basic允许创建反映用户动作和系统事件的程序。这种编程叫事件驱动编程。要了解事件驱动程序是怎样工作的,先要了解过去的程序怎样运行及在Windows环境中有何不同。 在Windows之前(回到往日的DOS和“史前时代”PC之前),程序以顺序方式运行。也就是说,一旦程序启动,它就一条指令一条指令的向前执行,直到程序结束或出现致命错误。
使创建Windows程序较为容易的关键技术面向对象编程,或OOP。这种技术可以创建可重用组建,它是程序的组成模块。
几个定义
在讨论Visual Basic时,经常可以听到这些术语,因此对这些术语的基本理解十分有帮助。
控件提供程序可见界面的可重用对象。控件的示例有文本框、标签和命令按钮
事件由用户或操作系统引发的动作。事件的示例有击键、单击鼠标、一段时间的限制,或从端口接收数据
方法嵌入在对象定义中的程序代码,它定义对象怎样处理信息并响应某事件。例如,数据库对象有打开纪录集并从一个记录移动到另一个记录的方法。
对象程序的基本元素,它含有定义其特征的属性,定义其任务和识别它可以响应的事件的方法。控件和窗体是Visual Basic中所有对象的示例。
过程为完成任务而编写的代码段。过程通常用于响应特定的事件。
属性对象的特征,如尺寸、位置、颜色或文本。属性决定对象的外观,有时也决定对象的行为。属性也用于为对象提供数据和从对象取回信息。
其他编程语言
开发Windows程序有很多得力的工具,比如著名的Visual Studio就是其中一个大型IDE,其中不仅包含VB,还包含VC++、VC#、VF#等子环境。
另外汇编语言也经常用于Windows程序设计,比较出名的就是RadASM集成IDE。
其他操作系统下的编程
当然电脑编程并不是指在特定操作系统下的编程。只要是为计算机设计一个指令序列,就应当算是电脑编程。
任务并行
并行编程模型是底层体系结构与上层应用程序之间的桥梁,向上隐藏并行处理器的细节,提供给程序员并行表达的方法;向下充分利用硬件资源、高效且正确地完成应用需求。任务划分、任务映射、数据分布、通信和同步是设计并行编程模型时需要考虑的 5 个关键要素。任务并行编程模型主要关注共享存储的平台,数据分为共享和私有两种存储属性,通过共享数据进行通信。因此,该编程模型的研究重点是任务划分、任务映射和同步这个关键要素。任务并行编程模型把任务作为并行的基本单位,提供任务划分和同步的编程接口,把任务划分和同步工作交给程序员完成,用户可以把应用程序划分出大量细粒度任务。然而,具体到每个任务到底是并行执行还是串行执行、在哪个物理核上执行以及如何实现任务之间的同步则由运行时系统完成。任务并行编程模型提倡嵌套的递归任务,并引入以任务窃取为核心的用户级线程调度,实现程序的高性能和动态的负载平衡
任务并行编程模型提供显式的任务划分和同步编程接口以及隐式的任务映射机制。前者关注可编程性,后者关注执行效率。任务并行编程模型支持非规则应用程序,把逻辑任务与物理线程分离,从而独立于处理器核数。但多核时代需要的是面向更广阔应用领域的、易编程、高产能的并行编程工具,该模型的编程接口(并行性表达和数据管理)和运行时支持(任务调度)面临如下挑战:
(1) 该模型的编程接口能支持的并行模式有限,需要丰富编程接口,表达多种多样的并行性。例如,spawnsync 能够实现嵌套并行控制结构,但不能高效实现循环级并行,于是,程序员需要把数据并行的应用程序转换成嵌套并行,才能用该模型编写并行程序。另外,无条件原子块结构和有条件原子块结构是重要的并行任务结构,如何表达以及如何高效支持都需要深入研究;
(2) 该模型把数据分为共享和私有两种,通过共享数据进行通信。但有些数据是部分任务共享,或者一个线程内执行的所有任务共享,因此需要对数据进一步区分共享范围,需要研究如何高效实现不同级别的共享数据。
(3) 该模型的运行时系统负责把逻辑任务映射到物理线程上去执行,其核心任务是提高执行效率.存在的问题有:(a) 运行时系统是一个软件层,与应用程序链接在一起,运行在用户空间上。用软件实现任务窃取是有代价的,问题是能否进一步降低运行时系统开销;(b) 任务窃取采用最早任务优先窃取策略,该策略的“深度优先执行”能够提高 cache 的利用率。但随机选择线程进行任务窃取,而没有考虑多核处理器存储层次处理器架构特点,对于局部性敏感的应用会产生影响。因此,任务调度时需要根据存储部件的层次、容量、访问延迟以及数据的访问局部性、重用度和层次性等因素进行局部性敏感的调度;(c) 集群系统众核处理器都远比多核处理器要复杂,拥有更大量的计算资源,如何管理和使用硬件资源,充分利用体系结构的并行性和局部性来提高性能,也需要深入加以研究。
参考资料
最新修订时间:2023-09-09 13:04
目录
概述
定义
发展历程
参考资料