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

A lot of this makes sense to me.

I’ve started writing a bare metal OS for Arm64. It’s very early but I’ve done some similar things. I’m using pascal strings, I’ve also renamed the types (though I’m using “int8” style, not “i8”).

I quickly decided that I never intend to port real software to it, so I really don’t have to conform to standard C library functions or conventions. That’s given me more freedom to play around. C is old enough to have a lot of baggage from when every byte was precious, even in function names.

It’s nice to get away from that. Much like the contents of this post, that plus other small renamed just ended up feeling like a nice cleanup.



> I never intend to port real software to it, so I really don’t have to conform to standard C library functions or conventions.

So you're just building it as just a hobby, won’t be big and professional like gnu?


Context: Linus Torvalds' announcement of Linux to comp.os.minix: https://www.cs.cmu.edu/~awb/linux.history.html


i never thought about that, saving bytes even in symbols


Yeah, old C compilers would only look at the first 6 characters of a name, and the rest were insignificant. That's how you get nanrs like "strcpy" and "malloc" instead of something like "string_copy" or "mem_allocate" (I still think "memory_allocate" would be long enough to be annoying to type).


One of last vestiges of this fact AFAIK was libjpeg, which had a macro NEED_SHORT_EXTERNAL_NAMES that shortens all public identifiers to have unique 6-letter-long prefixes. Libjpeg-turbo nowadays has removed them though [1].

[1] https://github.com/libjpeg-turbo/libjpeg-turbo/commit/52ded8...


IIRC this mirrored the behavior of MACRO-11, DEC's first-class PDP-11 assembler.


I think he is suggesting the opposite - use more verbose names for clarity.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: