Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Go is garbage collected, and thus not remotely suitable for bare-metal work.

C, C++, Rust, possibly Ocaml, FORTH, FreePascal, etc... or else you are actually on about a virtual machine, not bare metal.

Learning how to create your own heap. Make your own malloc/free on a baremetal device and that will be a huge boost for you, confidence wise...



> Go is garbage collected, and thus not remotely suitable for bare-metal work.

Others beg to differ, selling GC enabled development environments from small PICs to grown up ARM deployments.

http://www.astrobe.com/default.htm

http://www.microej.com/

https://www.aicas.com/cms/

https://www.ptc.com/en/products/developer-tools/perc

https://www.microdoc.com/ibm-websphere-everyplace-custom-env...

Some solutions even considered suitable for bare metal work by the US and French military.

And speaking of Go on bare metal, https://tinygo.org/


Well, is any of this actual bare-metal environments for coding? It's more of a HAL meets RTOS, and it's certainly not self-bootstrapping in Go, which is impossible on real hardware, or?


Astrobe is certainly bare metal, just like some of the Java deployment options, with AOT compilation to target boards, like Aicas and PTC are capable of.


Thanks, that's interesting and very new to me. I appreciate the links


If you want an example of GC in bare bones all the way from building your own FPGA up to the graphics display, check the 2013 update from Project Oberon.

http://www.projectoberon.com/

https://inf.ethz.ch/personal/wirth/ProjectOberon/index.html

Sadly the ready made OberonStation boards are no longer on sale.


"Steel Bank Common Lisp: because sometimes C abstracts away too much"

https://www.pvk.ca/Blog/2014/03/15/sbcl-the-ultimate-assembl...


To be fair, you will learn a lot more getting a garbage collected language to run bare metal runtime and all.


implementing in a non-garbage collected lower-level language, of course. Even FORTH's stack requires some ASM words to set it up... or am I missing something here?




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

Search: