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

> After doing some preliminary research I discovered that Go uses its own internal assembly language called Plan9.

Is the language actually called that?






No. It's just Go assembly. (It happens to be a Plan 9-derived syntax, but we call it Go assembly.) See https://go.dev/doc/asm.

nice to see you around still :)

This is a fair question. Initially I just assumed this was true. Because someone who did research on this topic would not get something like this wrong. And besides that, if you know a little about the project this name could make some sense.

But the more I look into it, the more I think this is just a LLM hallucination.

The doc about the 'assembly' format doesn't give a proper name. It just calls 'go assembler'.

And I think the source of this hallucination was this first paragraph:

> The assembler is based on the input style of the Plan 9 assemblers, which is documented in detail elsewhere. If you plan to write assembly language, you should read that document although much of it is Plan 9-specific. The current document provides a summary of the syntax and the differences with what is explained in that document, and describes the peculiarities that apply when writing assembly code to interact with Go.


Maybe you should actually read something from the official website before spending time writing multiple paragraphs assuming it's fake. Alot of the people involved in golang also were involved in bell lab's plan9 project, going back to the 1980s (Kernighan and Pike especially go back that far). The CSP threads from plan9 were influential in the development of the programming language. And you can find this on their official site:

https://go.dev/doc/asm


Russ Cox (rsc), former tech lead of Go, replied above, saying the language is not called Plan9.

The link you provided doesn't say the language is called Plan9. Also, nzach quoted from that page.


No, it doesn't have a name. Plan 9 is an operating system, and this style of assembly language syntax originates from the assembler used on this operating system. Its like saying "The GNU Compiler Collection uses its own internal assembly language called Unix."

Well, linux is just a mechanism to make more copies of GCC, so that tracks.

Kinda like GNU (Unix reimplementation) was a fancy platform to run Emacs on top.


Not when packaged in Android and ChromeOS.

Which are both Linux?

They aren't Linux, they use the Linux kernel, alongside a Java or JavaScript userspace, not really the same thing, and a reality termux refuses to acknowledge and that it is why it is no longer available on Play Store.

No. The Kernel IS the operating system.

No, the user space is (mostly) busybox, in both cases.

The user interface is different sure.

The fact that termux (a Debian userspace) is able to run on android at all is enough to dispel your claims.

Stop with the mental gymnastics, you're ill prepared. If you wish, I can buy you a dictionary.


As any proper CS or Software Engineering degree will teach you, a kernel alone isn't an operating system.

I suggest to attend one, or search related material freely available.

Termux runs on Android with hacks, and only to the point Google doesn't allow it anymore, unless it is side loaded.


My dear summer child. My degree trained me to build computers from logic, write an operating system, write userspace code and applications (with a side of AI) all before the year 2000.

I don't know where you did your degree or when. But my friend you are objectively wrong.

Termux no longer runs because it no longer allows (possibly using Linux capabilities?) subprocesses from around Android 10. Android 12 if memory serves actually starts killing background processes.

No hacks. Unless your degree says using the POSIX fork()/exec() API as "hacks".

Please don't embarrass yourself further. It was quite painful reading your prior response.


Apparently it wasn't that good, otherwise you could tell the difference, since those APIs aren't proving by Linux kernel, rather bionic C library.

Also I they aren't listed as official NDKs APIs, because POSIX isn't part of neither ISO C, nor ISO C++, hence hack.

https://developer.android.com/ndk/guides/stable_apis

A hack that termux folks now suffer from, because it fails Play Store API validation for forking processes, which sidelining works around, until Google decides to forbid that as well.

Coding since 1980's, and only fools are afraid to be embarrassed.


Hmm the NDK is for userspace, you can remove functions out of the standard libraries, but the Linux syscall API will likely be untouched

Apple does this too for its more locked down devices.

I've been coding since the 80s too. I had assumed from your hubris and ignorance that you were young. My mistake, it's clear that you're merely an idiot.

Enjoy the weekend, happy in the knowledge that I shall no longer be engaging with you.


Usually people resort to name calling to divert attention for their lack of sound arguments....



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

Search: