Hacker News new | past | comments | ask | show | jobs | submit login

Yes, it was called Managed C++, and was later replaced by C++/CLI on .NET 2.0.

Why people always complain about Microsoft language extensions to C and C++, and yet are perferctly fine with GCC C, GCC C++, clang C, clang C++ ?!?

And I am pretty sure to have wrapped a cross-platform C++ RPC framework for .NET in 2002 while using Managed C++, somehow it even ended up in the market for a contact center CRM, go figure.

Maybe one should learn about Microsoft technologies properly instead of just bashing and writing M$.

Not only does MSIL support all the features required for a language like C or C++, mixed mode Assemblies allow to embedded native code, at the expense of being marked unsafe for the verifier. You can force pure MISL, with the side effect that some UB patterns will be considered a compile error instead.




> Maybe one should learn about Microsoft technologies properly instead of just bashing and writing M$.

Well, if it so easy to build vanilla C/C++ code for .NET then Microsoft is definitely doing a very poor job promoting this feature ;)

Does the cross-platform dotnet toolchain support building C/C++? I never saw this mentioned when reading about dotnet (it was always about C#).


Managed C++ and C++/CLI are Windows only.

Here is an article about Managed C++ from July 2002!

https://www.codeproject.com/Articles/1479/Introduction-to-Ma...

There are others when searching from 2002 articles.

Mono did try to port them as well,

https://www.mono-project.com/docs/about-mono/languages/cplus...

So you see, the information is out there.


Well nice, really - but as you yourself point out, it's Windows only, and being locked to Windows is not an option. Perhaps if dotnet was open source and multi platform from the beginning, it would've been used instead of developing Wasm etc - but we're way past that.


Actually, .NET has been an ECMA standard since the early days.

That is how Mono started.

Additionally here is some historical refreshing about two other attempts,

https://www.gnu.org/software/dotgnu

https://www.codeguru.com/dotnet/net-nuts-bolts-the-joy-of-ro...

A surviving clone of the repo is available here,

https://github.com/SSCLI/sscli_20021101

Finally, this doesn't change the fact that the CLR was only yet another version of this idea, there are plenty of others since UNCOL in 1958.


That's cool, but you can't run standards. I tried Mono since its early days and kept trying until .NET Core came, but it was nowhere near production-ready, it wasn't enough for my school assignments, much less production.

I'm not saying it changes anything. Wasm is just a more modern attempt, like .NET itself. I don't see any reason to prefer one or the other only because of its age.


Those school assignments would have been sorted out by using Windows in first place.

It is not like all those beautiful WASM implementations support the same set of features, from the paper standard,

https://webassembly.org/roadmap/


Well, I wanted to use Linux, not Windows. And my servers ran (and still run) Linux, not Windows. The point wasn't that I couldn't do my school assignments (I was forced to use Windows VM) but that not even this simple task could be accomplished - so running it in production was straight up impossible.

Wasm is much newer than Mono was at the time. Let's wait.


Technically you can always write you own C compiler like this project https://github.com/ForNeVeR/Cesium. Obviosuly C++ is much more complicated journey and require real investment. But at this point this is not CoreCLR limitations mostly.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: