跨平台OR 跨语言

一、跨平台OR 跨语言

跨平台——JAVA

跨平台概念是软件开发中一个重要的概念,即不依赖于操作系统,也不信赖硬件环境。

一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。相对而言如果某种计算机语言不用修改代码即可做到高度跨平台,那么此语言就越抽象,硬件控制力就越低,只适合开发高度抽象的模型系统。诸如java,delphi和易语言,都已做到了跨平台。它们将可以在多种系统下开发,运行和维护。

广义而言,一般的计算语言都可做到跨平台,开发商只需要提供各种平台下的Runtime/中间件环境即可。严格而言是指用某种计算机语言编制的程序只需要做小量的修改,编译之后即可在另外一种平台下运行,此时并不提供Runtime/中间件环境。例如Java是一种提供Runtime环境的跨平台解决方案,而C是一种标准且严格的跨平台语言。

跨语言——.NET

跨语言的平台是指.NET是微软为了抗衡Java做出的对策。它包括了很多种以前的语言,比如J#,C#,C++,意思就是以前的老语言在.NET平台上都可以用,而未来程序的发展方向是跨语言平台,就是同样一个系统,可以是java写的也可以是c#写的,同样也可以是java和C#共同在运行,这个也就是跨语言平台。

VS

通过跨语言编程,可以用另一种方法来实现跨平台,试想一下。UNIX环境下,用C写的程序,可以通过在WINDOWS下再编译一下就运行,而不用作任何改过,这不是跨平台吗?只不过它需要重新编译一下而已。而且,我认为,由于各种平台在运行环境上的不同,要想象java那样用同一种语言来实现跨平台,它的效率是很难比得上专为特定平台设计的语言的。

所以我觉得跨语言的实现方法,会比单语言跨平台的方法更加有效。当然唯一的缺点就是我们要学习多种语言。

跨平台还是跨语言,我的观点是必须从不同的角度来看问题,我个人认为从开发者的角度应该是跨语言重要(不是说跨平台不重要)。从用户的角度,那么就使跨平台重要了,作为用户,他们希望购买的软件可以不做任何修改就可以运行在不同的平台。

总结

通过在软考复习中学习的“编程语言”,自己浅显的对跨平台和跨语言进行的理解如下,欢迎大家指正:

相同:第一次编译都是产生各自的“字节码”,与机器无关。

都需要运行平台上安装“运行环境”,java是JVM(Java虚拟机),.NET是需要.NET Framework .

不同:JAVA 的第二次编译在JVM中自动进行。

.NET 的第二次编译需要手动执行。



跨平台OR 跨语言

时间: 2024-10-07 02:19:59

跨平台OR 跨语言的相关文章

C++实现,支持跨平台(Windows,Android,IOS),支持跨语言(C++,C#,Java)的网络库

这个网络库是在 CppNetworkLibrary(http://www.cnblogs.com/winter-yu/p/4688481.html )的基础之上做的一些优化与调整. 具体的亮点如下: 1,支持跨跨平台,包括主流的Windows,Android,IOS,Linux等等. 2,跨语言,客户端支持C++,C#,Java.服务端目前只支持C++. 3,数据包增加了加密及压缩功能,密码会动态随机修改,而不是双方都使用固定密码,保证了数据包的传输安全. 4,客户端支持P2P的消息传输,而不需

做一个分布式、跨语言、跨平台、敏捷 需要那些技术做支撑?

做了7年的开发了,时间越久越是发现自己需要一个像标题写的那样的一个架构做为整个平台的支撑. 我的技术种类又是.net开发,总觉得.net技术人才容易出现瓶颈:其实这种瓶颈更像是这种环境造成的.简单快捷的开发本来就是.net所追求的,而这种追求导致整个语言平台在技术上都喜欢用最直接简单的方法解决问题,至于架构,可维护,持续升级,还是等项目上线或是出了问题之后再说.成熟.稳健并被公认的技术架构似乎每个做技术的都是见仁见智,都有自己独立的理解,而像java一样ssh等成熟公认的架构在业界基本寥寥无几,

Apache Thrift 跨语言服务开发框架

Apache Thrift 是一种支持多种编程语言的远程服务调用框架,由 Facebook 于 2007 年开发,并于 2008 年进入 Apache 开源项目管理.Apache Thrift 通过 IDL 来定义 RPC 的接口和数据类型,然后通过代码生成工具来生成针对不同编程语言的代码,目前支持 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCa

Golang、Php、Python、Java基于Thrift0.9.1实现跨语言调用

目录: 一.什么是Thrift? 1) Thrift内部框架一瞥 2) 支持的数据传输格式.数据传输方式和服务模型 3) Thrift IDL 二.Thrift的官方网站在哪里? 三.在哪里下载?需要哪些组件的支持? 四.如何安装? 五.Golang.Java.Python.PHP之间通过Thrift实现跨语言调用 1) Golang 客户端和服务端的实现及交互 2) python 客户端的实现与golang 服务端的交互 3) php 客户端的实现与golang 服务端的交互 4) java

(转)使用Thrift0.9.1实现跨语言调用Golang、Php、Python、Java

问题导读:什么是Thrift?Thrift的官方网站在哪里?Golang.Java.Python.PHP之间如何通过Thrift实现跨语言调用? 一.什么是Thrift Thrift是一种可伸缩的跨语言服务的发展软件框架.它结合了功能强大的软件堆栈的代码生成引擎,以建设服务. Thrift是facebook开发的,07年4月开放源代码,08年5月进入apache孵化器.创造Thrift是为了解决facebook系统中各系统间大数据量的传 输通信以及系统之间语言环境不同需要跨平台的特性.所以thr

跨语言学习对程序员的发展意义

先来看为什么要学编程语言?未来但凡涉及到"智能.科技"的行业,都会和编程相关.即使是硬件开发,除了画PCB板,焊锡出硬件电路板之后,就是编程的工作了.如:单片机开发,嵌入式开发.这些的开发语言诸如C51,很多是由C语言演化过来.那么软件就几乎都是编程的天下了.所以以后只要走科技行业,都离不了编程. 很多人怀抱这种想法:那就是专一!这个在一定程度上有道理,但却忘记了另外一句话:相辅相成.你只懂js和懂C/C++,JS,PHP,二者的发展前途绝对不一样.前者藏起来是把宝剑,后者就是手持宝剑

Java跨语言调用,使用JNA访问Java外部接口

1. JNA简单介绍 先说JNI(Java Native Interface)吧,有过不同语言间通信经历的一般都知道,它允许Java代码和其他语言(尤其C/C++)写的代码进行交互,只要遵守调用约定即可.首先看下JNI调用C/C++的过程,注意写程序时自下而上,调用时自上而下. 可 见步骤非常的多,很麻烦,使用JNI调用.dll/.so共享库都能体会到这个痛苦的过程.如果已有一个编译好的.dll/.so文件,如果使用JNI技 术调用,我们首先需要使用C语言另外写一个.dll/.so共享库,使用S

基于Thrift的跨语言、高可用、高性能、轻量级的RPC框架

功能介绍 跨语言通信 方便的使Java.Python.C++三种程序可以相互通信 负载均衡和容灾处理 方便的实现任务的分布式处理 支持服务的水平扩展,自动发现新的服务节点 能够兼容各种异常情况,如节点的异常down机 可视化管理 通过服务管理系统可以方便查看服务状态和统计信息 与原生thrift通信 支持与原生thrift服务进行通信 与业内方案的对比 与thrift.avro.hessian相比,harpc支持了高可用,并且更加易用 与dubbo相比,harpc支持了跨语言,并且更轻量级 与i

atitit.跨语言执行cmd cli api的原理及兼容性设计草案

atitit.跨语言执行cmd cli api的原理及兼容性设计草案 1. 标准输入,标准输出,标准错误与重新定向1 2. 常见问题2 2.1. 执行bat文件2 2.2. 执行bat文件  /c  与/k   /k  参数,有利于调试2 2.3. Bat参数的隐藏命令::使用@后头符2 2.4. 空格的问题 双引号解决2 2.5. 回显乱码 cmd win默认是gbk编码..使用gbk编码读取佐ok2 2.6.  双引号转译问题2 2.7. Name param的问题2 3. Java cod