» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[数码手机] 华为的这个方舟编译器水很深啊

posted by wap, platform: iPhone
引用:
原帖由 @MacPhisto  于 2019-4-13 23:42 发表
比如unity还支持javascript和python呢。c#对它来说不过是个插件。
比如苹果的框架同时支持objc和swift。
比如facebook用JavaScript写React是因为这个语言是默认全平台支持,并不是因为JavaScript有什么独有的特性是其他语言没有的。你以为React之类的框架就不能用其他语言写么。

语言特性和语言有关不假。但没人规定某个特性只能某个语言才有。
所谓语言特性说到底不过是编译器和运行时这些基础设施暴露给程序员的语法糖而已。
unity实际上只完整支持c#。
JavaScript是unity自制的unity script
python支持更是shit一样。
当然对于一个游戏引擎来说,支持任何语言问题都不大。
问题还是在于框架有没有利用语言的特有特性,比如unity的框架肯定就没有大量运用JavaScript的异步和prototype chain 特性。


react的例子更好了,新版本里的hooks根本没法子直接套用到其他语言上。换语言API不知道得改多少。API基本全换了还能算同样的框架么?

编程语言本就会影响设计模式,思想。


TOP

posted by wap, platform: iPhone
引用:
原帖由 @cuda  于 2019-4-14 21:50 发表
Unity里你想写点什么都要用到Coroutine,全都是异步
这个和JavsScript里的co或者reduxsaga的实现是一模一样的

react里的hooks是特别纯的语法糖
你写了就知道,有时候因为要用state必须要把函数型组件改成class型组件
要写很多句,新的这个不用改了,还是换汤不换药的东西

Scala都能在JVM和JavaScript上跑,真的有哪个功能是某个语言独占的么?
好吧,既然一样,我能在unity里用redux saga么?

hooks和class内部实现完全不一样。。。。

编程语言本身基本上没有什么功能是独占的,你怎么样都能hack去玩。
但是你会去用JavaScript玩多线程么?
但是你会用Java去玩指针么?
但是你会用haskell去玩oop么?

来一个类比,
等于是你通过学阿拉伯语,看阿拉伯语版日本动漫/影视来了解日本文化。这是绝对可行的。也是有病的



TOP

posted by wap, platform: iPhone
引用:
原帖由 @XI-NIAN  于 2019-4-14 19:16 发表
牛批,泥潭人怎么都消失了?
内容实在太无脑怎么评价。
说编译器能提高开发效率。
等于说高速打印机能提高作者码字速度。


TOP

posted by wap, platform: MAC OS X
引用:
原帖由 @cuda  于 2019-4-14 23:21 发表
hooks是框架提供给你的功能
而不是语言提供给框架的功能

它的底层只需要闭包就能实现
不管这个闭包是原型链提供的 还是匿名内部类提供的
你都能搞出来这个功能


在我心里 语言由两个角度分类
动态和静态 oop和fp
对于后者来说java和scala, C#和F#都是共用平台的
据我对scala浅薄的理解,底层都是靠满地的implicit来实现的
对于前者来说绝大多数概念都是有对应的
比如原型链能模拟类
我是真的没见过有哪些功能那么特别
当然最后都能实现。
我拿拼音标英文发音一样凑合能用。
期待你用java写react app放在ios上跑。

本帖最后由 cc0128 于 2019-4-15 14:22 通过手机版编辑

TOP

发新话题
     
官方公众号及微博