C语言
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
特点
- C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
- C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
- 不同的变量类型可以用结构体(struct)组合在一起。
- 只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
- 部份的变量类型可以转换,例如整型和字符型变量。
- 通过指针(pointer),C语言可以容易的对存储器进行低级控制。
- 预编译处理(preprocessor)让C语言的编译更具有弹性。
优点
- 简洁紧凑、灵活方便
- 运算符丰富
- 数据类型丰富
- 表达方式灵活实用
- 允许直接访问物理地址,对硬件进行操作
- 生成目标代码质量高,程序执行效率高
- 可移植性好
- 表达力强
缺点
-
C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。
-
C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。也就是说,对用C语言的人,要求对程序设计更熟练一些。
C++
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。
C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
特点
-
支持数据封装和数据隐藏
-
支持继承和重用
-
支持多态性
优点
- 代码可读性好。
- 可重用性好。
- 可移植。
- C++设计成无需复杂的程序设计环境
- 运行效率高,高效安全
- 语言简洁,编写风格自由。
- 提供了标准库stl
- 面向对象机制
缺点
- 相对java来说,没有垃圾回收机制,可能引起内存设漏;
- 内容较多较难,学起来相对困难;
C#
C#是微软公司发布的一种面向对象的高级程序设计语言。
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性
特点
- 简洁的语法
- 精心地面向对象设计
- Web的紧密结合
- 完整的安全性与错误处理
- 版本处理技术
- 活性与兼容性
优点
- 类库多
- 上手快
- 利于快速开发。
缺点
- C#不适用于编写时间急迫或性能非常高的代码
- C#缺乏性能极高的应用程序所需要的关键功能,包括保证在所代码的特定地方运行的内联函数和析构函数。但这类应用程序非常少。
VB语言
Visual Basic(简称VB)是Microsoft公司开发的一种通用的基于对象的程序设计语言,为结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。是一种可用于微软自家产品开发的语言。
“Visual” 指的是开发图形用户界面 (GUI) 的方法——不需编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象add到屏幕上的一点即可。 “Basic”指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 语言,是一种在计算技术发展历史上应用得最为广泛的语言。Visual Basic源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建Active X控件,用于高效生成类型安全和面向对象的应用程序。
程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
特点
- 可视化的设计平台
- 事件驱动的编程机制
- 结构化的程序设计语言
- 强大的数据库功能
- ActiveX技术
- 网络功能
优点
- 可视化的界面
- 操作简单
- 易学
- 功能强大,可以与Windows专业开发工具相媲美;
- VB始终是最高效、开发成本最低的强大的开发工具;
- 简单易学、效率高;
缺点
- 解释性执行比较慢
- 相比其他占内存比较大
java
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程
特点
- 简单性
- 面向对象
- 分布性
- 编译和解释性
- 稳健性
- 安全性\
- 可移植性
- 高性能
- 多线索性
- 动态性
优点
- 一次编写,到处运行。
- 系统的多平台支持。
- 强大的可伸缩性。
- 多样化和功能强大的开发工具支持。
缺点
- 与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
- Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的。java文件和.class文件,以及对应的版本文件。
PHP语言
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快 。
特点
- 开放源代码
- 免费性
- 快捷性
- 跨平台性强
- 效率高
- 图像处理
- 面向对象
- 专业专注
优点
- 开源
- 免费性
- 快捷性 [程序开发快,运行快,技术本身学习快]
- 跨平台性强
- 效率高
- 图像处理
缺点
- 函数命名不规范 驼峰法和下滑线,传参位置不一 你知道的
- 单线程
- 核心异步网络不支持(当然在linux只有同步非阻塞网络模型)。
- 只支持web开发,不方便做 .exe文件,不方便做桌面应用程序. 不方便做手机程序.
- 后期维护困难。后期提速空间局限性较大。
- PHP的解释运行机制。
python
Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
特点
- 易学
- 免费、开源
- 高层语言
- 可移植性
- 解释性
- 面向对象
- 可扩展性
- 可嵌入性
- 丰富的库
优点
- 易学
- 免费 开源
- 可移植性
- 可扩展性
- 可嵌入性
缺点
- 速度慢
- 代码不能加密
- 线程不能利用多CPU问题
参考资料: