浅谈编程语言

机器语言

? 机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。计算机将之转变为一列高低电平,以使计算机的电子器件受到驱动,进行运算。

? 优点

  1. 灵活
  2. 直接执行、速度快

? 缺点

  1. 细节操作大量而繁琐
  2. 程序可靠性差,开发周期长
  3. 开发成本高
  4. 可移植性、重用性、可读性差

汇编语言

? 汇编语言(assembly language)是一种用于电子计算机微处理器微控制器或其他可编程器件的低级语言,亦称为符号语言。汇编语言的另一个特点就是它所操作的对象不是具体的数据,而是寄存器或者存储器。摘自 百度词条:汇编语言(面向机器的程序设计语言)

? 汇编语言是直接面向处理器(Processor)的程序设计语言。处理器是在指令的控制下工作的,处理器可以识别的每一条指令称为机器指令。每一种处理器都有自己可以识别的一整套指令,称为指令集。处理器执行指令时,根据不同的指令采取不同的动作,完成不同的功能,既可以改变自己内部的工作状态,也能控制其它外围电路的工作状态。摘自 百度词条:汇编语言(面向机器的程序设计语言)

? 优点

  1. 可有效访问、控制计算机硬件。
  2. 占用内存少,执行速度快,执行效率高

? 缺点

  1. 通用性和可移植性差
  2. 相对于高级语言来说较为繁琐,易出错

高级语言

前端:

HTML(超文本标记语言)

? HTML是一种使用标记标签来描述网页的标记语言。

? 优点

  1. 网络标准统一,呦W3C制定。

    2. 可跨平台,依托于浏览器

    3. 使用记事本便可以进行开发,HTML能直接运行

? 缺点

  1. 因为浏览器编程模型还是单进程单线程,所以无法支持多线程
  2. 安全性没有保障,容易泄露敏感数据。
  3. 浏览器的兼容性问题增加了开发难度
  4. 页面请求过多
css(层叠样式表)

? css解决了HTML开发中内容与表现分离的问题,极大提高工作效率

javascript

? javascript是web的编程语言,是一种轻量级的可插入HTML页面的编程代码,可有所有的现代浏览器执行。更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。

? 优点

  1. 减少网络数据传输
  2. javascript可以方便的操纵HTML对象
  3. 支持分布式运算

? 缺点

  1. 各浏览器对javascript支持程度不同
  2. “web安全性”对javascript一些功能牺牲

参考资料:JavaScript特点、优缺点及常用框架

服务器

C

? C 语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的。UNIX 操作系统,C编译器,和几乎所有的 UNIX 应用程序都是用 C 语言编写的。由于各种原因,C 语言现在已经成为一种广泛使用的专业语言。

? C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。

? 百度词条

? 特点

  1. 易于学习,进行结构化编程
  2. c语言所产生的代码运行速度与汇编语言编写的代码运行速度几乎一样
  3. 预编译处理使C语言更有弹性

? 优点

  1. 代码量小
  2. 生成目标代码质量高,运行速度快
  3. 功能强大
  4. 跨平台,可移植性强
  5. 使用指针,灵活性强
  6. 允许直接访问物理地址,对硬件进行操作

? 缺点

  1. 数据安全性有很大问题
  2. 语法限制不严格,映像程序安全性
  3. 指针太过灵活,初学难度有点大

C++

? C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。

? 特点

  1. 支持数据封装和数据隐藏
  2. 支持集成和重用
  3. 面向对象
  4. 支持多态性
  5. C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。

? 优点

  1. 类型检查比c语言更加严格
  2. 增加了面向对象机制
  3. 增加了泛型编程机制
  4. 增加了函数重载和运算符重载
  5. 异常处理
  6. 提供了标准库STL

? 缺点:

  1. 没有垃圾回收机制,可能引起内存泄漏
  2. 内容较多较难,学习困难

java

? 特性

  1. 纯面向对象
  2. 支持分布式
  3. 跨平台,移植性强
  4. 是一门编译性语言
  5. 支持多线程,高性能

? 优点

  1. 面向对象
  2. 稳健、安全、可移植、高性能
  3. 跨平台
  4. 编译型静态语言

? 缺点

  1. 编译速度慢

python

? 特性

  1. 解释性语言
  2. 拥有丰富的库
  3. 跨平台
  4. 可移植、可扩展
  5. 支持GUI编程
  6. 可嵌入

? 优点

  1. 简单,易学
  2. 免费,开源
  3. 可移植性强
  4. 属于解释性的一门动态语言
  5. 面向对象
  6. 拥有丰富的库
  7. 强制性缩进代码使得代码规范

? 缺点

  1. 运行速度慢
  2. 国内市场小
  3. 中文资料匮乏

go

? go语言被设计成一门应用于搭载web服务器,存储集群或巨型中央服务器的系统编程语言,在高性能分布式系统领域拥有着极其高效的开发效率

? 特点

  1. 简洁,快速,安全
  2. 自动垃圾回收
  3. 函数多返回值
  4. 并发编程
  5. 反射
  6. 语言交互
  7. 跨平台
  8. 开源
  9. 编译型静态语言

? 优点

  1. 性能优越,go比python快30倍,比java快将近一倍

    2. 编译时间非常快

    3. go编写简单,易于学习

    4. 对 gPRC 和 protocol Buffers 具有一流支持

    5. GOFMT,强制代码格式

    6. 天生支持并发编程

    7. 强大的标准库

    8. 接近c的运行效率,接近php的开发效率

? 缺点

  1. 没有主要框架
  2. 错误处理机制太原始
  3. 垃圾回收器不完善
  4. 语法格式要求太过严格,禁止有未使用的变量和多余的import
  5. 对象没有构造函数和析构函数
  6. 技术比较年轻,有待后续发展

参考资料:Go语言的9大优势和3大缺点, GO语言最初的定位就是互联网时代的C语言, 我为什么放弃Go语言

php超文本预处理器

? php是一种通用开源脚本语言,语法吸收了c语言、java和perl的特点,利于学习。

? 特性

  1. 独特的语法:混合了c、java\perl以及php自创的新的语法
  2. 与其他编程语言相比,更快速的执行动态网页
  3. php支持几乎所有流行的数据库以及操作系统
  4. 可以用c、c++进行程序扩展

? 优点

  1. php是一个免费开源语言
  2. 开发快,运行快,语法简单,方便学习
  3. 跨平台,效率高
  4. 具有很多成熟框架
  5. 有成熟社区支持php的开发

? 缺点

  1. php是个单进程的程序,不支持多线程
  2. 只支持做web开发,不方便做.exe问件、桌面应用程序、手机程序
  3. 不适合做爬虫、自动运行脚本
  4. 后期维护比较困难,后期提速空间局限性大

推荐文章: 浅谈php的优缺点

Ruby

? Ruby是一种纯粹的面向对象编程语言。

? 特点:

  1. 完全面向对象,连基本数据类型也是对象
  2. Ruby的变量可以保存任何类型的数据
  3. 任何东西都有值
  4. 可以做到不需要注释就可以读懂

? 优点:

  1. 语法简单
  2. 操作符重载
  3. 有着很高的开发效率
  4. 代码量很少
  5. 方便测试
  6. 拥有原生的数据结构,学习成本较低

? 缺点:

  1. 运行效率太低
  2. BUG难于发现,许多错误都是运行时才会发现

JSP

? JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。

? 特点:

  1. JSP可以直接在HTML网页中动态嵌入元素
  2. JSP 基于Java Servlet API,因此,JSP拥有各种强大的企业级Java API,包括JDBC,JNDI,EJB,JAXP等等。
  3. JSP页面可以与处理业务逻辑的 Servlet 一起使用,这种模式被Java servlet 模板引擎所支持。

? 优点:

  1. 一次编写,到处运行。除了系统之外,代码不用做任何更改。
  2. 跨平台,支持多种网页格式,jsp标签可扩展性
  3. 强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
  4. 具有非常多的免费优秀的开发工具,并且可以顺利的运行于多平台
  5. 支持服务器端组件

? 缺点:

  1. 增加产品的复杂性
  2. java的高效率运行需要占用大量的内存和硬盘空间
  3. 调试困难

原文地址:https://www.cnblogs.com/ai2050/p/10733317.html

时间: 2024-11-29 08:13:15

浅谈编程语言的相关文章

浅谈编程语言的历史和发展趋势

前言: 编程语言处在不断的改变和发展中,从20世纪50年代的机器语言发展到今天的上百种高级语言,每种语言都在不断的发展中.人类自然语言的发展变化是一个缓慢而又持久的过程,但编程语言却不然,它的发展速度迅速,这主要是计算机硬件,互联网,和IT业的发展促进了编程语言的发展. 一 计算机语言的类型和特性 编程语言一般分成三类:机器语言.汇编语言和高级语言. 1.机器语言 机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合" 它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能

恭喜长征五号遥三运载火箭发射,浅谈编程语言在军事方面的运用!

恭喜长征五号遥三成功发射!来聊聊军事系统都是用什么语言编写的长征五号运载火箭,是中国运载火箭升级换代的重要工程,作为中国首型大推力无毒无污染液体火箭,创新难点多.技术跨度大.复杂程度高.这次遥三的成功,意味着中国具备发射更重航天器,或将航天器送向更远深空的能力,是实现未来探月工程三期.首次火星探测等国家重大科技专项和重大工程的重要基础和前提.接下来随便聊一点军事系统运用了什么编程语言1. ADA语言ADA语言是美国军用标准计算机语言,不光是导弹的飞控软件,在其它国家的相关军事领域也应用很多,据称

浅谈 JavaScript 编程语言的编码规范

对于熟悉 C/C++ 或 Java 语言的工程师来说,JavaScript 显得灵活,简单易懂,对代码的格式的要求也相对松散.很容易学习,并运用到自己的代码中.也正因为这样,JavaScript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦.软件存在的长期价值直接与编码的质量成比例.编码规范能帮助我们降低编程中不必要的麻烦.而 JavaScript 代码是直接发送给客户浏览器的,直接与客户见面,编码的质量更应该受到关注. 本文浅谈 JavaScript 编程中关

浅谈程序员该具备的自我修养

各行各业的工作者,都有其要求,那么作为程序员,我们又该具备哪些素养呢?博主在这里浅谈个人看法,如有不当之处,请大佬们指正. 一.知识储备 1.数学 或许在很多人看来,学计算机用不到什么数学,最多也就是一百以内的加减乘除,用在for循环.数组索引之类的上面.但其实不然,大部分人这样觉得是因为基本都工作在应用层,所以相对而言,用到的数学知识会比较少,也比较浅显. 而当从应用层更深地学习研究时,就需要一定的数学能力了. 2.计算机 1)操作系统 操作系统(OS)是配置在计算机硬件上的第一层软件.是对硬

浅谈委托和事件(一)

浅谈委托和事件(一) 关于委托和事件,可能是.NET或者说是面向对象编程语言中的一个比较重要又比较难以理解的概念.关于这一话题,园子里的人也写了很多文章,最经典的可能就是张子阳的C#中的委托和事件这两篇文章了,之前也看过MSDN 上的WebCast深入 "委托和事件".可能和很多人一样,刚开始读的时候,觉得很清楚,但是过了一段时间好像又忘记了委托和事件的区别,知道很久以前,在一次面试中我被问到委托和事件有什么区别,一下子就说不清了. 所以这里稍微理一下,也算是自己的一个总结.当然,还是

浅谈C++多态性(转载)

转载:http://blog.csdn.net/hackbuteer1/article/details/7475622 C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言.我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握. 多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念.多态(polymorphisn),字面意思多种形状. C++多态性是通过虚函数来实现的,虚函数允许子

浅谈MVC

浅谈MVC What is MVC? MVC与模板概念的理解:MVC(Model View Controller)模型-视图-控制器 MVC本来是存在于Deskt op程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC 的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.比如一批统计数据你可以分别用柱状图.饼图来表示.C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新. 模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Small

浅谈五大Python Web框架

http://www.csdn.net/article/2011-02-17/292058 导读:作者飞龙写了一篇<浅谈Python Web框架>,文中他介绍了几个Python Web框架和自己对选择框架的分析.在他看来,用Django来快速开发一些Web运用是很不错的选择.以下是文章内容: 说到Web Framework,Ruby的世界Rails一统江湖,而Python则是一个百花齐放的世界,各种micro-framework.framework不可胜数,不完全列表见: http://wik

浅谈Java中的对象和引用

浅谈Java中的对象和对象引用 在Java中,有一组名词经常一起出现,它们就是"对象和对象引用",很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然.今天我们就来一起了解一下对象和对象引用之间的区别和联系. 1.何谓对象? 在Java中有一句比较流行的话,叫做"万物皆对象",这是Java语言设计之初的理念之一.要理解什么是对象,需要跟类一起结合起来理解.下面这段话引自<Java编程思想>中的一段原话: "按照通