10 ms·
(Article is from 2023, so the title should be updated to say "32 years ago", or something) The biggest loss in TUIs is the latest wave of asynchronous framewor
by CGamesPlay 1y ago
(Article is from 2023, so the title should be updated to say "32 years ago", or something)
The biggest loss in TUIs is the latest wave of asynchronous frameworks, which bring the joy of dropped keypresses to the terminal.
In any TUI released before the year 2000, if you press a key when the system wasn't ready, the key would just wait until the system was ready. Many TUIs today still do this, but increasingly frequently (with the modern "web-inspired" TUI frameworks), the system will be ready to take your keypress, and discard it because the async dialog box hasn't registered its event listener yet.
Other than that antipattern, TUIs are doing great these days. As for terminal IDEs, Neovim has never been more featureful, with LSPs and other plugins giving all the features this article discusses. I guess it isn't a mouse-driven TUI, so the author wouldn't be interested, but still.
- a3w 1y agoRough quote: "in 1984 we had at my house", so even 41 years seems to be in the scope. I was expecting - early projects that ended in Visual Studio 1.0 or NetBeans soon after, (2 to 9 years too early for them) not - "vim (1991) was not out yet" (not-a-quote, but my feeiling upon looking at ncurses instead of floating windows)
- projektfu 1y agoI snickered a little because I know Visual Studio didn't have a version 1.0. Wikipedia identifies the first version as Visual Studio 97, which was at version 5.0. I remember before that there was "Microsoft Developer Studio 4.0" which came out around Windows 95, and could run on 95 or on NT 3.51. There was a Visual C++ 1.0 and a Visual Basic 1.0 released at different times. Meanwhile there were also the workhorses, Microsoft C and MASM. In those days, Borland and Watcom were real competitors to Microsoft for C and C++.
- roryirvine 1y agoYeah, by 1995, Visual Basic / C++, Delphi / Borland C++, and Symantec C++ were all-conquering. A few years before, it was very different - VisualAge and Rational Application Developer were the big names in the early 90s in "professional" IDEs. Interface Builder for university spin-outs or funky startups (and SunWorks / Forte Studio for the less-funky ones). CodeWarrior on the Mac (perhaps with THINK! hanging on too). I think Softbench was popular for scientific software, but I never actually saw it myself. And then just a few years later, the rise of Java turned things upside down again and we got Jbuilder, Visual Cafe, & NetBeans as the beginning of yet another new wave. The Visual Studio suite really began to take off around then, too. In short, the 90s were a time of huge change and the author seems to have missed most of it!
- calenti 1y agoAn all-in-one like Rational Rose may be making a comeback in terms of these agentic AI projects, because now you actually can turn a spec into code without layers of tagging and UML.
- karmakaze 1y agoI wasn't paying attention to when 30 years ago actually was... So disappointing to expect a GUI Smalltalk System Browser and seeing DOS TUIs. And then delight recalling Turbo C/Pascal and MS C 4.0 with CodeView that even worked in 43 or 50 line modes.
- jll29 1y agoYes, me too, I was expecting either Smalltalk or LISP machine GUIs. Having said that, some old TUIs were clearer and faster even on weaker hardware. This should be a lesson for us today. Color transitions and animated icons flying over the desktop are NOT what I need, but speed, clarity, and discoverability of more rarely used functionality are vital.
- igouy 1y agoMay 1988 -- Smalltalk/V 286 -- on IBM-PC, PS/2 or compatible, with an 80286 or 80386 "INTRODUCTION TO THE SMALLTALK/V 286 ENVIRONMENT" http://stephane.ducasse.free.fr/FreeBooks/SmalltalkVTutorial/SmalltalkVTutorial.pdf http://stephane.ducasse.free.fr/FreeBooks/SmalltalkVTutorial...
- pjmlp 1y agoThat was my introduction to Smalltalk.
- igouy 1y agoditto So much better than the TUI Smalltalk/V
- NetMageSCW 1y agoMethods.
- igouy 1y ago
- heresie-dabord 1y agoWhen people love an IDE product so much that they can't work without it, they have overspecialised to their detriment. And possibly to the detriment of the code itself. > As for terminal IDEs The GNU/Linux terminal is the killer app. Multiple terminals in a tiling window manager is peak productivity for me. (Browser in a separate virtual workspace.) And modern scaling for a big display is unbeatable for developer ergonomics.
- EbEsacAig 1y ago> When people love an IDE product so much that they can't work without it, they have overspecialised to their detriment. I think you are wrong. https://en.wikipedia.org/wiki/Muscle_memory https://en.wikipedia.org/wiki/Muscle_memory Being extremely good at something increases the gap between said something and everything else. That doesn't mean being extremely good at the first thing is "over-specialization to detriment". If someone is equally mediocre at everything, they have no such gap, so no "over-specialization to detriment"; but is that really worth desiring? I think not.
- mxkopy 1y agoWhat if the IDE is a LeapFrog 2-in-1 Educational Laptop
- johnebgd 1y agoIf you make usable products that solve problems for others from that then it’s a great IDE…
- jancsika 1y ago> Being extremely good at something increases the gap between said something and everything else. You're also potentially over-specializing at one level while at the same time neglecting other levels. Musicians run into this problem when, for example, they rely solely on muscle memory to make it through a performance. Throw enough stress and complicated music at them and they quickly buckle. Meanwhile, a more seasoned performer remembers the exact fingers they used when drilling the measure after their mistake, what pitch is in the bass, what chord they are playing, what inversion that chord is in, the context of that chord in the greater harmonic progression, what section of the piece that harmonic progression is in, and so forth. A friend of mine was able to improvise a different chord progression after a small mistake. He could do this because he knew where he was in the piece/section/chord progression and where he needed to go in the next measure. In short, I'm fairly certain OP is talking about these levels of comprehension in computer programming. It's fine if someone is immensely comfortable in one IDE and grumpy in another. But it's not so fine if changing a shortcut reveals that they don't understand what a header file is.
- cameldrv 1y agoYes. Back in the DOS days, and even before, when people used actual terminals, there was a keystroke buffer. You'd see people who really knew the interface fly through tasks being multiple keystrokes ahead of the UI. Stuff would just flash onto the screen and disappear as it processed the input that was already in its buffer. It should be possible to implement this with modern frameworks, but it requires thought.
- markus_zhang 1y agoYeah. I used to work as a phone surveyor, the one you hate. Our software is a terminal connected to a mainframe. I got used to it after a few weeks and was very productive. Costco Canada vision shops still use a terminal connected to an AS/400 machine as I snooped around last month.
- Twirrim 1y agoIn the late 90s I was required to slowly replace dumb terminals with PCs. One of the older ladies taking phone orders was most put out by this, understandably. She was lightning fast on that terminal. She'd never used a PC (I hit on the idea of using solitaire to learn to use a mouse, which worked amazingly well), and was never able to get to the same speed with one as she'd done on her dumb terminal. It's hard to beat the performance of dedicated devices.
- thequux 1y agoI recall reading somewhere that the entire point of solitaire (at least the original implementation that came with windows 3) was to teach users how to click and drag, so I'm not surprised that it was good for teaching your colleague how to use a mouse
- bionsystem 1y agoI saw this at an airport. Took the same plane twice, one year apart, in between they had replaced the terminal by a web UI. First trip it took 15 seconds from the hostess (well into her 50s) to find my booking and print my pass. Second trip (on the web UI), it took 4 hostesses to team up for something that felt like 5 good minutes to do the same thing.
- constantcrying 1y ago[flagged]
- yoz-y 1y agoMost of my work is done on remote machines. Nothing beats tmux+tuis in this paradigm.
- pjmlp 1y agoI rather stick with RDP, or browser based workflows.
- yoz-y 1y agoThey are fine, however RDP requires more bandwidth and most of the stuff I run is terminal commands anyway. Company I work for has a great browser based IDE but that’s something I would never setup and maintain for a personal project.
- mlyle 1y agoModern terminals do color just fine-- 24 bit color support has existed since 2010-ish, and been mainstream since 2015. There's nothing wrong with graphical IDEs... or text user interfaces. Great developers use both. Low effort troll is low effort.
- calenti 1y ago+1 - crap code can come out of notepad / emacs / vi or IDE-flavor-of-the-day or even the AI code sausage maker. Testing, specification, knowing what you are building and why still matters.
- pjmlp 1y agoAgreed, we used TUIs because we couldn't afford anything better on MS-DOS, CP/M, 8 bit home computers. People on better systems like the Amiga and Atari were already past that.
- rkagerer 1y agoYes! That phenomenon drives me crazy. I used to be able to use a computer at warp speed by staying ahead of its responses with chains of rapid keyboard shortcuts etc. Now it's like I'm trying to sride through molasses.
- nly 1y agoWindows maintains both a synchronous and asynchronous key state. The async one gives the result of the state of keys in a polled fashion, and the other the state as applied by messages as you pump the the Win32 message queue (it's in sync with respect to messages you have observed from the message queue) https://devblogs.microsoft.com/oldnewthing/20041130-00/?p=37173 https://devblogs.microsoft.com/oldnewthing/20041130-00/?p=37...