1
guaike 3 天前
搞不懂为什么不用 rust 写
|
4
pigmen 3 天前
|
![]() |
5
northbrunv 3 天前
github 很多新项目都是前端 TS 后端 Go
|
![]() |
7
sagaxu 3 天前 ![]() Go 是 native first ,C#是 bytecode first ,虽然有 AOT ,但不是所有地方都支持。
Go 是 low level 语言,function + data structure 足矣,OOP 和模式匹配之类的特性用不上。 总之,Go 操作数据结构很方便。 |
![]() |
8
ryougifujino 3 天前
好事,tsc 速度可以快很多
|
9
jamesjammy061 3 天前
+1
|
10
Leviathann 3 天前
怎么就 7.0 了 6.0 在哪
|
12
Contextualist 3 天前
@pigmen 想起来 Deno 写标准库的时候,Ryan D 说过类似这样的话:“如果不确定怎么实现,就直接按照 Go 标准库对应函数的写法来写”
|
13
RedNax 3 天前
@Leviathann 6 还将是 javascript ,会有一些 breakchange ,6 适配之后就可以上 7 了
|
![]() |
14
ne6rd 3 天前
所以这个快主要是针对开发,部署来说的?
ts 最终还是编译成 js ,所以在浏览器上跑没影响? 还是说现在有环境能直接跑 ts 了嘛? |
15
RedNax 3 天前
@ne6rd 对,就是开发,最终环境没影响。
Nodejs 很快就会支持 typescript: https://nodejs.org/en/learn/typescript/run-natively 不够这个支持只是能跑,类型检查还是得靠 tsc ,native 了还是一样用在开发阶段 |
![]() |
16
nomagick 3 天前
swc 不是用得挺好么
TypeScript 语言层面上已经没什么改动了 别是什么 KPI 之举,跳槽预备,献礼 Google |
![]() |
17
yyfearth 3 天前
@ne6rd NodeJS 22(exp)/23(by default) 可以直接跑 TS 了 https://nodejs.org/en/learn/typescript/run-natively https://developers.slashdot.org/story/25/01/19/0335202/nodejs-type-stripping-for-typescript-now-enabled-by-default
当然 tsc 变快主要就是多开发和部署有帮助的 因为不管是 node 还是 esbuild/swc/babel 都是类型擦除 如果要做类型检查必须还用 tsc 不过既然 node 都支持跑 TS 那么浏览器应该也快了 只要 v8 可以做类型擦除就可以支持 |
![]() |
18
yyfearth 3 天前
|
![]() |
19
yyfearth 3 天前
@nomagick esbuild/swc/babel 只是类型擦除 不做类型检查
rs 语言比较严谨一些 做一些比较动态的事情可以会复杂不少 不过 rs 还有一个优势是和 node 整合比 golang 好 总的来说就是性能更好不管是 rs 本身还是和 node 的整合 不管怎样肯定比 typescript 的版本要强的多 |
21
crackidz 3 天前
这不是挺好的么
|
![]() |
22
beginor 3 天前 via Android
前端的轮子重要卷到 ts 了
|
23
meteor957 3 天前 via Android ![]() rust 越来越像宗教了..
|
![]() |
24
cmdOptionKana 3 天前
Go 优点挺多的,比如编译速度快
|
25
yuhuai 3 天前
不要做魔怔人,打工人都知道写代码够用好用才是重点,至于安全,健壮那是架构师和审查的事
|
![]() |
26
wangtian2020 3 天前
才觉察自己一直没发现大象,前端工具链中就 typescript 服务每次启动转好久,都习惯了
|
![]() |
27
96368a 3 天前
rust 暂且不说,Anders 作为 c#的创始人之一,在重写 typescript 时都没有考虑 c#,这就有点难绷了
|
![]() |
28
june4 3 天前
卧槽这个要好评,现在 ts 实在太慢了影响打字,有些库都要卡几秒才出提示
|
29
Danswerme 3 天前
微软居然不用 C#? 这还是巨硬吗
|
![]() |
30
zx9481 3 天前
额 所以只是编译速度变快了 10 倍?
|
![]() |
31
irisdev 3 天前
等下,ts 原来不是用 C#开发的?刚查了下原来是 ts 自举的
|
32
yuhuai 3 天前 ![]() ...你们真的不看原文的吗?人家都说了,c# 的 aot 还在 preview 且有平台限制,没有上生产广泛验证过,而且 go 也是函数范式,哪个工具更适合用哪个有什么问题吗
|
![]() |
33
me1onsoda 3 天前
诶,听起来有点魔幻,用 go 重构 ts ?是用 js 缝了一个 go 的底层库,像 Java 缝 C 那样?
|
![]() |
34
BenX 3 天前
看到 Anders Hejlsberg 默认牛逼
|
![]() |
35
pursuer 3 天前 ![]() 把 typescript 里的 sync 调用改成 async 的 issue( https://github.com/microsoft/TypeScript/issues/1857) 挂着没改,整了个 Go 的,给我气笑了。真要把这个作为 TS 后继版本,那些使用了 typescript 的 API/transformer 的 JS/TS 代码怎么办。我需要性能的时候我直接 transpile 忽略类型检查不就行了,真的是没活可以咬打火机。
|
![]() |
36
qxmqh 3 天前
go 可以的。非常好的语言。
|
38
Flourite 3 天前
不相信 Google 的文化,开源的东西炫技居多
|
![]() |
39
qxmqh 3 天前 ![]() It's time to give up on .NET. Even Microsoft has chosen Go for critical components like dapr framework and the TS compiler. Microsoft itself has abandoned its own product first. 看到这笑死了。
|
![]() |
40
mywaiting 3 天前
我总觉得 TS 有独立成为一门语言的能力,转换到 IR 感觉不是特别难吧
|
![]() |
41
min 3 天前
居然不用 c#,看来对 ms 的 c#团队很不爽
|
![]() |
42
ARIInV2 3 天前
前端技术圈 日常重写。。。。。。。
|
![]() |
43
XIVN1987 3 天前
建议 ruster 也用 rust 重写一遍,,性能提升 20 倍,,打败这个 go 重写的
|
44
wei2629 3 天前 ![]() nb 。也别编译成 js 了, 直接编译成 go , 替换 nodejs 完事。
|
![]() |
45
iorilu 3 天前 ![]() 微软要良心点把 ts 扶正, 直接开发桌面 gui 软件, 那是做了点好事了
搞成 visual TS, 就像当年 vb 一样 |
![]() |
47
lizy0329 3 天前 ![]() C# 社区可以原地解散了
|
49
mark2025 3 天前
@96368a https://www.v2ex.com/t/1117764 好像主要是 C# 有类吧
|
50
vincentWdp 3 天前
微软产品, 必属精品
|
51
charlie21 3 天前
"we have strong domain information about when "logical" times to run the GC will be."
|
![]() |
52
pursuer 3 天前
@RedNax 走 wasm 是会有序列化性能损耗的。而且 wasm 生态还有个 assemblyscrip 更是和 TS 十分接近的写法,移植不是更容易?话说回来这些写惯 TS 的这些开发者能忍得了 Go 的拉胯的类型系统和类型推断能力也是神人了。
|
![]() |
53
leokun 3 天前
@me1onsoda typescript 7 以前是 nodejs 实现的,可以用来编译 ts 到 js ,或者和编辑器结合做类型推断和检查。nodejs 是 javascript 的运行时,可以在操作系统运行 js 。现在用 go 重写了,加速了编译 ts 到 js 的过程
|
54
mxT52CRuqR6o5 3 天前
为啥不用 C#写,不比 go 强得多
|
![]() |
56
yyfearth 3 天前
@leokun TS 作为 JS 的超集 Super Set 是兼容 JS 那些动态特性的 比如 any
这种要编译成二进制就和要把 JS 编译成二进制差不多 基本上不会比现在 v8 JIT+AOT 快多少 要完美的编译成二进制就必须强制类型 不能有那么多动态的东西 那其实就是 TS 的一个 Sub-set assemblyscript 其实就是这么一个东西 这种编译成二进制才有优势 另外你说的就是 wasm 现在正在做的 只不过完整版的 TS 很难做到 做到估计优势也没那么大 |
![]() |
57
yyfearth 3 天前
@mxT52CRuqR6o5 C# 语言设计的还是很好的 但是毕竟需要.Net 运行时 和 Java 需要 JVM 一样
JS 已经需要一个 NodeJS 了 用 Go 或者 RS 可以直接提供独立的可执行二进制文件 要是用 C#或者 Java 之类 你觉得大家会为了一个 tsc 手动或者自动下载安装一个.Net 或者 JRE 吗?而且太不小 运行效率也比 Go RS 之类的差一个级别 也就可能比 NodeJS 好一点 |
![]() |
58
ajaxgoldfish 3 天前 ![]() 怎么有一股原神味
|
59
mxT52CRuqR6o5 3 天前
@yyfearth #56 .net core 现在应该可以 single file deployment 把用到的运行时内置在程序里,而且运行效率是 go 差 C#、RS 一个级别,C#之比 RS 、C 差个一丢丢
|
![]() |
60
sagaxu 3 天前
@yyfearth dotnet 和 JVM 都可以 aot 生成 native binary ,如果重写,JVM aot 得到的 binary 估计在 30M 左右,dotnet aot 估计在 20M 左右,都不需要下载安装 runtime 。dotnet 还支持 self contained 打包,不用 aot 也可以显著缩小尺寸。
但是这么做折腾一番,没有得到任何好处,无论是 JVM aot 还是 dotnet aot ,编译时间比 Go 长的多,往往要十倍甚至好几十倍。tsc 也没有用到任何现代语法特性,用 C#没有收益。 |
61
nilaoda 2 天前
C#的 AOT 还不够成熟,加上这是移植而不是重写。选择相近的 Go 没啥问题。
|
63
realJamespond 2 天前
jsx 全都没 ready 还搞啥
|
![]() |
65
jiangzm 2 天前
我觉得用 GO 移植是合理的选择, 如果后面 TS 会被微软定位成独立编程语言,应该就会有微软自己的 TS Runtime ,届时 ts 编译器可能会用 Rust/C++/C#重写。
|