Settings

Theme

Jonathan Blow on Windows Terminal (video)

youtube.com

24 points by _fnhr 5 years ago · 11 comments

Reader

zamadatix 5 years ago

The confidence that "it's just going to suck" really highlight out this is really ideological rant not a technical conversation. As such I don't really think there is much to talk about the video itself, there isn't any substance.

As for the underlying question terminal emulators do seem to be REALLY hard. I don't think this has to do with language/OS complexity as much as the complexity needed to be compatible with apps that expect the terminal to work a certain way rather than just being an easy way to display text on a screen.

Would be curious to hear from people that actually work on terminal on what is it that makes them more complicated than they look if any are reading this thread though.

  • ldelossa 5 years ago

    Terminal emulators, as their name describes, emulate old school terminals.

    Terminal support in linux is built directly into the kernel. So bar minimum you need to be familiar with these syscalls, which are a little obscures, but luckily only a hand full are necessary.

    Next, youll need to understand process management in the kernel, standard pipes, and job control.

    The actual emulator code has to keep a mapping of terminal control characters to terminal features, and keep this working across OS's if portability is a goal. Here in lies the devil in the details. This emulation layer is tribal knowledge.

    Finally you have to also be a good UI dev, who knows how to inter-op ASCII and UTF8 shell escaping.

    This isnt touching on colors, GPU acceleration, and other pluses.

ldelossa 5 years ago

Writing a terminal emulator is a pain in the ass. Thats all I'm going to say.

  • madCow 5 years ago

    I couldn't agree more, I find this video extremely reductionist. Text shaping, full unicode support, accessibility, gpu acceleration, true color, tabs and profiles, etc are all advanced features that the windows terminal supports. Just a quick glance at the source makes it obvious that it isn't something so simple that it could be hacked together in a weekend like Blow claims, it seems very rude and misguided to dimiss the hard work that people put into terminal emulators.

    • boublepop 5 years ago

      I understand where you are coming from, but do you understand why someone might look at “tabs are an advanced feature for a terminal” and laugh knowing that tabs in a chat-terminal in a 120fps physics enabled computer game is an absolutely minute and completely ignorable feature?

      I think that’s the point being made here, that taken at face value it’s just ridicules that what is on the user-side minor improvements in usability over the status quo 20 years ago is still considered “an advanced feature”.

    • ldelossa 5 years ago

      Completely agree here. Not a big fan of ppl shitting on tech they don't completely understand, but i guess thats half of tech content in general.

      • megameter 5 years ago

        It's Blow's programming personality, generally. I don't think he could do what he's doing if he weren't at least a bit arrogant, but it's become cliche for him to learn his lessons in public, in these steps:

        1. I could do this in a weekend.

        2. Nobody is solving it correctly so I will.

        3. Years pass.

        4. Actually, there are interesting difficulties.

        • lasagnaphil 5 years ago

          I don’t think that’s the case though. What he says he could do this in a weekend, he usually does (for instance, he was annoyed with Powerpoint so much that he made his own slideshow program in about two days of programming time). And when he said he’s gonna build a compiler for his language, he didn’t say it will be quick.

          His point with the Windows terminal is that, its a non-problem that people in the 80s and 90s already figured out. And if he really wants to make a terminal with the bare amount of features that he just needs (without the flaws the old cmd program has), he may be able to do so in maybe about a week (he already has code to render TTF text, and he’s probably accustomed enough to the quirks of the Windows OS APIs)

isjamesalive 5 years ago

TL;DR: What is wrong with the world that software that prints text to the screen has/needs a special project by a megacorp to make it perform/operate acceptably.

But you could say the same thing of browsers.

  • nacs 5 years ago

    It's understandable that a browser has to render a wide variety of audio/visual/3D things.

    A terminal on the other hand - it literally has to just print text to a screen and he's right that a bunch of hype and over-engineering of a solution for it is silly.

    PCs have been outputting text to screen faster than a human can process for over 60 years now (and bonus: using a lot less resources than today's Windows Console of the month).

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection