Remix.run Logo
zahlman 3 days ago

> It's 2025, how are we still dealing with this sort of thing?

You have to get everyone set up to use it, whereas everyone is already, of necessity, set up to use plain text.

And we aren't all using the same programming language and the same hardware setup.

Thus, specifically:

* everyone has to agree on an IR standard; if it can't accommodate every programming language, then there needs to be coverage for all the programming languages, and a way for software systems to know which one to use

* everyone has to have local software that can convert back and forth (they can't just rely on something built in to the "development system", I assume burned into a ROM)

* everyone's version control setup has to invoke that software as a commit hook

* the IR has to be designed in a way that allows for meaningful diffs, and the version-control software needs to be aware of how to diff and patch (which potentially also means a new standard for diff files)

whartung 3 days ago | parent [-]

What "everyone"?

They don't have to agree on anything.

The poster child for this is Smalltalk. An untraditional environment despite being around 60 years. The source code is stored locally in an internal file tied directly to the runtime image. You can export/import code through "traditional" avenues, but not just anything, it needs to be structured source code. You can't readily move raw text in and out.

Despite this impedance mismatch with "the rest of the world", ST folks have been developing code and collaborating for decades. They even manage to get things accomplished.

Also, consider many of the modern logging platforms that are logging to databases rather than just raw files. While some grouse about that, others manage to make do. Letting the structured log managers handle the lower level details and provide a better UX.

The game is to make sure that your UX for your system is capable of the task, not worrying about interoperating with everyone else.

zahlman 3 days ago | parent [-]

> The source code is stored locally in an internal file tied directly to the runtime image. You can export/import code through "traditional" avenues, but not just anything, it needs to be structured source code. You can't readily move raw text in and out.

Okay, and what happens when you want to use version control?

And what happens when people want to use other text editors? Or are you proposing that each language should have its own complete Smalltalk-style "environment"?

> not worrying about interoperating with everyone else.

Many programming language ecosystems (notably Python's) would be severely hobbled without all the existing structure built for inter-operation (notably with C, and to a lesser extent Fortran). You can do a lot with pure Python code, but especially for performance reasons Python could never have drawn anywhere near the audience it has without libraries like NumPy.

igouy 2 days ago | parent [-]

> Okay, and what happens when you want to use version control?

"This allows Git/GitHub to diff versions, and merge branches."

https://drcuis.github.io/TheCuisBook/Daily-Workflow.html

Back-in-the-day long-long-time-ago

ENVY Developer

https://www.google.com/books/edition/Mastering_ENVY_Develope...

Product Revew, ENVY Developer

https://archive.esug.org/HistoricalDocuments/TheSmalltalkRep...