6 ms·
Then why does it include a garbage collector? Garbage collection is totally unacceptable for a systems programming language.
by rowanG077 7y ago
Then why does it include a garbage collector? Garbage collection is totally unacceptable for a systems programming language.
- pjmlp 7y agoBecause Xerox PARC, MIT, TI, ETHZ, DEC Olivetti and Microsoft Systems Research have proven otherwise.
- rowanG077 7y agoHow have they proven otherwise? I only know of singularity which never went anywhere.
- pjmlp 7y agoLisp machines were sold in the market, before UNIX Workstations won over thanks for being based on source code available at a symbolic price, thus cutting down their hardware costs. ETHZ had their Oberon workstations servicing the complete CS department for around 10 years. Midori powered part of Bing during its high time. Don't mix technology capabilities with politics and budgeting.
- hollerith 7y agoSo on their best day ever, OSes dependent on GC were running on fewer than 50,000 machines worldwide, which is 5 orders of magnitude less than OSes not dependent on GC. What I just wrote is not a slam-dunk argument against OSes dependent on GC, but it is at least evidence against them -- even if decisions on which OS to use are usually political decisions.
- pjmlp 7y agoWell, if you want more examples, Aicas, PTC and Aonix selling real time Java deployments into bare metal, some of which used by US and French military. Or Astrobe selling Oberon boards for around 15 years now. Or we can just keeping using UNIX clones, no need to waste money on improving the status quo.
- rowanG077 7y ago> Lisp machines were sold in the market, before UNIX Workstations won over thanks for being based on source code available at a symbolic price, thus cutting down their hardware costs. And yet despite their early popularity they died of. > ETHZ had their Oberon workstations servicing the complete CS department for around 10 years. I don't consider something running in a CS department as a success. CS department run all kinds of wacky shit. That's basically why they are there. > Midori powered part of Bing during its high time. An OS that runs a single application in the real world. That proves nothing. You haven't convinced me that a production grade OS implemented with a GC can tick every box an OS which doesn't have a GC can tick. On the contrary actually. For all the experimentation that has been done not a single one has actually panned out. The possible programs you can create that have a GC is a subset of all possible programs that can be created without a GC.
- pjmlp 7y agoJava real time deployments used by military prove otherwise. I guess we always have to wait for them to develop top technology before the masses accept it.
- rowanG077 7y agoJava real time deployment has nothing to do with whether java can be considered a systems programming language. Why would it?
- yellowapple 7y agoBecause a pretty effective litmus test for whether or not something is usable as a systems programming language is "can a program written in the language run on bare metal?". If even Java can (somehow) tick that box, then so can Go. That said, you're right that Java itself probably doesn't tick that box (except on hardware specifically designed to emulate the JVM; most "Java" OS projects use a small JVM written in a less-VM-dependent language), but Go provably does.
- 7y ago
- yellowapple 7y agoD has a garbage collector, and yet you can use it for operating system development: https://dlang.org/areas-of-d-usage.html#operating_systems https://dlang.org/areas-of-d-usage.html#operating_systems Lisp has a garbage collector, and yet you can use it for operating system development: https://github.com/froggey/Mezzano https://github.com/froggey/Mezzano Go has a garbage collector, and yet you can use it for operating system development: http://lsub.org/ls/clive.html http://lsub.org/ls/clive.html