大家好,今天小编关注到一个比较有意思的话题,就是关于java语言摒弃c语言的问题,于是小编就整理了3个相关介绍Java语言摒弃c语言的解答,让我们一起看看吧。
c+和j***a哪个更值得学习?
优先J***a.
J***a是一门面向对象编程语言,不仅吸收了c++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此J***a语言具有功能强大和简单易用两个特征。J***a语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
J***a具有简单性、面向对象、分布式、健壮性、安全性、平***立与可移植性、多线程、动态性等特点 。J***a可以桌面应用程序、web应用程序、分布式系统和嵌入式系统应用程序等
为什么会有人觉得j***a相对于c++来说,就是一次进化?
进化只是相对来说的。每个语言都有自己擅长的领域。j***a适合web。c+适合游戏和桌面程序。py适合ai。c适合底层。c#有点类似j***a。没有谁进化谁。只是有些语言抛弃了一些难懂的东西。使学习成本降低同时也牺牲掉了性能
当你了解计算机组成原理之后及相关多种语言开发(高级语言和低级语言比如汇编)经验之后,你就会更明白:
c++相对于j***a来说,还算偏底层,最简单的实验就是我们必须给程序地址,而j***a的内存都是自动管理,一般情况不需要程序猿手动分配,它有专门的机制,比如垃圾回收GC等等,它摈弃了c或者c++中的指针,把万物皆看着对象处理;当你使用多语言开发经验之后,会对两种语言使用场景和用法等比较。
一个更加纯粹的面向对象语言,可以算得上是一次进化,那些编程中的复杂易错的部分问题,都由语言本身附带的技术给你解决,而使用者几乎不必关系,如此简单与方便,难道称不上是一次进化么!
Javascript和j***a有什么联系吗?
这个当然算是一起新员工上手接到不靠谱的需求造成的“惨案”了。
当时网景(Netscape)对于Sun公司的J***a很痴迷, 并已经进行了合作。因为在高层看来, J***a的“一次编译,到处运行”的广告很吸引人, 不就是我浏览器运行程序需要的吗? 对于现在的人肯定能马上识破这种广告的夸大其词和误导。 但是当时没有太多人能够发现J***a和浏览器上运行程序的语言设计上有什么太大的区别。
Brendan Eich本人当时已经34了, 是比较有经验的程序员,对函数式语言很感兴趣。他被招聘到网景一个月后就接到一个活儿, “设计一个网页脚本语言, 看起来很像J***a,但是比J***a简单上手”。然后Brendan Eich就花了10天时间设计出来了。的确是“看起来像面向对象的J***a,但实际上是函数式”的语言。 名字当然要蹭热点了, 就叫“JavaScript”。
所以要说有什么区别? 除了名字有点像, 区别就跟“麦当劳”和“麦当娜”一样大了。
参考:
阮一峰的网络日志-J***ascript诞生记
1、基于对象和面向对象:J***a是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象;J***aScript是种脚本语言,它可以用来[_a***_]与网络无关的,与用户交互作用的复杂软件。它是一种基于对象(Object-Based)和***驱动(Event-Driven)的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用;
2、解释和编译:J***a 的源代码在执行之前,必须经过编译;J***aScript 是一种解释性编程语言,其源代码不需经过编译,由浏览器解释执行;
3、强类型变量和类型弱变量:J***a***用强类型变量检查,即所有变量在编译之前必须作声明;J***aScript中变量声明,***用其弱类型。即变量在使用前不需作声明,而是解释器在运行时检查其数据类型;
4、代码格式不一样。
到此,以上就是小编对于j***a语言摒弃c语言的问题就介绍到这了,希望介绍关于j***a语言摒弃c语言的3点解答对大家有用。