程序员常用的计算机编程语言介绍

        编程语言之间的pk一直是码农争相讨论的问题,究竟哪种语言好,没有一个准确的答案,因为对于不同的需求来说,对强大的定义不同。以下是对八种主流编程语言或脚本的对比,希望对大家了解编程语言有帮助。
C语言

    【概述】

        C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。诞生于1972年。

    【基本特点】

  1. 高级语言: 它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。
  2. 结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。
  3. 代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。
  4. 使用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。

    【特有特点】

  1. C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
    2 C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
  2. 不同的变量类型可以用结构体(struct)组合在一起。
  3. 只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
  4. 部份的变量类型可以转换,例如整型和字符型变量。
  5. 通过指针(pointer),C语言可以容易的对存储器进行低级控制。
  6. 预编译处理(preprocessor)让C语言的编译更具有弹性。

    【优点】

  1. 简介紧凑,灵活方便;

  2. 运算符丰富;

  3. 数据类型丰富;

  4. 表达方式灵活实用;

  5. 允许直接访问物理地址, 对硬件进行操作;

  6. 可移植性好

    【缺点】

  1. C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。
  2. C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。也就是说,对用C语言的人,要求对程序设计更熟练一些。

    【用途】
      C语言被用于构建及重现Unix操作系统。

C++
    【概述】

      C++是一种面向对象的计算机程序设计语言。它是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。C++是C语言的继承,进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。

    【特点】

  1. C++在一定程度上可以和C语言很好的结合,甚至大多数C语言程序是在C++的集成开发环境中完成的。C++相对众多的面向对象的语言,具有相当高的性能。

  2. C++引入了面向对象的概念,使得开发人机交互类型的应用程序更为简单、快捷。很多优秀的程序框架包括MFC、QT、wxWidgets就是使用的C++。

    【优点】

  1. C++设计成静态类型、和C同样高效且可移植的多用途程序设计语言。

  2. C++设计成直接的和广泛的支持多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)。

  3. C++设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误。

  4. C++设计成尽可能与C兼容,借此提供一个从C到C++的平滑过渡。

  5. C++避免平台限定或没有普遍用途的特性。

    【缺点】

  1. C++由于语言本身过度复杂,这甚至使人类难于理解其语义。更为糟糕的是C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器也存在了大量的问题,这些问题大多难于被发现。

  2. 由于本身的复杂性,复杂的C++程序的正确性相当难于保证。也有人提出不支持多线程的原语等缺陷。不过有如此多的知名人士提出了如此多的缺陷,正说明C++被广泛使用和成功。

  3. C++语言由于过度的复杂性,以及与Unix的文化相抵触,在Unix/Linux领域受到很多著名人士(比如Linux之父Linus Torvalds与著名黑客Eric S. Raymond)的强烈批评与抵制。

    【用途】

    C++用于构建。软件开发,搜索引擎,操作系统,视频游戏等。大型网站有Google,Outlook等。

Java

    【概述】

      Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

    【特点及优点】

  1. 简单性。Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。

  2. 面向对象。Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。

  3. 分布性。Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。

  4. 编译和解释性。Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。

  5. 稳健性。Java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成写高可靠和稳健软件的。Java消除了某些编程错误,使得用它写可靠软件相当容易。

  6. 安全性。Java的存储分配模型是它防御恶意代码的主要方法之一。Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。更重要的是,Java编译程序不处理存储安排决策,所以程序员不能通过查看声明去猜测类的实际存储安排。编译的Java代码中的存储引用在运行时由Java解释程序决定实际存储地址。

    【缺点】

  1. 占用大量内存。Java使用的内存量高于C++;
  2. 不是最易上手的编程语言;
  3. 启动时间较长。模拟器代码在台式机上运行速度缓慢。

    【用途】

    Java用于构建。Java是Android操作系统的基础。

Python

    【概述】

      Python是一种面向对象的解释型计算机程序设计语言。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。

    【特点】

  1. 简单。Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
  2. 易学:Python极其容易上手,因为Python有极其简单的说明文档。
  3. 速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。
  4. 免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
  5. 高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

    【缺点】

  1. 单行语句和命令行输出问题:很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。

  2. 由于本身的复杂性,复杂的C++程序的正确性相当难于保证。也有人提出不支持多线程的原语等缺陷。不过有如此多的知名人士提出了如此多的缺陷,正说明C++被广泛使用和成功。

  3. 独特的语法。这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。

  4. 运行速度慢:这里是指与C和C++相比。

    【用途】

      PHP用于构建。Web开发,视频游戏开发,桌面GUIs,软件开发等。著名网站有YouTobe、Spotify等。

PHP

    【概述】

        PHP(超文本预处理器)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。

    【优点】

  1. 简单易学。PHP的语法类似与C,ASP或JSP。

  2. 可拓展性 。PHP已经进入了一个高速发展的时期。对于一个非程序员来说为PHP扩展附加功能可能会比较难,但是对于一个PHP程序员来说并不困难。

  3. 面相对象PHP提供了类和对象。基于web的编程工作非常需要面向对象编程能力。

    【缺点】

  1. 学习门槛很低,项目中存在着大量的经验不足的开发者,某些开源代码甚至已经存在十余年。

  2. PHP为解释性语言,其代码运行速度低于大部分

  3. 独特的语法。这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还编程语言竞争对手。

  4. 错误处理机制不够好,特别是与其他编程语言相比较。

    【用途】

    PHP用于构建。WordPress插件,Web开发,创建包含数据库功能的页面等。著名网站有facebook、WordPress等。

C#

    【概述】

      C#是微软公司发布的一种面向对象的、运行于NET Framework和NET Core(完全开源,跨平台)之上的高级程序设计语言。C#是微软公司研究员Anders Hejlsberg的最新成果。

    【特点】

  1. C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

    【优点】

  1. 全面集成.Net库,提供出色的功能与完美的库访问能力

  2. 简单可视化操作。

  3. 高运行效率。

  4. 功能强大。

    【缺点】

由于集成.Net库造成跨平台能力太差。目前.Net在国内就业环境不太好,收入较低。

    【用途】

   &nbspC#用于构建。Windows应用,企业级商务应用,软件开发。著名网站有stackoverflow, EVERNOTE等。

Ruby

    【概述】

      Ruby一种为简单快捷面向对象编程而创的脚本语言,Ruby是一个语法像Smalltalk一样完全面向对象、脚本执行、又有Perl强大的文字处理功能的编程语言。它的灵感与特性来自于Perl、Smalltalk、Eiffel、Ada以及Lisp语言。

    【特点】

  1. 运算符重载
  2. 自动垃圾回收
  3. 弱类型(动态类型|标量变量)
  4. 变量无需声明
  5. 巨大的标准库(函式库;library)

    【优点】

  1. 语法简单。

  2. 普通的面向对象功能(类,方法调用等)。

  3. 特殊的面向对象功能(Mixin,特殊方法等)。

  4. 操作符重载。

  5. 迭代器和闭包。

  6. 垃圾回收

  7. 动态载入(取决于系统架构)

  8. 可移植性高.不仅可以运行在多数UNIX上,还可以运行在DOS,Windows,Mac,BeOS等平台上

  9. 适合于快速开发,一般开发效率是JAVA的5倍

    【缺点】

  1. 说明文档较少。
  2. 运行速度较慢。

    【用途】

    Ruby用于构建。桌面GUIs,Web应用,Web开发。著名网站有hulu,airbnb,GROUPON等。

JavaScript
    【概述】
        Javascript是一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的直译语言。它已经由欧洲电脑制造商协会通过ECMAScript实现语言的标准化。JavaScript虽与Java有很多相似性,但这两门编程语言从设计之初就有很大的不同,JavaScript的语言设计主要受到了Self(一种基于原型的编程语言)和Scheme(一门函数式编程语言)的影响。

    【特点】

  1. 面向对象性。javascript中并没有类的概念,但是javascript使用了一种叫“原型化继承”的模型,而且javascript中也有作用域、闭包、继承、上下文对象等概念。
  2. 作用域。作用域是指变量存在的域,在文档中的javascript脚本的作用域都是window。在javascript,function和let分隔作用域。
  3. 闭包。闭包也和作用域有关,它指的就是一个封闭的作用域(拥有外部变量,函数无法访问的变量和函数),一般都是用一个匿名函数来做成闭包的。
  4. 上下文对象。上下文对象指的就是this对象。它是一个只能读取而不能直接赋值的对象(就是你只能对this拥有的属性和方法赋值)。上下文对象在javascript可以说发挥的淋漓尽致。

    【优点】

  1. 运行速度。作为客户端脚本语言,JavaScript中的任意代码函数均可立即运行,而无需等待服务链接及应答。
  2. 简单性。相对易于学习及使用。
  3. 能够与其他多种语言顺利协作,能用于多种应用程序。与PHP或SSI脚本不同的是JavaScript可被插入任何网页而无需考虑文件拓展名。

    【缺点】

  1. 安全性。由于代码在用户计算机上执行,因此有时会被恶意活动利用,正因为如此,部分用户会选择禁用JavaScript。
  2. 最终用户依赖性。有时在不同浏览器上以不同方式进行解释。相较于总能提供同样输出结果的服务端脚本,JavaScript客户端脚本的可预测性相对较差。不过这一问题并不是非常严重,只要我们在全部主流浏览器上对脚本进行充分测试即可。

    【用途】

    JavaScript用于构建。网站前端,分析,功能控件,Web交互。著名网站有PayPal,YouTobe等。

参考资料
https://baike.sogou.com/ 搜狗百科

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值