Show HN: TRUST – Coding Rust like it's 1989

(github.com)

161 points | by wojtczyk 3 days ago

30 comments

  • GuB-42 3 days ago
    Looking at this makes me nostalgic in a way the author probably hasn't intended.

    Rust is notorious for its slow compile times, while Turbo Pascal was known to be blazingly fast. And the debugger, one of the most important part of the experience is "Not implemented". Dressing it as a 1989 IDE makes me painfully aware of what we have lost. Despite running on hardware that were orders of magnitudes slower than today, software used to be more responsive.

    By "more responsive" I mean that while modern systems are excellent at batch processing, latency is often not great, and because so much happens in parallel, also confusing.

    • pjmlp 2 days ago
      Some of us still haven't lost it thanks to Delphi, C++ Builder, .NET or even Java.

      However they aren't fashionable in the days of Electron and CLI nostalgia.

      So you end up with Go on vim, instead of FreePascal on Lazarus.

      • cwnyth 2 days ago
        Heck, some of us haven't even given up on Perl.
        • mpyne 2 days ago
          I don't use it very often anymore (except for oneliners or simple one-offs) but I still like it!
        • pjmlp 2 days ago
          Quite useful still.
    • wojtczyk 3 days ago
      It was intended to evoke emotions. I really consider this more of an art project than a developer tool.

      I will see about the debugger.

    • anta40 2 days ago
      >> Rust is notorious for its slow compile times

      Don't forget Haskell. And what's other... C++, OCaml, etc?

      I guess a language with complex/complicated design is difficult to be compiled "blazing fast"

      • GuB-42 2 days ago
        Rust is not alone to compile slowly. And yes, there are reasons, but if you want to pick a language to fit the Turbo Pascal vibes, that's not it.

        Zig and Go would probably be better modern languages for this. Also "Turbo Zig" and "Turbo Go" sound cool, "Trust" sounds too corporate :)

        • fithisux 1 day ago
          Or Blooshed Dev-Zig

          Heck, the UI is in Delphi.

      • pjmlp 2 days ago
        Not really, because contrary to Rust, Haskell, C++ and OCaml have faster alternatives, even though some people decide to ignore them to their own pain.

        Haskell has GHCi, where you can pre-compile modules and play around in the repl with code that is more in flow.

        OCaml has a bytecode interpreter, and a repl, thus you can compile only what you need, and do the full compilation for proper releases.

        C++, well, yes it is slow, if you don't make use of binary libraries, external templates, incremental compilation and incremental linking, parallel builds, hot code reloading (VC++ and Live++), or REPLs (ROOT/cling, Clang-Repl).

      • wojtczyk 2 days ago
        Right, we can appreciate a lot of the heavy weight lifting by the compiler or blazing fast translations... in the latter case an assembler would do
      • japgolly 1 day ago
        Scala is painfully slow to compile too
    • TacticalCoder 2 days ago
      There are hardware reasons too, related to polling frequencies etc.

      Great article for those interested in the matter:

      https://danluu.com/input-lag/

      • wojtczyk 2 days ago
        Great article. Thanks for sharing.
    • IshKebab 1 day ago
      What do you mean the debugger is "not implemented"? I debug Rust code all the time with CodeLLDB. Works perfectly. Better than C++ in most ways.
      • ameliaquining 1 day ago
        That's referring to this specific retro-style IDE, which doesn't yet have a debugger UI; selecting the "Debug" menu item produces a "not implemented yet" error.
  • pjmlp 3 days ago
    Well not quite, unfortunely Rust still has a bit to catch up with 1989, it isn't only the Turbo Vision inspired IDE.

    https://ia801901.us.archive.org/5/items/TurboPascal55/Antiqu...

    > Fast! Compiles 34, 000 lines of code per minute

    https://archive.org/details/bitsavers_borlandtur5.5Brochure1...

    Measured on a a IBM PS/2 Model 60, meaning an Intel 80286 running at 10 MHz with 640 KB for MS-DOS, up to 8 MB depending on extenders and HMA configurations.

    https://en.wikipedia.org/wiki/IBM_PS/2_Model_60

    And if you feel using the language complexity excuse for 2026 hardware, see OCaml, Delphi, D, or C# AOT.

    • wojtczyk 3 days ago
      Thank you for the references!
  • awhenderson 3 days ago
    I haven't felt a lot of desire to code in Rust but I do now! Absolutely applaud this project - it's completely tugged on the retro nostalgia strings for my Turbo Pascal days. Also one of the reasons I enjoy the previously HN featured Microsoft Edit project immensely - https://github.com/microsoft/edit. Thank you OP
    • wojtczyk 3 days ago
      Thank you! I appreciate your feedback
  • rob74 3 days ago
    Cool! I assume TRUST stands for "Turbo Rust"? If yes, maybe it would be worth mentioning that in the readme. I doubt that Embarcadero Technologies (the current owners of the Delphi and C++ Builder IDEs, and probably also the owners of other former Borland trademarks) would mind - but then again, it doesn't hurt to stay on the safe side...
    • wojtczyk 3 days ago
      I can neither confirm nor deny what the T stands for. However a quick research showed some trademarks are current and renewed.
    • weinzierl 3 days ago
      Random aside: Back in the day Microsoft used the "Quick" prefix and Borland used "Turbo". I am waiting for a QRUST.
    • monadgonad 3 days ago
      Staying on the safe side would be not confirming whether it stands for Turbo Rust or not. "You might very well think that; I couldn't possibly comment."
  • nazgulsenpai 2 days ago
    The blue CRT glow of Turbo C++ / QBasic 4.5 IDE at 12 AM when I've snuck up in the middle of the night to poke around on the family computer on a school night when I was ~10 years old... I love this.
    • wojtczyk 2 days ago
      Happy to hear that. Thank you!
    • septune 2 days ago
      was here, done that !
  • doubtfuluser 2 days ago
    Thank you for that - I’m definitely going to look into it. I realize that I lost the fun in coding. I’m in a different career stage now as well, but just seeing this reminded me of how I started a long time ago implementing snake, learning about graphics mode, double buffering / page flipping etc.

    Everything felt exciting and so close to really understanding what’s going on. And just seeing the blue text interface reminded me of how much fun that was…

    • wojtczyk 2 days ago
      I am glad to hear how the project resonates with you and other people here. I was reading an article about coding in the 90s and thought, the best time I had was on our first computer. Starting out with Basic, Pascal, Assembly and C++. Text mode, VGA mode, INT 10h ... what fun
  • 0rbiter 3 days ago
    The window screenshots are clearly from macOS 26, the rounded corners look so broken. If Rust ran in DosBox, we would have the perfect 1989 emulator.
    • wojtczyk 2 days ago
      Thanks for the feedback, maybe I'll redo the screenshots
      • joshka 2 days ago
        I recommend VHS generally for these (we use them for all the ratatui screenshots generally). I'm also playing around with doing a rust version of this (https://www.joshka.net/betamax/)
        • wojtczyk 2 days ago
          Thanks, I was looking into a terminal recorder last night, but then it was kind of late. I will look into VHS.
  • HackerThemAll 2 days ago
    Turbo Vision library, which apparently inspired TRust, had a great object model, in which you could derive built-in classes implementing controls, windows, validators etc., extend them by adding custom functionalities and seamlessly plug them into the system. Imagine extending the built-in TEditor class to handle syntax highlighting, or extending TDialog to handle complex multi-tab option dialogs.

    To beat 1989 and Turbo Pascal, TRust must do that (perhaps the Rust's way).

  • 3836293648 2 days ago
    This needs to have DOS builds available. Is it performant enough for 90s hardware? I know the rust compiler itself isn't really.
  • anta40 2 days ago
    Just noticed in cannot build a standalone Rust source file

    "error: could not find 'Cargo.toml'"

    I assume first need to create a project by "cargo new" ...?

    Anyway, love the good ol' Turbo Pascal 7 Reference. Haven't touch it for more than 1 decade.

    • wojtczyk 2 days ago
      Thanks for letting me know. I shall add that.
  • segmondy 2 days ago
    I want an editor like this with proper vim support. Anyone know of any?
  • shreyas_p_238 2 days ago
    1989, this was the style of ide my school used to teach me C in 2015, so many frustrations, that turbo C was very very unpleseant to work with
    • wojtczyk 19 hours ago
      Thanks for sharing. Though, in the 80s and 90s this was cutting edge and so much better than what we had before.
  • eithed 3 days ago
    Ah, Norton Commander takes me back
    • wojtczyk 3 days ago
      Same here. I need to fire up my PC AT again.
  • kaant 3 days ago
    Because Rust deserves a blue-screen IDE from the olden days and someone had to do this...
    • wojtczyk 3 days ago
      Thank you for noticing! :D
  • whalesalad 2 days ago
    My first experience with programming was QBASIC in like 1997 - looked just like this. Minus the anti-aliased fonts, and a far lower resolution.
    • vunderba 2 days ago
      To me it looks more like the early versions of Borland C++ for MS-DOS but yes similar TUIs.

      https://imgur.com/a/qspuIBj

    • wojtczyk 2 days ago
      I very much remember QBASIC. It created a lot of joy for me. But I went for something slightly different here.
  • joshka 2 days ago
    Ha - I see it's Ratatui based. Nice work there :D
    • wojtczyk 2 days ago
      Thank you! Ratatui was super helpful
  • WiSaGaN 3 days ago
    Maybe I should start a project rewriting pctools 5.0 in rust!
    • wojtczyk 3 days ago
      I would love to see that.
  • forinti 2 days ago
    If only it would fit on a floppy.
    • wojtczyk 2 days ago
      Well, in release mode it is currently 1048KB. Works for a 3.2" HD
  • fithisux 1 day ago
    I like it. I will posdibly use it just for the nostalgia.
    • wojtczyk 19 hours ago
      Thank you! That is what it was meant for :D
  • RivoLink 2 days ago
    Love it, congrats.
    • wojtczyk 19 hours ago
      Thank you! I am surprised about all the feedback.
  • sourcegrift 3 days ago
    Embed nvim in the right pane!
    • wojtczyk 3 days ago
      Thank you for the feedback. I may actually add that option.
  • vsgherzi 3 days ago
    Honestly the experience looks pretty nice. Which is crazy to say for such an old style of program but I kind of like it. Perhaps just nostalgia for a time I never got your experience.
    • q3k 3 days ago
      A year or so ago I spent half a day writing some Rust on an actual DEC glass teletype (VT520) connected to a Debian box. I used vim and shell job control (^Z, jobs, fg, etc.) to switch between tooling and a persistent text editor. It made me feel things.
      • wojtczyk 3 days ago
        I can imagine. Thank you for sharing! I just saw one in the Computer History Museum.
    • 2ndorderthought 3 days ago
      I'm not mad at this at all. It probably runs with like 20kb if RAM.

      I realize the author is probably just having fun, but if a few modern features added to this and I would probably try it.

      Multi cursor, a little terminal window, some way to do code hints or intelligence. This would be a dream boat lol

      • boxed 3 days ago
        https://github.com/boxed/TurboKod

        I started this just for the lulz, but now I've got:

        copy/paste/undo

        multiple cursors

        debuggers

        syntax highlighting (even nested languages with jetbrains style comments!)

        find-in-files

        integrated documentation

        integrated git client (roughly modeled after lazygit)

        spell checking

        and tons more that I can't even remember

        • 2ndorderthought 3 days ago
          It's pretty awesome and inspires me more than lulz. Highly successful art project if you ask me
          • boxed 3 days ago
            Thanks.

            I'm thinking it could be a sort of reference implementation to build your own custom IDE the way you like it. I'm going to attempt to get TurboKod to be good enough to be my daily driver, we'll see how it goes.

        • wojtczyk 3 days ago
          OP here. Thanks for sharing! I love your project. Looks very polished and true to the experience.

          And yes, TRUST got started for the lulz and feels.

      • staplung 2 days ago
        Have you tried Fresh? Has everything you listed and more

        https://getfresh.dev/

      • wojtczyk 3 days ago
        Thank you! I may build this out further. I just wanted to get started and feel like back then; share and see what happens. If I am the only one who is excited about this.
    • wojtczyk 3 days ago
      Thank you! It was meant to evoke emotions.
  • AbuAssar 3 days ago
    nice (and clever) name!
    • ahartmetz 2 days ago
      I actually expected an unsafe-only Rust because of the name and the "archaic" date (of course, "safe" languages did exist at the time, if not low-level and safe ones).

      Still, cool project.

      • wojtczyk 2 days ago
        unsafe-only Rust ... good idea!
    • wojtczyk 3 days ago
      Thank you!
  • kilakulusu 6 hours ago
    [dead]
  • Nation3Labs 2 days ago
    [dead]
  • rockscy 2 days ago
    [dead]
  • handsometong 2 days ago
    [dead]
  • noborutakahashi 2 days ago
    [dead]
  • applex1025 2 days ago
    [dead]
  • vladsiu 2 days ago
    [dead]