编程入门python java和c语言_软件入门的知识之程序设计语言Java和C#的简单介绍和对比[图]...-程序员宅基地

技术标签: 编程入门python java和c语言  

软件入门的知识之程序设计语言Java和C#的简单介绍和对比[图]:

前言:

要做软件就必然会涉及到程序设计语言,它是什么?有哪些特点?又有哪几部分组成的呢?在这里我们为大家做了一个总结,希望可以通过这些内容让大家对于程序设计语言有一个大概的认识。

基本概念:

1、低级/高级

计算机的硬件只可以识别由1、0组成的机器指令程序,所以机器指令是最基本的计算机语言。由于机器指令是由特定的计算机系统所固有的、面向机器的语言,所以使用机器语言进行程序设计,效率低、可读性差、难以理解,而且也不便修改和维护。后来出现了由符号标识的汇编指令组成的汇编语言,它和机器语言非常接近,在书写格式上很大程度上决定于于计算机的机器指令,所以它在使用时也不是很方便,正是因为这种操作和后期维护上的不便等因素人们把机器语言和汇编语言称之为低级语言。

在低级语言的基础上,人们开发出了功能更强、抽象级别更高的程序设计语言,于是就出现了各种面向各类应用程序的设计语言,这些我们统称为高级语言,比如常见的Java、C、C++、PHP等都属于高级语言的范畴,这些语言显著的特点就是和人们使用的自然语言十分接近,提高了程序的设计效率。

2、编译/解释

在前边我们介绍过计算机只可以识别由0、1组成的机器语言,那么高级语言是如何被计算机识别的呢?显然计算机在识别高级语言之前需要先进行翻译,完成这项任务的程序被我们称之为语言处理程序。高级语言的翻译有很多形式,不过最基本的方式只有三种,即汇编、解释、编译。

用高级语言或者汇编语言编写的程序我们称之为源程序,它们不可以直接在计算机上执行,它们需要相应的翻译程序进行处理,变成计算机可以识别的内容,被翻译之后的程序我们称之为目标程序。那么高级语言采用的编译和解释两种方式有哪些区别呢?这里我们对这部分内容做个总结。

解释程序,有时候也叫做解释器,它或者是直接解释执行的源程序,或者是将源程序翻译成某种中间代码后再加以执行;编译程序则是将源程序翻译为目标程序,然后再在计算机上运行。这两种方式的根本区别在于:编译方式下,计算机中运行的是和源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行;相反在解释方式下,解释程序和源程序还是会参与到程序的运行中,运行程序的控制权在解释程序。更加简单的说就是在解释方式下,翻译源程序不再参与目标程序的执行过程,而编译器则将源程序翻译成独立保存的目标程序。

程序语言的分类

程序设计语言分类没有统一的标准,按照编程时的思维特点可以将程序分为结构化程序设计语言、面向对象程序设计语言、函数式程序设计语言以及逻辑型程序设计语言等,下边我们就对主要的一些内容做个简单的介绍。

1、结构化程序设计语言

它是基于动作的语言,在这种语言中计算被看作是动作的序列,C语言就是显著的代表。结构化设计语言的特性反应在如下几个方面:

第一, 使用自上而下的逐步精华的方法进行编程;

第二, 按照模块组成的方法进行变成;

第三, 程序只包含顺序、判定、以及循环构造。

结构化设计语言的结构简单清晰,模块化强,描述方式接近人们习惯的推理方式,所以可读性很好,而且在软件的重用性和维护方面都有所进步。

2、面向对象程序设计语言

目前最流行的设计语言,常见的Java、C++、C#等都是面向对象设计语言的显著代表,它们支持数据隐藏、数据抽象、用户定义类型、继承、多态等机制。

3、其他

除了结构化程序设计语言和面向对象设计语言,还有函数式设计语言和逻辑式设计语言,因为我本身也不是特别了解,只是知道有这种说法,所以在这里就不多做介绍了,如果感兴趣的话,可以到网上百度相关的资料,也欢迎您通过微信公众号和我分析您的学习收获。

常见的程序设计语言

从最初的FORTRAN设计语言兴起到现在,程序设计语言经过不断的修改和创新,出现了很多优秀的设计语言,这里我们总结了一些常见的设计语言。

1、FORTRAN

第一个被广泛应用于科学计算的高级语言。一个FORTRAN程序有一个主程序和若干子程序组成。不过发展到现在这门语言和最初的版本已经有了很大的差别。

2、PASCAL

一种结构化程序设计员,从ALGOL演化而言,不过功能更加强大,在这种设计语言中将程序和过程合二为一,统一成过程,而且过程可以嵌套和递归。

3、前端代码的性能

这主要是针对浏览器而言,简单说就是访问页面所用的时间。这个时间包括后端处理、代码文件传输、页面渲染、JS文件加载和运行,为了缩短这部分时间需要我们编写简洁并且符合标准的代码,同时通过压缩文件等手段来减少文件传输的时间。

4、C

20世界70年代发展起来的一种通用的程序设计语言,主要在UNIX系统以及运行在UNIX系统上的软件中使用,兼具了高级语言和汇编语言的特点,提供了一个高效的执行语句并且允许程序员可以直接访问操作系统和底层软件,所以在系统级应用、实时处理和嵌入式应用的开发中称为主要的程序设计语言。

5、C++

在C语言基础上发展而来,和C兼容。在C++中,主要的是增加了类机制,使其称为一种面向对象的程序设计语言。

6、Java

20 世纪90 年代发展起来的面向对象的设计语言,最初用来开发网络浏览器的小应用程序,不过因为是一种通用的程序设计语言,所以目前得到了广泛的应用。在Java中保留了C++的基本语法、类、继承等概念,删除了一些C++不太友好的特征,所以和C++相比,Java更加的简单,语法和语义也更加合理。

7、PHP

一种可以在服务端执行,嵌入HTML文档的脚本语言,语言的风格非常类似C语言,被网站编程开发人员广泛的使用。PHP可以快速的执行动态网页,语法也混合了C、Java这些语言,同时还添加了一些自创的内容。

8、Python

一种面向对象的解释型程序设计语言,可以用来编写独立的程序,支持对操作系统底层的访问,可以将Python源程序翻译为字节码在虚拟机上运行。虽然内核很小,但是提供了丰富的基本构件块,还可以使用C、C++、Java等程序进行扩展,因此可以用来开发任何类型的程序。

9、Delphi

可视化的开发工具,在window环境下运行,采用面向对象的编程语言Object Pascal和基本构件的开发结构框架,主要的特征是为基本窗体和面向对象的方法、告诉的编译器、强大的数据库支持和Window编程紧密结合以及成熟的组件技术。

程序设计语言组成

程序设计语言是由哪几部分组成的呢?在这里我们针对一些常见的设计语言的特点给大家做一个简单的总结和介绍。

1、数据

在程序设计语言中针对不同的内容有不同的数据类型,数据类型对应的对象则对应着应用中具有特殊意义的组成,它的名称被我们称之为标识符,由数字、字母、下划线组成。对于数据而言按照不同的角度可以进行如下划分:

常量/变量,这种划分番薯主要是按照程序运行的时候值是否可以被改变来划分的,常量的值在程序运行中不可以被改变,而变量在程序运行中可以改变。

全局/局部变量,这种划分方式是按照作用范围来划分的。全局变量作用域是整个文件和程序,而局部变量的作用域只是在定义它的函数或者程序块中。

2、流程控制

流程控制语句,通过这些控制语句我们可以实现一些逻辑上的控制,主要的控制语句有三种,即顺序结构、选择结构和循环结构,下边我们就来简单了解下这些流程控制语句。

如上所示是一个顺序结构的示意图,表示一个操作序列,从第一个操作开始,按照顺序依次向后执行,直到序列的最后一个操作。

如上所示就是一个选择结构的示意图,通过判断给定的条件是否成立,然后按照判断的结果执行相应的操作。

除了顺序结构和选择结构外,就是循环结构,描述了重复执行的过程,对于一个循环结构一般是由初始化、循环体、循环条件三部分组成的。汤姆索亚历险记(http://www.simayi.net/dushubiji/6113.html)读书笔记摘抄好词好句及感悟赏析,常见的循环结构有两种,一种是while结构,另一种是do-while结构。

其中while结构如下所示:

这种结构显著的特点就是进入循环之前必须是判断条件成立,反之如果进入循环前判断条件不成立则不能进入循环体中。而do-while结构如下所示:

和while结构不同,do-while结构可以先进入循环体中执行一次,然后再进行判断。

3、其他

传输,指明语言允许的传输方式,比如赋值处理、数据的输入和输出等。

函数,程序中重要的组成,它是一段具有独立功能的程序,和函数密切相关的操作是函数定义、函数声明以及函数调用。

后记:

我整理了一些软件入门的知识,包括程序语言的简单介绍以及软件开发过程的描述等内容,如果您对感觉这些内容对您的学习或者工作有所帮助的话,欢迎转发给周围的朋友,感谢您的支持!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39639919/article/details/111083131

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法