在学习和工作中,人们常常会把各种编程语言拿出来做对比,特别是刚刚开始入门学习IT的同学。实际上,每门语言自己的优缺点有时候也正是语言本身的特性,在学习中,我们更应该关心的是应用场景,哪门语言适合哪个场景,而不是说JAVA语言好,什么东西全部用JAVA进行开发。就像有人把各种编程语言比作车,不同的场景需要不同的车:

Java:旅行车。驾驶容易,速度不会太快,安全。

PHP:Wienermobile。有着抓人眼球的外表,但驾驶难度大。不过越是有难度人们越喜欢驾驭。

C:赛车。跑的快。就是爱抛锚。稍疏忽就撞了。

C++:升级版赛车。加入新的功能,且不爱抛锚。一旦抛锚,一般也找不到原因。

这里面有很多开玩笑的成分,不过却也较为直观地展示出各自的差异。下面小哥哥就针对这几种编程语言,来具体说一说他们之间各自的特点。

PHP

PHP是将程序嵌入到超文本标记语言文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。最重要的是PHP可以用C、C++进行程序的扩展!

优点:开源 免费性 快捷性 (程序开发快,运行快,技术本身学习快)框架多且成熟

缺点:单线程、只支持web开发、核心异步网络不支持。

场景:通常用于WEB逻辑脚本。

Java

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

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

优点:简单、安全、稳定、跨平台

缺点:需要运行环境、不适合开发桌面应用程序

场景:运用广泛:用于WEB逻辑代码,Android应用的开发代码。服务器代码。

C语言

结构化程序,编程语言中比较早,而且方便使用的语言。代码和数据分隔化,程序的各个部分除了必要的信息交流外彼此独立。C语言以函数的形式提供给用户,具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

简洁紧凑,灵活使用。C语言一共只有32个关键字,9种控制语句,程序书写自由。它把高级语言的基本结构和语句与低级语言的实用性结合起来。语法限制不太严格,编写者有自由设计的空间。

优点:具有很高的运行效率、简洁紧凑、使用灵活的语法机制,并能直接访问硬件、可移植性。

缺点:复用性差、维护性差、扩展性差。

场景:适合做底层开发,嵌入式开发。

php java c_当PHP、Java、C、C++ 这几种编程语言变成汽车是什么样的场景?相关推荐

  1. 如果把PHP、Java、Python、C、C++ 这几种编程语言类比到王者荣耀里的英雄会怎样

    Java就是吕布,没钱就没伤害也没坦度,前中期都要发育,先出防装再堆输出装,装备起来了,砍谁都是几刀的事,但前提是附魔,没有附魔还是打不出伤害.Java就这样,你必须按照框架和设计模式的条条框框(附魔 ...

  2. PHP、Java、Python、C、C++ 这几种编程语言都各有什么特点或优点?

    Java 犹如宫泽贤治的<不畏风雨>中出现的.性格木讷的女孩子.从小就由于迟钝和大食量等特征被别人当作笨蛋,从小学入学开始进入田径部.坚持跑步,在中长跑中经常取得好成绩,给人以活泼的印象. ...

  3. attribute java c_属性别名(Attribute Aliasing)

    属性别名(Attribute Aliasing) 属性别名用于将成员变量序列化为XML属性. 让我们再次修改我们的示例并将以下代码添加到其中.xstream.useAttributeFor(Stude ...

  4. 广东java工资一般多少_广东java工资待遇,广东java工资一般多少,广东java工资底薪最低多少...

    广东java工资待遇,广东java工资一般多少,广东java工资底薪最低多少 首页 > java > 广东java工资待遇 作者:镀金池   发布时间:2018-12-22 11:20 在 ...

  5. 解决Apache CXF 不支持传递java.sql.Timestamp和java.util.HashMap类型问题

    在项目中使用Apache开源的Services Framework CXF来发布WebService,CXF能够很简洁与Spring Framework 集成在一起,在发布WebService的过程中 ...

  6. java web ubuntu_Ubuntu部署Java web项目

    登录服务器和给服务器传输文件,使用的工具是Xshell Xftp Mysql 安装mysql 输入:sudo apt-get update                     更新软件列表 输入: ...

  7. java反射最佳实践,java反射性能测试分析

    java反射性能测试分析 java有别于其他编程语言而让我着迷的特性有很多,其中最喜欢的是接口设计,他让我们设计的东西具有美感.同样反射也是我比较喜欢的一个特性,他让程序自动运行,动态加载成为了可能, ...

  8. Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包...

    一,实例:新建了一个Maven项目,在eclipse中通过 build path –> configure path-.将依赖包添加到工程中后,eclipse不报错了.但是用Maven命令 mv ...

  9. Java常用命令及Java Dump

    线程Dump,包含所有线程的运行状态.纯文本格式. 堆Dump,包含线程Dump,幵包含所有堆对象的状态.二进制格式. Java Dump方法 1.使用Java虚拟机制作Dump 指示虚拟机在发生内存 ...

最新文章

  1. Console-算法[for,if]-(大马-小马-马驹托砖)
  2. Leetcode 31. 下一个排列 (每日一题 20210831)
  3. OpenCV消除傅立叶域中的周期性噪声的实例(附完整代码)
  4. python课本第二章答案_《Python自然语言处理》答案第一、二章
  5. USB基础与重点梳理—关于USB的问题
  6. 设计模式C++实现(4)——原型模式、模板方法模式
  7. linux 80中断,在64位Linux上使用中断0x80
  8. ie8 的断字/断行 bug
  9. 谷歌android q 安装,谷歌修复了Pixel智能机安装Android Q Beta 4后循环重启的bug
  10. python json转字符串_python如何将json转成字符串
  11. 大米云主机首批优秀体验师新鲜出炉——综合篇
  12. python混合线性模型_如何在Python statsmodels中有多组线性混合效应模型?
  13. 云原生小课堂 | Envoy请求流程源码解析(一):流量劫持
  14. java近义词,虚拟的近义词
  15. 一个简单移动页面ionic打包成app
  16. FCP-报表交付工程师考试经验
  17. 安卓选择市区的省市区联动
  18. matlab---矩阵运算函数
  19. 操作系统中断概念梳理
  20. 半导体器件基础(期末模电速成)

热门文章

  1. visual报表服务器项目,为 Visual Studio ALM 创建报表服务器项目
  2. 灰色关联法 —— python
  3. Python MySQL更新表
  4. 【OpenCV 例程200篇】95. 几何均值滤波器
  5. Php获取id并提交表单,提交表单后 PHP获取提交内容的实现方法
  6. python段子_Python爬取内涵段子里的段子
  7. most recent call last 报错_视频|救援情景剧、创意快闪……400w+人次为重庆这场消防宣传活动打call...
  8. 通过conda安装imgaug
  9. 【Maven】Eclipse中的Maven项目安装与配置
  10. java位运算(转)