如何看待编程语言

什么是语言

语言是用来传递信息的交流工具。它的常见形式有:文字(视觉上)、话语(听觉上)。

语言是如何表达信息的

语言提供了模型和规则。
语言模型必须有足够的信息复杂度,如字、词、短语。只有语言本身先具有足够的复杂度,才能去表达具有相当复杂度的信息。

语言规则即语法规则,信息的组织方式。即什么样的信息应该以什么样形式放在什么位置。只有遵循了相同的语言规则,交流的双方才能从约定的位置以约定的形式快速、准确地发出 / 接收信息。

如果没有语言规则,则

  • 表达信息会有困难,比如心里有想法但就是不知道怎么说;
  • 接收信息也会有困难,比如病句、错句、歧义句等等让人听不懂。

所以综上,可以简单的认为,语言的要素有两个:模型规则

语言的作用

语言提供了模型和规则。开发者在模型和规则的基础上,对现实问题进行信息抽象,以语言规定的形式描述现实业务问题。

所以语言的作用是:

  • 将开发者的意图高效表达出来,告诉计算机,这一部分信息是经常变的;
  • 将计算机的底层资源如内存,指令,暴露给开发者。内存和指令分别可以用来存储数据和执行程序,而数据+程序是所有软件共同的组成特征。

这就实现了双向的信息交流。

计算机编程语言

编程语言只是告诉计算机如何解决问题的工具。
编程语言的描述能力越好,那么语言就越好用。

语言虽然可以描述问题,但是使用一门语言,就必须遵守语言的规则和各种约束机制。这就导致代码的内容不仅仅包含实现业务的部分,同时也包含语言工具本身为了维持系统正常工作而编写的代码。如果前者比后者的比值越大,表明语言越容易使用,开发者不需要写业务外的代码。如果前者比后者比值越小,说明开发者需要写更多地业务无关的代码。这个比值一定程度上能反应语言的表达能力。

C

以C语言为例,由于C语言暴露给开发者的语言模型比较底层,可以直接进行原始内存操作,这就导致开发者需要自己手动管理内存。这样才能保证系统稳定运行指定的业务。手动管理内存容易出错,有一定的难度,同时会给开发者带来额外的开发负担。对于复杂的业务层的开发,用C来做显然不适合,因为开发人员无法更多地专注于业务实现。

C++

C++相对于C语言,完全兼容C语言,并在C语言的基础上增加了适应于快速开发复杂高层业务的对象模型,使C++的开发效率相对于C有显著提升。但是C++仍然保留了C的内容,使得该语言既能应对底层开发,又能应对高层业务开发。当然其缺点也在于此,正因为它不彻底的革命,导致在很多场景下会被针对高层业务开发效率更高的JAVA或其他脚本语言取代。


未完待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/437116.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】TcpListener和tcpclient使用

前段时间公司项目中遇着需要做文件的远程传输,场景是用户通过网页选择一些文件,然后提交请求到服务器,同时把请求标识传递给本机的TCP文件传输端;服务器收到请求后在服务器端创建任务生成保存文件的路径同时通知文件传输端开始传文…

sleep期间读取所有_ceph部分数据所有副本先后故障的抢救

半天河网易游戏高级运维工程师,主要负责云存储的运维;一个既希望跟业务聊又喜欢能够默默在后面忙活的普通运维人。背景故障现场故障恢复故障恢复分析第一种方式:物理磁盘对拷第二种方式:服务启动时跳过故障扇区来避免异常退出解决…

面向过程和面向对象的联系和区别

以C语言和C为例。 C语言是面向过程的,封装单元是函数。函数里面按照逻辑流程一步一步实现就行了,这符合我们现实生活中解决问题时的思考过程。 C是面向对象的,封装单元是类。首先,面向对象是为了提高开发效率而设计的。使用C语言…

【转】有限状态机用法教程

如博文无法正常显示,请访问原文地址: https://blog.csdn.net/ChinarCSDN/article/details/82263126 有限状态机用法教程 文章目录 有限状态机用法教程 [toc]1Finite-state machine —— 有限状态机2Foreword —— 前言()3Example —— 示例4Moltimode —…

通用usb集线器驱动_多口充电、高速传输——ORICO晶锐系列7口集线器测评

随着笔电越来越薄,机身接口数量越来越少,U盘、存储卡、移动硬盘、鼠标、蓝牙适配器等明显感觉无处可插,因此USB集线器就成为笔电的最佳拍档。近期,ORICO(奥睿科)推出了一款晶锐系列7口集线器产品,它集成了7个USB3.0接口…

信息系统中的树

代码树 作用域树 类树 窗口树 文件系统树 图形场景树 设备树 Git版本树

【转】C#开发笔记之05-迭代器中的状态机(State Machine)到底是什么?

C#开发笔记概述 该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/961 访问。 状态机可以理解为实现了备忘录模式(仅作为理解)的、能够记录状态的机器,这个机器记录的是某个对象的中间…

python两个集合相减_python集合的运算,两个集合相减是什么意思

# 在对集合做运算时,不会影响原来的集合,而是返回一个运算结果# 创建两个集合s {1,2,3,4,5}s2 {3,4,5,6,7}# & 交集运算result s & s2 # {3, 4, 5}# | 并集运算result s | s2 # {1,2,3,4,5,6,7}# - 差集result s - s2 # {1, 2}…

什么是runtime?

常见的有以下类型 C/C编译型静态语言的runtimeObjective C的编译型动态语言runtimeJAVA运行在虚拟机上的准动态语言的runtime runtime就是程序运行时的环境,指程序中除去程序开发者编写的代码剩下的那部分代码,它存在的目的是实现语言特性、运行特性、…

【转】状态机思路在程序设计中的应用

状态机思路在单片机程序设计中的应用 状态机的概念 状态机是软件编程中的一个重要概念。比这个概念更重要的是对它的灵活应用。在一个思路清晰而且高效的程序中,必然有状态机的身影浮现。 比如说一个按键命令解析程序,就可以被看做状态机:本…

python表格处理免费教程_手把手教你用Python处理Excel表格

openpyxl是一个第三方库,可以处理xlsx格式的Excel文件。pip install openpyxl安装。读取Excel文件需要导入相关函数from openpyxl import load_workbook# 默认可读写,若有需要可以指定write_only和read_only为Truewb load_workbook(pythontab.xlsx)默认…

LNK2019:无法解析的外部符号

原因1: .lib里面的函数没有导出。 原因2: 没有链接.lib文件 原因3: 没有添加.lib文件所在目录到库目录。 原因4: 所引用的lib文件引用了其他.lib文件,而这个.lib你也要引入进来。 原因5: 导出库是…

【转】超详细的UML状态图符号,初学者也能轻松看懂状态图

UML状态图,用于显示状态机,即描述一个对象所处的可能状态以及状态之间的转移。用状态图建模可以帮助开发人员分析复杂对象的各种状态的转换,以及对象何时执行怎样的动作。那状态图又是怎样表示这些信息的呢?要想看明白其中的奥妙&…

舒尔特注意力训练表格_舒尔特注意力训练,舒尔特方格练习入口

孩子的注意力是否集中,直接影响孩子的上课效率和作业正确率,最终影响学习成绩。道理大家都懂,关键是如何保证注意力的集中。接下来,我给大家推荐一个简单方便在家就能完成的训练方法,把它比作小游戏也不为过。那就是舒…

VS静态库和动态库的区别

静态库: 没有链接完整依赖就能生成成功,使用者在使用时会涉及到链接问题,弱引用,只是记录的引用。 动态库: 必须链接完整依赖才能生成成功 ,强引用。

【转】浅析C# 状态机Stateless

最近在折腾一些控制相关的软件设计,想起来 状态机 这个东西,对解决一些控制系统状态切换还是挺有用的。 状态机(有限状态自动机)网上有很多介绍。简单理解就是定义一系列状态,通过一系列的事件,可以使得状…

nginx文件系统大小_Nginx 了解一下?

这篇文章主要简单的介绍下 Nginx 的相关知识,主要包括以下几部分内容:Nginx 适用于哪些场景?为什么会出现 Nginx?Nginx 优点Nginx 的编译与配置Nginx 适用于哪些场景?如图所示,一个请求会先经过 Nginx 到达…

QGIS笔记

地理信息系统 地理信息系统,可以看做是地理信息附加信息组成的。地理信息是研究对象,附加信息是研究结果,二者结合展示给用户查阅。 地理信息系统的核心是数据,界面是为了渲染数据。 其他 特征Feature是指一行记录。属性表即数…

存储过程排版工具_安利一款比Evernote更为实用的云笔记工具,不容错过

作为一个爱分享的自媒体人,出于工作和兴趣前前后后接触到的云笔记工具很多,例如:有道云笔记、为知笔记、语雀、印象笔记、oneNote...在笔记工具的使用上还是略有点点心得,今天给大家分享一款实用的云笔记工具——Baklib&#xff0…

【转】有限状态机(FSM)学习总结C#

FSM(Finite State Machine有限状态机)可以理解成是对行为逻辑的抽象,就好象人在生活中会做出各种行为,例如吃饭、睡觉等,这些所有我们都看作是“行为”的分支,由大脑决定每种行为具体是什么实施。在整个FSM…