Earlier quoted context omitted.
The CSharpLang github[1] repository would be where to look for this. I didn't find anything that mentioned adding language support for it, and IIRC, in the past they rejected the idea of inline XML or JSON support. Going the other way of C# inside HTML, you have Razor[2] and Blazor[3], the latter of which is a prototype of Razor running in the browser via web assembly. [1]: https://github.com/dotnet/csharplang [2]: h…
Blazor is pretty amazing, but my coder fantasies mostly revolve around a React-JSX-in-C# vision - the syntax and approach just feel so natural and so right. Your point about rejecting inline XML is probably a pretty good data point that I shouldn’t expect what I’m hoping for to happen.
Mono and WebAssembly – Updates on Static Compilation
41–47 of 47 posts
Re: Mono and WebAssembly – Updates on Static Compilation
#42Earlier quoted context omitted.
> Ha, feels strange to say it, but "waiting for a Windows version". I can understand the lack of a Windows version. What I can’t understand is why this won’t on Linux.
A significant portion of the main webassembly development teams at google & apple (and probably mozilla, but I'm not sure) use macs, and I think that's true for many mono developers also. The linux and windows (especially windows) toolchains are neglected. For a while the canonical webassembly tooling and test suite were unusable on Windows due to the selection of software that didn't work there. It was a bummer (tha…
Also, they are a MacOS focused shop in some ways (Xamarin for iOS).
Re: Mono and WebAssembly – Updates on Static Compilation
#43How does this handle garage collection? I believe Webassembly doesn't yet support GC so, is this manually compiling it's own GC into it?
Re: Mono and WebAssembly – Updates on Static Compilation
#44This awesome, I much prefer to code in C# as compared to js. It is a much cleaner language.
You might like Typescript. A lot of the niceness of C# but much more lightweight.
Typescript has no standard library. So you have to resort to using JavaScript libraries and combine those with type descriptions written by yet another group of people for some version or other of the original library.
So essentially Typescript is importing JavaScript's already onerous dependency situation putting another set of dependencies on top of it without any formal correctness guarantees or automated compatiblity checks.
The language itself is under constant threat of breaking changes introduced by new JavaScript versions.
The whole setup feels exremely fragile to me and it is anything but lightweight. But I accept that many people are successfully navigating this mess for now, people who (unlike myself) have created actual production software in Typescript.
We'll see how it works out longer term.
Re: Mono and WebAssembly – Updates on Static Compilation
#45Earlier quoted context omitted.
You might like Typescript. A lot of the niceness of C# but much more lightweight.
Typescript as a language may be more lightweight (i.e fewer features) than C# but the development process feels extremely heavyweight and convoluted in comparison. Typescript has no standard library. So you have to resort to using JavaScript libraries and combine those with type descriptions written by yet another group of people for some version or other of the original library. So essentially Typescript is importin…
Re: Mono and WebAssembly – Updates on Static Compilation
#46Earlier quoted context omitted.
Mono already supports embedding the runtime with the application. So they just used that feature here. Also available is the mono interpreter which does it's own garbage collection.
It’s more complex than that, as there’s tons of academic work essentially proving it’s impossible to chain two independent garbage collectors and not end up with stuck uncollectable memory (I apologize, this isn’t my field, I’ve skimmed the work but not retained the citations, and I realize how counter-intuitive that result is... nobody wants to think its true, so it keeps getting more academics thrown at it, without…
Full Disclosure: I work at MS and I am one of the original designers of it.
Re: Mono and WebAssembly – Updates on Static Compilation
#47Earlier quoted context omitted.
You might like Typescript. A lot of the niceness of C# but much more lightweight.
Typescript as a language may be more lightweight (i.e fewer features) than C# but the development process feels extremely heavyweight and convoluted in comparison. Typescript has no standard library. So you have to resort to using JavaScript libraries and combine those with type descriptions written by yet another group of people for some version or other of the original library. So essentially Typescript is importin…
An increasing number of JS libraries on npm maintain and provide their own Typescript definitions, so the ecosystem is getting better and in some cases there are no additional type information dependencies beyond your JS library dependencies.
> The language itself is under constant threat of breaking changes introduced by new JavaScript versions.
I've used Typescript in production software since around TS 1.0, and Typescript has been very adroit of working ahead of JS versions. The biggest change, and closest to a compatibility break, was that import/export syntax changed slightly to reflect ES module import/export syntax, and that wasn't entirely a breaking change (the old syntax still works, though is marked with a deprecation warning). On the other side there were ES2015 features I was happily using in Typescript years before ES2015 was finalized, and am happily using proposed features that are only Stage 2 or Stage 3 today in the standards process.
Ecma's TC39 is following a similar playbook to the rest of web standards and using an approach to where multiple implementations should be built before the proposal is accepted into the language. TC39 has the benefit that not only do they get browser implementations, but polyfills/prollyfills, Babel, and Typescript implementations to learn from in adopting a proposal.
Typescript very much is leading JS development as much as, if not more than, it is following.