当前位置: 首页 > 知识库问答 >
问题:

既然有了javascript为什么还要弄出来一个dart?

夹谷山
2023-12-14

这几天在学dart和flutter,真的发现dart和js一模一样,知道google为了取代js才有开发出了dart这个语言,但有一个问题有点不明白,google为什么要再去弄一个本来就有的语言?为了取代js弄出来dart,为了取代java弄出来golang,他们为什么要这样呢?

上面的问题有点想不明白,有懂的吗?

共有5个答案

楚宏胜
2023-12-14

dart和js真的一模一样吗,我这就去写flutter(我真的不知道)

孟振
2023-12-14

为了取代java弄出来golang?

曹成双
2023-12-14

Dart的官方网站第一句话就说明了原因:image.png
他与JS不是用一个场景, 也并不是一模一样

仲孙善
2023-12-14

你要考虑历史进程啊……

Dart 是 2009 年提出来的,2011 年正式公布。

今天你觉得前端技术发展日新月异,每个几个月一大堆新 API 就出来了,仿佛 JS 无所无能。

但十几年前可不是这样的,2011 年 IE 都还有大量市场份额,JS 规范工作推进缓慢,ES4 胎死腹中,浏览器厂商们勾心斗角……我们今天讲前端发展的一个重要里程碑 —— ES6,还要 4 年才会公布。

Google 作为浏览器大厂,在当时肯定是感觉 JS 这么搞下去就完犊子了,所以才想到要另起炉灶的。你问为啥 Google 不去继续发展 JS?当然也努力了啊。但显然人家是没打算把鸡蛋放同一个篮子里,Dart 是做另一手准备而已。毕竟 JS 不是一门 Google 专属的语言,它能不能怎么发展光靠 Google 自己说了又不算。现在我们知道 JS 发展得很好,但十几年前你敢打包票说未来一定是今天这样吗?


至于为啥 Flutter 框架选择了 Dart,这就是另一个话题了。

流传比较广的说法是因为当时 Flutter 想要搞各种事情,都需要编译器级别的底层支持,但当时 Google 内部除了 Dart 组,别的语言组都不鸟 Flutter(因为 Dart 本来就半死不活,没啥事儿干 ��),所以两组人马一拍即合相见恨晚惺惺相惜……


至于 Google 为啥要要去 Java 搞 Go,你怕不是忘它跟甲骨文因为 JDK 打了十多年的官司、最后判赔 88 亿美元吧。虽然后来又翻案了,但这种事情 Google 还怎能再来次“活动复刻”?

太叔栋
2023-12-14

这个问题涉及到编程语言的发展和选择,以及Google的策略。首先,JavaScript和Dart都是编程语言,它们各有优点和缺点。JavaScript最初被设计为在浏览器中运行,而Dart则是为了在服务器端运行而设计的。

Google开发Dart的原因主要有以下几点:

  1. 性能:Dart的性能优于JavaScript,尤其是在处理大型项目和复杂应用程序时。
  2. 开发效率:Dart的语法更简洁,易于学习,可以提高开发效率。
  3. 跨平台:Dart可以轻松地跨平台运行,这意味着开发人员可以使用相同的代码在多个平台上运行应用程序。
  4. 未来发展:Google认为Dart是未来编程语言的发展方向,因此投入了大量资源进行开发。

至于为什么Google要取代Java开发Golang,原因也是多方面的:

  1. 简洁性:Golang的语法比Java更简洁,易于学习和使用。
  2. 性能:Golang的性能优于Java,尤其是在处理并发和网络请求方面。
  3. 跨平台:Golang可以轻松地跨平台运行,这意味着开发人员可以使用相同的代码在多个平台上运行应用程序。
  4. 开源:Golang是开源的,这意味着任何人都可以使用和修改它。

总之,编程语言的选择是根据具体需求和目标来决定的。不同的语言有不同的优点和缺点,因此需要根据实际情况进行选择。

 类似资料:
  • 本文向大家介绍既然有了字节流,为什么还要有字符流?相关面试题,主要包含被问及既然有了字节流,为什么还要有字符流?时的应答技巧和注意事项,需要的朋友参考一下 问题本质想问:不管是文件读写还是网络发送接收,信息的最小存储单元都是字节,那为什么 I/O 流操作要分为字节流操作和字符流操作呢? 回答:字符流是由 Java 虚拟机将字节转换得到的,问题就出在这个过程还算是非常耗时,并且,如果我们不知道编码类

  • 据我所知,maven引入了依赖项。但是,如果我已经把依赖的罐子拉进去一次,并把它们放在git中,为什么我需要maven呢? 即使有多个开发人员,一旦依赖项在git中,每个开发人员在拉git回购时都会得到所有的依赖项,那么哪里需要maven呢? 我知道这个问题可能被认为是“基于意见的”,但是我试图理解如果依赖项已经在源代码控制中,maven提供了什么优势。 编辑:我说的是固定的,第三方依赖,如泽西,

  • 我读了这个关于如何实现这一点的老答案。但是,由于它涉及使用,这是一种现在已被弃用的方法,我认为我们需要更新答案。 我尝试过把标签放在一个HBox里面,然后得到它的大小,或者得到HBox的大小,但是没有任何运气。而且我也试过用. label.getBoundsInLocal()。getWidth()。 SSCCE:导入javafx.scene.control。标签导入javafx.scene.lay

  • 本文向大家介绍请你说一说有了进程,为什么还要有线程?相关面试题,主要包含被问及请你说一说有了进程,为什么还要有线程?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 线程产生的原因: 进程可以使多个程序能并发执行,以提高资源的利用率和系统的吞吐量;但是其具有一些缺点: 进程在同一时间只能干一件事 进程在执行的过程中如果阻塞,整个进程就会挂起,即使进程中有些工作不依赖于等待的资源,仍然不会执行

  • 我最近遇到了一个Java8类,它使用分隔符添加字符串并为其添加前缀和后缀,但我不明白这个类的需要,因为它也使用在后端,也执行非常简单的附加字符串操作。 我是否因为没有真正理解这门课的真正目的而错过了什么?

  • 这是Google Guice调用代码: 这是个例外: 我的问题是消息没有告诉我缺少哪一个特定的方法。有没有好的方法来调试这个?这可能是一个Maven传递依赖问题吗?