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


发新话题
打印

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

posted by wap, platform: Chrome
引用:
原帖由 @cc0128  于 2019-4-14 19:04 发表
unity实际上只完整支持c#。
JavaScript是unity自制的unity script
python支持更是shit一样。
当然对于一个游戏引擎来说,支持任何语言问题都不大。
问题还是在于框架有没有利用语言的特有特性,比如unity的框架肯定就没有大量运用JavaScript的异步和prototype chain 特性。


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

编程语言本就会影响设计模式,思想。
Unity里你想写点什么都要用到Coroutine,全都是异步
这个和JavsScript里的co或者redux-saga的实现是一模一样的

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

Scala都能在JVM和JavaScript上跑,真的有哪个功能是某个语言独占的么?


TOP

posted by wap, platform: Android
引用:
原帖由 @cc0128  于 2019-4-14 22:36 发表
好吧,既然一样,我能在unity里用redux saga么?

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

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

来一个类比,
等于是你通过学阿拉伯语,看阿拉伯语版日本动漫/影视来了解日本文化。这是绝对可行的。也是有病的
hooks是框架提供给你的功能
而不是语言提供给框架的功能

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


在我心里 语言由两个角度分类
动态和静态 oop和fp
对于后者来说java和scala, C#和F#都是共用平台的
据我对scala浅薄的理解,底层都是靠满地的implicit来实现的
对于前者来说绝大多数概念都是有对应的
比如原型链能模拟类
我是真的没见过有哪些功能那么特别



TOP

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