Also, Teams isn't written in 1999 JavaScript.
Also, Teams isn't written in 1999 JavaScript.
I dunno how relevant that is: 1999 JS performance is closer to 2024 JS performance than 2024 JS performance is to 1999 C++.
IOW, just because 2024 JS might be faster by a factor of 2, doesn't mean it's faster at all[1] than the equivalent program written in native code.
[1] Maybe it is - I haven't checked benchmarks because programming language benchmarks have almost no correlation to reality when you use the language in a program, because the program is not doing 25k calls to the same function in a while loop.
It'd be in a non-native language, like C#.
JavaScript is faster than you think. Miles ahead of Python, Ruby, Perl, PHP. Not too different than C#/Java (especially if you consider 2x to be effectively the same) [1].
True; C# is the most obvious choice for Teams.
> JavaScript is faster than you think.
I'd be very surprised.
> Miles ahead of Python, Ruby, Perl, PHP.
Depends on "miles" - I think it is within the same order of magnitude as all of those. If it's far off from being in the same order of magnitude of those, I'd be very surprised.
> Not too different than C#/Java
I don't think so, not for idiomatic usages anyway. Java and C# are pretty damn fast! ISTR that Java/C#/Go are in a different order of magnitude from JS, Python, PHP, etc.
(The link doesn't work, btw)
https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
And Java/C# is nowhere even close to an order of magnitude faster than JS.
https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
The better showcase would be complex application code where JS cannot keep up with .NET or JVM no matter how much you optimize V8 due to dynamic typing and even simplest operations like property access needing inline caching and guards.
[0]: https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
déjà vu all over again
(Or would C# aot and GraalVM be more to the point?)
Apart from standardizing some things (doesn't hugely matter for electron since it's the only target) and getting async - what has really changed?
Check out:
https://compat-table.github.io/compat-table/es5/
https://compat-table.github.io/compat-table/es6/
https://compat-table.github.io/compat-table/es2016plus/
https://compat-table.github.io/compat-table/esintl/
---
Not to mention that fact that Teams is actually written in TypeScript (tho compiled to JavaScript).
"It's not a different language, because you could have another language compile to it."
Most of the "modern JS" stuff was based on that idea. Teams was released before even the modules existed in the browsers.