neonorb / project-asiago

NOTE: this repository has been deprecated in favor of https://github.com/projectasiago/asiago
GNU General Public License v3.0
11 stars 0 forks source link

What are new ideas? #4

Closed fabianloewe closed 7 years ago

fabianloewe commented 7 years ago

This question came up because you stated that the current systems are totally broken. But why are they? And how? And on the other hand: How are you going to fix it? What new ideas do you have? If we can discuss it here you should definitely add it to your README.md so visitors like me know what your project is about.

chris13524 commented 7 years ago

The "brokenness" is mainly a concern over security, stability, and integration. Systems are so fragmented that security breaches are almost inevitable. There are some systems I've discovered that work wonders, Docker and GuixSD for example. However, this is almost a hack onto how the program was written to function and can cause other issues in and of itself. People use different languages, frameworks, and styles to do all their development, and this causes pain to the developer to provide integrations to other software. Imagine if everybody were to write everything in your favorite language, there would be no shortage of libraries and integrations available. But instead, we're stuck with IPCs by marshaling a message, sending it across a tenuous connection and unmarshaling again. It requires the developers to always account for every possible error and introduces security concerns. You may say that different languages exist in order work better for what their used for, but I see no reason why a single language could not account for 95% of software.

My goal in starting this project is to scrap everything, and start from scratch to create an entire suit of software (and hardware in the future) to replace most computers. It should be rock-solid in security and stability (and I'm not just saying that). This is a fairly new project and most of my ideas haven't been put into code yet, but I'm nowhere short in the theory.

Of course, nobody would flat out scrap their digital life to move to the new system, so I'm also working on "backwards compatible" packages (Mish Linux, Mish Android) to allow the transition to be easier. This is similar to how the JVM is suppose to be platform independent, but my goal is to create a runtime that works flawlessly across any system. It's inevitable that such a system would be more restricted than your average C++ or Python program, but it's goal is not to be "another" language.

If you're interested in discussing some ideas, feel free to join the Project Asiago Telegram chat.

fabianloewe commented 7 years ago

To my mind, you are absolutely right with e.g. security or language interoperability problems. But still I don't see how you want to tackle these things. It's good that you have ideas but write them down somewhere in a kind of spec (with maybe a roadmap and concrete goals) so people like me can better discuss with you. Of course this does not have to be working code.

If I can get a clearer picture I'm happy to join your chat.

chris13524 commented 7 years ago

Much of the core Mish spec is on the wiki for that repository. The #BrokenSystem (security, etc.) fixes aren't resolved in that spec yet, I'm experimenting with those in the standard library. A few examples include contracts as opposed to exceptions and permissions as part of the language.

As far as networking and other more abstract concepts go, they exist solely as miscellaneous ideas I'm throwing around. But I agree, I should start writing some of this stuff down.

Join the chat: https://t.me/joinchat/AAAAAEF_t3aEpuC9QxJ5MQ