4 ms·
GCs are nondeterministic amongst other issues. Baking one into the core of a systems language likely isn't a good idea.
by bnolsen 9y ago
GCs are nondeterministic amongst other issues. Baking one into the core of a systems language likely isn't a good idea.
- pjmlp 9y agoIt worked out alright for Algol 68RS, Mesa/Cedar, Modula-2+, Modula-3, Oberon, Oberon-2, Active Oberon, Component Pascal, Sing#, System C#. Those systems failed market adoption mostly due to politics and company acquisitions than technical hurdles.
- adrianN 9y agoSome applications are easier without a GC. Embedded work comes to mind. Realtime guarantees for systems with GC are also somewhat tricky (though not impossible to achieve).
- pjmlp 9y agoTrue, but just because a systems language has a GC doesn't mean one has to use it everywhere, it is the only mechanism to allocate memory or that it has to run all the time. Modula-3 is a good example of how to support all scenarios required by a systems programming language with GC, unfortunately Compaq buying DEC followed by HP buying Compaq, killed all the work the SRC group was doing. For embedded work check the Oberon compilers sold by Astrobe for ARM Cortex-M3, Cortex-M4 and Cortex-M7, as well as, Xilinx FPGA Systems.
- rurban 9y agoBaking unsafe memory languages with limited type systems and blocking libraries for the hard parts is neither a good idea for systems.