首先不把可移植叫做跨平台,很多人容易搞混这个概念。
那么跨平台语言最大特点是不编译机器码,不使用系统API。
1. 不编译机器码,因为不同环境CPU不同,虽然PC都是x86,但如果不是PC而是手机,那么CPU的指令集就不是x86,那么你的机器码就全废,不能跨平台。
2. 不使用操作系统API,很简单不同的系统API定义不同,用法不同,软中断向量不同,凡是使用系统API创建线程,创建进程的代码,代码将无法通用。
java运行在虚拟机上,编译的代码是JVM在运行,逻辑直接运行者不是CPU,只要硬件装JVM,那么不需要关心是什么CPU,同理他把系统API封装成了JAVA通用的库,虽然系统不同,但系统内核做的都是做相似的事,封装一下,也是到处使用,所以没问题,还有上面提到的QT,就是靠这样封装统一化实现跨平台或可移植,但问题是QT不是编程语言,所以答非所问。。。
但语言本身跨平台不代表代码跨平台,否则PC和android就不会要写两个版本的java了,因为很多系统资源想要全部用统一封装,这工作量极大,也容易带来一些负面作用,这是要付出代价的,有代价没回报(比如微软做一个支持android系统的VS,而且能在PC上运行,做这个回报在哪里?做了也有可能被程序开发者认为哗众取宠,无意义,做两个APP不算问题,两者出现不兼容BUG才是问题),没有回报就没人做这个造福人类的工作,所以java的一次编译处处运行,看起来很美,实际只是句扯淡话,但这不妨碍说java是跨平台语言,只是工作没做到位。
另一种跨平台叫做宏语言,很多此类语言是不用编译,这类语言通常工作范围受限,比如专门就是搞网页,专门就是搞数据库,以及flash的as脚本等等。。拿HTML来说,他是不编译的,说到底他只是个协议,这个语言的目就是用文本描述网页呈现,有浏览器商来实现这个协议,它可以实现android版本,PC版,苹果版的浏览器,但都识别HTML脚本,那么HTML就是个跨平台语言。。。其他此类语言也是同理,形象的说他们算是是一个的抽象协议,需要执行他们的APP或者服务来运行他们,只要开发商按约定的协议做程序,这个语言就跨平台,但这种宏语言,功能范围被限定。。。

都有哪些语言是跨平台的?相关推荐

  1. 聊聊在博客园写博客的这两年《Unity 3D脚本编程:使用C#语言开发跨平台游戏》正式出版...

    版本状态: 2016.9 第一次印刷 (2016.11 输出到台湾) 2017.1 第二次印刷 2017.5 第三次印刷 2017.5 电子书上线:Unity 3D脚本编程--使用C#语言开发跨平台游 ...

  2. java和c语言的区别_都说C语言不会过时,但你是否还需要掌握其他语言?

    01为什么C语言不会过时 评价任何一门编程语言,都是招人骂的.永远是这样.就像是春寒料峭的季节, 街上穿棉袄和穿单衣的擦肩而过,双方一定是同时在心里出现了两个字:"傻B!"这个在心 ...

  3. 《Unity 3D脚本编程:使用C#语言开发跨平台游戏》序言

    本文是7月受陈嘉栋的委托为他的新书<Unity 3D脚本编程:使用C#语言开发跨平台游戏>所写的序言,借助序言告诉大家.NET平台有着一个广阔的使用场景. 序言 Unity3D 是由两个具 ...

  4. 利用C#语言实现跨平台小闹钟

    本文由 CDFMLR 原创,收录于个人主页 https://clownote.github.io,并同时发布到 CSDN.本人不保证 CSDN 排版正确,敬请访问 clownote 以获得良好的阅读体 ...

  5. 看聊天记录都学不会C语言?太菜了吧》(16)我一直以为校花很漂亮,直到我叫了她一声...

    好消息2020年4月13日晚7.30我在CSDN开播,等你来聊天 预约连接:https://live.csdn.net/room/A757291228/MJWK0Gem 本系列文章将会以通俗易懂的对话 ...

  6. 《看聊天记录都学不会C语言?太菜了吧》(15)你学了一节课的函数我5分钟搞定了,还很熟

    好消息2020年4月13日晚7.30我在CSDN开播,等你来聊天 预约连接:https://live.csdn.net/room/A757291228/MJWK0Gem 本系列文章将会以通俗易懂的对话 ...

  7. 《看聊天记录都学不会C语言?太菜了吧》(14)这么神奇?我写了20行代码竟然一行就可以搞定?

    好消息2020年4月13日晚7.30我在CSDN开播,等你来聊天 预约连接:https://live.csdn.net/room/A757291228/MJWK0Gem 本系列文章将会以通俗易懂的对话 ...

  8. 《看聊天记录都学不会C语言?太菜了吧》(13)(9*9 乘法表)寻找电脑中的盲盒彩蛋

    好消息2020年4月13日晚7.30我在CSDN开播,等你来聊天 预约连接:https://live.csdn.net/room/A757291228/MJWK0Gem 本系列文章将会以通俗易懂的对话 ...

  9. 《看聊天记录都学不会C语言?太菜了吧》(12)循环有多容易?你看一眼就怀...

    好消息2020年4月13日晚7.30我在CSDN开播,等你来聊天 预约连接:https://live.csdn.net/room/A757291228/MJWK0Gem 本系列文章将会以通俗易懂的对话 ...

最新文章

  1. linux 线程库在哪里,linux线程库
  2. java 新区 老区_优学院《土地资源学》答案在线查题2020高校邦《Java核心开发技术【实境编程】》章测试答案...
  3. php正则表达式以及正则函数详解
  4. JavaScript in Action
  5. L2-006. 树的遍历-PAT团体程序设计天梯赛GPLT
  6. linux下两个线程交替打印,两个线程交替打印AB
  7. android studio bug : aidl is missing 解决方案
  8. java斗地主发牌源码
  9. shell遍历ip执行特定功能
  10. 【C语言小游戏】答题系统
  11. word文件打开就是只读模式,怎么取消?
  12. cmake出现undefined reference to `boost::this_thread::hiden::sleep_until(timespec const)‘
  13. excel转换mysql建表_把 excel 和 mysq l数据库相互转换
  14. python --给图片加文字
  15. css设置文本显示高度隐藏超出部分
  16. dockernvidia-docker快速入门学习笔记
  17. CEF3:与 JavaScript 整合(二)
  18. NPOI导出和导入Excel,Word和PDF
  19. 最新变色龙4.7 AnSeries分色版软件
  20. 骨传导耳机原理是什么?骨传导耳机科普及品牌推荐

热门文章

  1. 一个程序员的丰功伟绩
  2. Ant Motion 动效的使用方法,以及api无法不生效的问题
  3. 改变 Windows 用户文件夹默认位置
  4. 寂然解读设计模式 - 单一职责原则
  5. snmptester 最新版下载地址
  6. 影像传感器尺寸换算(英寸-毫米)
  7. 安卓实现老虎机抽奖的案例
  8. 【课程】04 土壤水动力学
  9. 部署项目vue +阿里云服务器 + 宝塔面板
  10. 七牛云上传图片和视频