编程是什么?

目前,编程离人们的生活越来越近,不少非专业人士也都大体懂一些编程的基本知识。在目前科技高速发展的时代,编程成了像语文数学一样的必修课。那么什么是编程呢?一起来了解一下。     

如果单从科学的角度来说,编程是一种逻辑的思维运算,目前所有的编程语言都有它固定的逻辑,而这种逻辑在所有语言中也是适用的,市面上的产品在底层也是基于这种逻辑运算来实现各种功能。而从广义上来讲,所有设计具备逻辑流动作用的、具备逻辑计算力的可控体系,都可以叫做编程。不单单指计算机程序。

所以我们通常所说的编程,就是狭义上的编定程序,即让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。

总的来说,通常的编程指的是给计算机编定程序,使计算机能够完成我们需要的指令,得到相应的结果。这种人与计算机之间的交流过程就叫做编程。虽然编程的概念很广泛,但编程的本质还是一样的,都是为了解决人类的现实问题,也正因为如此,越来越多的人喜欢上了编程,使得编程在人们生活中得到了普及。

什么是编程?百度百科的解释是:

编程是编写程序的中文简称,就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到相应结果的过程。

这样的解释是非常合理的:其中的关键词是计算机、程序语言、结果。我也从这3个方向说说自己的一些看法!由于自己认识的局限难免出现错误,希望大家指正。

计算机的发展大家也有所了解,在这里就不多费口舌。我们现在用的计算机CPU只能认识0和1,这是目前的现状(如果你能发明另一种机器,能够识别更多的符号,那么我支持你,并由衷的希望你能有所成就)。计算机由哪些部分组成,各有什么作用,少一个组成部件会有什么后果? 这些问题是非常深刻的,我们不一定要对他们了如指掌(不是不重要),但最起码要有一些基本的认识。电脑只要有个CPU,主板,内存就可以点亮。加个软驱,就可以运行DOS操作系统。再加个硬盘,就可以把WINDOWS系统放到硬盘上运行起来。对CPU是如何工作,CPU做了哪些事情,CPU为什么只能认识0和1,CPU的寻址方式? 对CPU我了解得不深,不敢随意卖弄。但有一个还是是需要知道一下的,CPU基础计算只有3个:与,或,非。这3个逻辑门实现了我们现在所有的计算机程序计算。

据不完全统计,全世界的编程语言就多达1000多种,我们学完也几乎不可能,也没有那个必要。有人说一个优秀的程序员至少要掌握6门以上的编程语言,其实想想还是有一定道理。虽然一个人编程能力的体现并不是你会多少语言,而是你能写出多少精妙的程序。要想写出精妙的程序,编程思想是必不可少的。没学过面向过程的语言如:c,你说你想通了面向过程,这得打个问号。没学过面向对象的语言,你说想通了面向对象,这还得打个问号。当然那种大神除外哈!

抛开编程思想说编程语言就是耍流氓,语言本身就是思想的体现。那我们就说说编程思想吧!

,但是人们用0和1写程序是非常困难的。为了方便就出现了0,1的第一层抽象标记:汇编语言。目前的CPU只能执行过程性的程序,任何高级语言都必须转换成过程性的编程语言后再交给CPU执行。在汇编里主要有三个操作:比较,跳转(goto),过程调用(call)。为什么说它是过程性的编程思想,值得你去好好的体会一下。不妨写几个算法的程序(在程序里面用到比较,跳转,过程调用),再来看看汇编程序的特点,相信你会有所感悟。

随着人们解决的问题越来越复杂,汇编程序当然束缚了计算机软件的发展。因此编程思想发生了一场革命性的变化,结构性的编程方法出现了。在结构性编程思想的编程语言里面,C语言首当其冲。

C语言里面有几个能表现出结构化思想的地方:分支(if), 循环(while,for),结构体(struct). 只要你会用这三个,那么你就可以写出结构化的程序,但不一定你就了解什么是结构化的编程方法。

什么叫做结构化?为什么说goto会破坏程序的结构化?结构体有什么作用,你能说出结构体的哪些好处? 这些都是值得认真体会的地方。别人给的定义不见得都全面。还是自己理解比较靠得住。

结构化编程里面最具代表性的书籍就要属"数据结构",具体哪本书比较好就不知道了,好像都差不多,只要是用C写的就行。C语言的"数据结构"里面就是专门来讲怎么用结构性的编程思想来解决实际中的算法问题。看完某些章节,然后自己找个问题,再用程序去实现它。多写一些程序,会很有帮助。还有需要说明一下,并不是所有的时候结构化的编程一就定好。

3、面向对象的编程思想

现在该说说面向对象编程了。这个也是现在用得最多的编程思想。什么是面向对象,它和结构性的思想有什么不同?从程序语法上看,面向对象比结构性的程序多了两个特性:

(1)、 结构体成员的私有化。结构化程序里面,结构体的成员都是公有的。然而在面向对象里面,结构体改称为类,并且成员分为公有和私有两个部分。就因为这一点的不同,就产生了接口的概念。接口不就是类成员的公有部分么?

(2), 类的继承。因为出现了继承,才出现了多态。然而就是因为多态,才出现诸如:隐藏啊,虚函数 …等等这些概念。多态的出现,能够让同一组数据,在不同的阶段,用同一种表达方式,执行不同的操作。如果把这个东西领悟到了,那么你会感叹一句"原来程序是可以这么写的".。

因为以上两点的变化,编程思想也随之发生了巨大转变。它可以让程序更适合人的思维方法来编写。面向对象的编程语言就很多了,可谓五花八门 :C++ 、 JAVA 、C#等。这三种语言我都用过,下面说一下我用的感觉吧!他们的语法都出自于C语言,这对我们从C语言入手学习编程的很亲切。

都说C++和JAVA有很大的不同,而JAVA和C#却非常相似,你知道为什么吗?

最根本区别就在于垃圾收集器。就是因为JAVA里面有垃圾自动收集功能,所以JAVA不能和C兼容,而且也不能使用指针。

在C++中的值类型和引用类型是可以自己定义的。如果对象被定义为值类型,那么当编辑器自动把对象收集走之后,有时自己会一无所知。如果对象被定义为引用类型,那么又要必须记得把它释放掉,不然又会引起什么内存泄漏的问题。在JAVA和C#里面就不一样,在这两种语言里面,自定义的类,初始得到的对象只能是引用类型。并且有垃圾收集器帮你回收垃圾对象。所以就不会出现内存泄漏的问题。

因为C#比JAVA后出来吧,JAVA所具有的特性,C#基本上都有。并且还具有一些JAVA所不具有的特性。当然在这里不是说哪个语言好,哪个语言坏。其实他们都是来实现面向对象编程的工具。

在面向对象的编程里面,代表性书籍就要属"《设计模式》"了。不过设计模式这个东西,不是你看书就能看懂的。并且你硬套那些模式,不一定对你有多大的好处。这个东西,只有设计做多了,才能有所领悟,自己得到总结。总结多了,就会发现和书上的那些东西不谋而合,或许可能比书上总结得更好 。

好了,目前编程思想的发展就到这一步了。将来的编程思想的会是一个什么样子,我也不得而知。希望有志之士能够发明一种编程的思想出来,推动软件业的发展,让中国也来引领一下世界软件的发展潮流。

大家走进程序界的初衷是什么呢,这个我也不敢胡乱猜测。但是有一点还是要的,那就是钱。毕竟我们都是要生活的。

而往往能够快速用来赚钱的都是一种应用技术像windows编程,linux编程,WEB开发等等。你掌握了其中的一门技能,就可以谋得一个职位,可能还可以拿到一个不错的薪水。然而如果你掌握了编程思想,那么那些应用技术将一通百通(因为应用技术往往都是对特定的一些函数的调用,通俗一点就是调用API)。 掌握了编程思想你将不在局限于某个特定的编程技术,而是对整个软件系统有了全局的把握,研究的不再是编程技术,而是协议和规范。

就现在的发展看来,技术的迭代周期超乎想象的短。深入了解程序思想还是很有必要的。我们程序猿需要一颗不老的心。

这个结果 才是我们想要的。到达这个结果的路很多,怎么走才最快最好最方便,一直是我们探索的。在探索过程中才出现了计算机、才出现了程序。这条路会越走越宽、越走越远我们深信。

看完上面的文字。你对“什么是编程?是不是有了属于自己的答案?

编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。为了使计算机能够理解人的... 编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。

为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。


· 学动漫、设计、电竞、电商、短视频、幼教等

重庆新华电脑学校隶属于新华教育集团,经重庆市人力资源和社会保障局审批成立的重庆地区大规模IT人才教育基地。是国家信息化教育全国示范基地,中国IT教育十大影响力品牌学校。

编程 是个动词,编程==写代码,写代码为了什么? 为了让计算机干你想要干的事情,比如,马化腾想跟别人聊天,于是写了个聊天软件,这个软件就是一堆代码的集合,这些代码是什么?这些代码是计算机能理解的语言。

那计算能理解的语言是什么呢? 之前,我们已经了解到,它只能理解2进制,0101010…,你总不能人肉输一堆二进制给计算机(虽然最原始的计算机就是这么干的)让它工作吧,这样开发速度太慢了。所以最好的办法就是人输入简单的指令,计算机能把指令转成二进制进行执行,举例如下:

假如 程序员想让计算机 播放一首 歌曲 , 只需要输入指令 ,

    计算机的CPU接收到这样的指令后,会把它转成一堆 只有cpu可以理解的指令,然后再将指令变成各种对应的如下类似二进制

    最终cpu 去调用你的硬盘上这首歌,通过音箱播放。

    上面cpu那段指令太难理解了,如果让你天天写这样的代码,大家非得自杀不可。还好,伟大的计算机先驱们,开发了各种编程语言,让我们只需要通过写一些简单的规则,就能操作计算机工作啦。

    编程语言总体分以为机器语言、汇编语言、高级语言,如下

    由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。只有目标程序才能被计算机直接识别和执行。但是机器语言编写的程序无明显特征,难以记忆,不便阅读和书写,且依赖于具体机种,局限性很大,机器语言属于低级语言。

    用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作。编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且,编出的程序全是些0和1的指令代码,直观性差,还容易出错。除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。

    机器语言是微处理器理解和使用的,用于控制它的操作二进制代码。

    尽管机器语言好像是很复杂的,然而它是有规律的。

    存在着多至100000种机器语言的指令。这意味着不能把这些种类全部列出来。

    代表地址为 0 的存储器

    代表地址为 1 的存储器

    代表地址为 16 的存储器

    代表地址为 2^11 的存储器

    汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作。例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能够实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。

  • _start:;在屏幕上显示一个字符串

  • 高级语言是大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。

    高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,像最简单的编程语言PASCAL语言也属于高级语言。

    高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:

    编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行(编译后生成的可执行文件,是cpu可以理解的2进制的机器码组成的),使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .obj,也就是OBJ文件)才能执行,只有目标文件而没有源代码,修改很不方便。

    编译后程序运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi等

    解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器(想运行,必须先装上解释器,就像跟老外说话,必须有翻译在场),但这种方式比较灵活,可以动态地调整、修改应用程序。如Python、Java、PHP、Ruby等语言。

    优点是最底层,速度最快,缺点是最复杂,开发效率最低

    优点是比较底层,速度最快,缺点是复杂,开发效率最低

    编译型语言执行速度快,不依赖语言环境运行,跨平台差

    解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行

    主流编程语言介绍(10分钟)

    世界上的编程语言有600多种,但真正大家主流在使用的最多二三十种,不同的语言有自己的特点和擅长领域,随着计算机的不断发展,新语言在不断诞生,也同时有很多老旧的语言慢慢无人用了。有个权威的语言排名网站,可以看到主流的编程语言是哪些

    TIOBE发布编程语言排行榜已经快6年的时光了,在这六年中我们见证了不少语言的起起落落。虽然国内有很多大牛说,关注这语言的排名没有多少意义。但仍可以看出那些语言日渐兴盛,哪些日渐没落,我们从Objective-C的上升过程中,还是能看到移动设备端,特别是iOS应用开发方面的黄金潜力。

    下面介绍下几个主流的编程语言:

    C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

    C++是C语言的继承的扩展,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。

    C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

    技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

    PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域

    Ruby 是开源的,在Web 上免费提供,但需要一个许可证。[4]

    Ruby 是一种通用的、解释的编程语言。

    Ruby 是一种真正的面向对象编程语言。

    Ruby 可以用来编写通用网关接口(CGI)脚本。

    Ruby 可以被嵌入到超文本标记语言(HTML)。

    Ruby 语法简单,这使得新的开发人员能够快速轻松地学习 Ruby

    Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

    Python是一门优秀的综合语言, Python的宗旨是简明、优雅、强大,在人工智能、云计算、金融分析、大数据开发、WEB开发、自动化运维、测试等方向应用广泛,已是全球第4大最流行的语言。

所谓编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。


编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。 为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。


· 最想被夸「你懂的真多」

编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
编程:设计具备逻辑流动作用的一种“可控体系”【注:编程不一定是针对计算机程序而言的,针对具备逻辑计算力的体系,都可以算编程。】

下载百度知道APP,抢鲜体验

使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 少儿编程是什么 的文章

 

随机推荐