Live data from Hacker News

IDEs we had 30 years ago and lost (2023)

blogsystem5.substack.com

121–130 of 607 posts

Re: IDEs we had 30 years ago and lost (2023)

#121
I'm interested in how these old IDEs were used during the transition from assembly to high level languages. It seems especially topical given the LLM integration into today's IDEs.

Back then was it common to have a split or interleaved view of high level and assembly at the same time?

I'm aware that you could do something like the following, but did IDEs help visualize in a unified UI?:

    $ cc -S program.c
    $ cat program.s    # look at the assembly
    $ vi program.c     # edit the C code

A quick search shows that Borland Turbo C (1987) had in-line assembly:

    myfunc ()
    {
        int i;
        int x;
        if (i > 0)
            asm mov x,4
        else
            i = 7;
    }

From the 1987 Borland Turbo C User's Guide [0] "This construct is a valid C if statement. Note that no semicolon was needed after the mov x, 4 instruction. asm statements are the only statements in C which depend upon the occurrence of a newline. OK, so this is not in keeping with the rest of the C language, but this is the convention adopted by several UNIX-based compilers."

[0]: http://bitsavers.informatik.uni-stuttgart.de/pdf/borland/tur...

Re: IDEs we had 30 years ago and lost (2023)

#122
The author notes that he programmed back in the 1980's, but the article only focuses on the mid-90's IDEs.

I'd like to see a companion article about the IDEs from the 80's.

I remember 64FORTH had a multi-pane IDE, but I could only find this low-res picture of it: https://www.c64-wiki.de/images/thumb/2/24/Forth64-audiogenic...

There were others, though, including one I remember that was all text at the bottom half of the screen, and then graphic output at the top.

And, of course, the most famous one of all: the Atari 2600 BASIC Programming IDE which fit in just 4K.

Today's ragebait bloggers like to say how awful it was, but if you're patient and thoughtful, the way people were when it came out, you can do quite a lot.

An entire Pong game in six lines, from Wikipedia:

  1 Hor2←2+Key
  2 IfVer1>90ThenVer1←88
  3 IfHitThenVer1←9
  4 Ver1←Ver1+IfVer1Mod2Then8Else92
  5 Hor1←Hor1+7
  6 Goto1

Re: IDEs we had 30 years ago and lost (2023)

#125
(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.

Re: IDEs we had 30 years ago and lost (2023)

#126
post #73
post #32

Ah, Borland’s IDE! An absolute delight. I’ve yet to find anything modern that matches it. Sure, nostalgia turns everything syrupy, but I actively hunt for excuses to use Free Pascal just to fire up that interface. Okay, fine—I like Pascal too. You caught me. I also use Sam and Acme from Plan 9 (technically from the excellent plan9port), but let’s be honest: those aren’t IDEs. They’re editors. Tools that let me think…

One thing about the "professional" DOS software (and you can see it in things like Emacs - eight modes and constantly shifting) was you were basically expected to live in it - it had the full attention of the computer and the user. You were also expected to learn it; which meant you became "one with the machine" in a way similar to an organ player. I remember watching Fry's Electronics employees fly through their TUI…

> it had the full attention of the computer and the user.

This why I like to use the full screen mode of my editors and IDEs.

It surprises a lot of people who see my screen. Full screen features are everywhere but rarely used.

Re: IDEs we had 30 years ago and lost (2023)

#127
post #67
post #28

Earlier quoted context omitted.

The Magit experience is due to the use of the transient package for its UI. Some other packages also use it. Most notably for my personal usage is the gptel package.

Transient is the worst part about Magit IMO (the best parts are how you can prepare a commit to just include the right changes, or the functionality bound inside the transient menus that make complex operations such as fixups or rebases trivial). Transient UIs are consistently uncomfortable to work with, and could usually be replaced by just using a regular special-mode keymap in a custom buffer. The fact that Transi…

> Transient UIs [...] could usually be replaced by just using a regular special-mode keymap in a custom buffer.

For people who can look at a list of key bindings once and have them memorized, maybe. Turns out most people are not like that, and appreciate an interface that accounts for that.

You also completely ignore that the menus are used to set arguments to be used by the command subsequently invoked, and that the enabled/disabled arguments and their values can be remembered for future invocations.

> The fact that Transient hooks into the MVC and breaks elementary navigation such as using isearch

Not true. (Try it.) This was true for very early versions; it hasn't been true for years.

> or switching around buffers

Since you earlier said that transient menus could be replaced with regular prefix keys, it seems appropriate to point out that transient menus share this "defect" with regular prefix keys, see https://github.com/magit/transient/issues/17#issuecomment-46.... (Except that in the case of transient you actually can enable such buffer switching, it's just strongly discouraged because you are going to shoot yourself in the foot if you do that, but if you really want to you can, see https://github.com/magit/transient/issues/114#issuecomment-8....

> has irritated me ever since Magit adopted the new interface.

I usually do not respond to posts like this (anymore), but sometimes the urge is just too strong.

I have grown increasingly irritated by your behavior over the last few weeks. Your suggestion to add my cond-let* to Emacs had a list of things "you are doing wrong" attached. You followed that up on Mastodon with (paraphrasing) "I'm gonna stop using Magit because it's got a sick new dependency". Not satisfied with throwing out my unconventional syntax suggestion, you are now actively working on making cond-let* as bad as possible. And now you are recycling some old misconceptions about Transient, which can at best be described as half-truths.

Re: IDEs we had 30 years ago and lost (2023)

#128

I'm going to get punished for saying this, but I don't really see the point of IDEs when you have things like vim, Makefiles and bash. It just seems like more things to go wrong. I used Eclipse while I was doing Java development for a while and it had some conveniences but for the most part I just see it as one more thing that can go wrong and get in my way. Anyway, does anyone remember Metrowerks CodeWarrior? I see…

As someone who has been doing this either professionally (since 1996) or as a hobbyist programming in assembly and a little Basic (1986-1992), I’m always amazed at the feigned Slashdot style “I haven’t owned a Tv in 40 years why do people still watch them”.

Are you really saying that you don’t see any utility in modern IDEs? Even back in 1999 I thought Visual Studio was a breath of fresh air let alone R# with all of the built in refactors in 2008.

But going further back, to the Turbo days in college and my first few years working, breakpoints, conditional breakpoints, watches etc were a godsend

Re: IDEs we had 30 years ago and lost (2023)

#129
post #23

I think Emacs still does all of this; the argument the author makes is that it is "arcane", it just uses conventions he is not used to. It is however fully self-documented and interactive. For me the best textual interface I've ever used remains Magit in Emacs: https://magit.vc/ I wish more of Emacs was like it. I actually use emacs as my git clients even when I'm using a different IDE for whatever reason.

Magit is mind blowing. How did the magit guy or people even come up with the data model? Always had the feeling that it went beyond the git data model. And git porcelain is just a pile of shards.

For reference, I did use Magit for my short stint with Emacs (and then Spacemacs/Doom Emacs). I've always been more into Vim. I tried the Atom editor several years ago with lots of Vim emulation and quite a bit of customization - one of those being a Magit clone.

I moved to NeoVim many years ago and have been using NeoGit (a supposed Magit clone) the entire time. It's good but I'm missing the "mind blowing" part. I'd love to learn more though! What features are you using that you consider amazing?

Re: IDEs we had 30 years ago and lost (2023)

#130
post #73
post #32

Ah, Borland’s IDE! An absolute delight. I’ve yet to find anything modern that matches it. Sure, nostalgia turns everything syrupy, but I actively hunt for excuses to use Free Pascal just to fire up that interface. Okay, fine—I like Pascal too. You caught me. I also use Sam and Acme from Plan 9 (technically from the excellent plan9port), but let’s be honest: those aren’t IDEs. They’re editors. Tools that let me think…

One thing about the "professional" DOS software (and you can see it in things like Emacs - eight modes and constantly shifting) was you were basically expected to live in it - it had the full attention of the computer and the user. You were also expected to learn it; which meant you became "one with the machine" in a way similar to an organ player. I remember watching Fry's Electronics employees fly through their TUI…

About twenty years ago I did a consulting gig for a government agency that wanted to create a web interface for their CSRs to replace the green screens they had been using. The long time employees hated it because they had deep muscle memory for most tasks on the green screens and could get far ahead of the screen refresh. With the web UI, not only could they not type ahead, but many of the workflows now required use of the mouse.

The agency was happy to have something new and modern but more important to them was that new employees could be trained on the system far faster. Even though there were a small number of long term employees, they had high turnover with the frontline CSRs, which made training a major issue for them.

Post reply on HN