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

An example of the influence of conservatism is the fact that important parts of GNU/Linux (e.g., all of the terminal-emulation applications) rely on pseudo terminals (PTYs). In contrast, Plan 9's kernel never supported PTYs and Plan 9's analog to a terminal emulator (namely, the thing you use to interact with a shell) never relied on them -- and Plan 9 started in the mid-1980s. There is a real terminal emulator available on Plan 9 (called vt100 IIRC) but it is implemented entirely in userland and nothing else in a typical Plan 9 install depends on it.

Yes, there is benefit to being able to get kernel messages during boot over an RS-232 link, but note that the whole infrastructure of TERMCAP files and cursor addressing is not needed for that capability, and yet TERMCAP files and cursor addressing remain an integral part of Linux -- if your TERMCAP file is misconfigured or your TERM environment variable is set wrong, you might be unable to get to a shell prompt.

Part of the reason this "cursor addressing" infrastructure is still integrated into IIUC all of the important distros is that reducing technical debt in a distro is a thankless task, but (since the complete dominance of the ncurses library for cursor addressing makes ("made"? Mabye ncurses is no longer completely dominant -- I've been away from Linux for a few years) it fairly easy to remove TERMCAP files, etc, from the set of things that have to be configured correctly to get to a shell prompt) I think that part of the reason that if your TERMCAP file is messed up, you might not be able to get a shell prompt is the hesitancy to change the design of the parts of a distro that come from the Unix of Bell Labs in the 1970s, which is frequently talked about in reverential tones.

(Yes, I know that cursor addressing might not date back to the 1970s, but it does date back to the 1980s and is now considered fairly integral to one of the things (the PTY) that was in Unix from the beginning.)

Note that it is possible for Linux to suffer from conservatism and from unnecessary design churn at the same time. For example, the design churn might be restricted to the parts of Linux that do not come from the Unix of the 1970s.

For a second example of conservatism in Linux, consider the persistent of /usr as discussed recently in

http://news.ycombinator.com/item?id=3519952



The advantage of a PTY paradigm is that there is simply an input/output stream consisting of text and control commands, which can be transparantly sent over the network (ssh), over a RS-232 link (embedded debugging), and so on.

What would you propose as a replacement? There have been ideas of using HTML/JS, streams and objects instead (see TermKit), among other things. Which certainly has some advantages. But for most things, the current terminal works fine. The terminal is mainly used as fallback anyway, new developments mostly focus on GUIs.

Don't get me wrong: it would be great if people agreed on one TERMCAP format and threw away the rest (just like I'd love people to just settle on UTF-8 encoding for text). But that seems to be the case in recent distro's. They work out of the box. I haven't had to bother with TERMCAP settings in Linux in like 10 years... with Solaris it's a different issue...

And I agree that the /usr directory structure being cleaned up was long due.


>What would you propose as a replacement?

No offense but I'd rather not elaborate except to refer you again to Plan 9 as a proof of feasibility: thousand of man hours have been spent by people using Plan 9 to interact with remote shells.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: