5 ms·
> Amsterdam Compiler Toolkit, 40 years ago. It provided only a plain C-like API, without OOP classes and stuff, pretty much like anyone else. > CLR since 2002
by garganzol 4y ago
> Amsterdam Compiler Toolkit, 40 years ago.
It provided only a plain C-like API, without OOP classes and stuff, pretty much like anyone else.
> CLR since 2002
It's only for .NET, it's opinionated, so not a universal thing.
- pjmlp 4y agoNope, better educate yourself before replying. "The Amsterdam Compiler Kit (ACK) is a retargetable compiler suite and toolchain written by Andrew Tanenbaum and Ceriel Jacobs, since 2005 maintained by David Given. It has frontends for the following programming languages: C, Pascal, Modula-2, Occam, and BASIC." "The ACK's notability stems from the fact that in the early 1980s it was one of the first portable compilation systems designed to support multiple source languages and target platforms." "Maximum portability is achieved by using an intermediate language using bytecode, called EM. Each language front-end produces EM object files, which are then processed through several generic optimisers before being translated by a back-end into native machine code. ACK comes with a generic linker and librarian capable of manipulating files in the ACK's own a.out-based format; it will work on files containing EM code as well as native machine code. However, EM code cannot be linked to native machine code without translating the EM binary first. " -- https://en.wikipedia.org/wiki/Amsterdam_Compiler_Kit https://en.wikipedia.org/wiki/Amsterdam_Compiler_Kit "One of the exciting things in Visual Studio .NET is its language agnosticism. If a vendor has written a .NET-compliant language, you can use it in Visual Studio .NET. It'll work just as well as C# or C++ or Visual Basic. This isn't just a future feature-in-planning. There are already nearly two dozen languages being developed for Visual Studio .NET: Visual Basic, C#, C++, JScript, APL, Cobol, Eiffel, Fortran, Pascal, Perl, Python, RPG, Smalltalk, Oberon, Component Pascal, Haskell/Mondrian, Scheme, Mercury, Alice, and even the Java language." -- February 2002 issue of MSDN Magazine https://learn.microsoft.com/en-us/archive/msdn-magazine/2002/february/editor-s-note-welcome-visual-studio-net https://learn.microsoft.com/en-us/archive/msdn-magazine/2002... A common theme among WASM advocates....
- garganzol 4y ago> "The Amsterdam Compiler Kit (ACK) is a retargetable compiler suite. It has frontends for the following programming languages: C, Pascal, Modula-2, Occam, and BASIC." All those languages have only plain data and functions, no OOP. So it's just a C-like FFI all over again. It does not matter whether it's a bytecode or native code: instruction set is a totally separate thing from the component model. > There are already nearly two dozen languages being developed for Visual Studio .NET ... that can only be used from .NET. And that's the point about the absence of universality. Well, you can export functions (DllExport). However, it would be just a plain FFI.
- deleted 4y ago[deleted]
- pjmlp 4y agoAnd the difference from WASM is .....?
- garganzol 4y agoWASM is a runtime only. It does not try to define a component model. And that's a bonus for its wider appeal and adoption. You can treat WASM just like you treat a CPU architecture. One among many. It does its thing and does it reasonably well (official 64 bit support would be awesome though). But trying to tie a component model to a specific CPU is kind of a bad idea, don't you think so? For me it causes immediate Intel iAPX 432 vibes and I fear that WASM may diverge in that utopian direction some day.