November 2, 2024
Phi is a new programming language that is safe, powerful, and fun.
In essence, Phi combines the best of Python, Go, V, and Janet, and adds features seen nowhere else -- like macro methods, seamless contracts/type constraints, math that actually works correctly (thanks to Douglas Crockford's DEC64), and a distributed, end-to-end encrypted Actor model.
Here is a quick example:
struct User id int {:min 1} username str {:min_len 2} birthdate time.
I just did a quick semi-deep dive into learning assembly!
Why? Because revolutionizing computer programming is a high priority for me, and I no longer trust the wobbling tower of poorly-designed abstractions that modern computing is built upon.
Will revolutionizing programming require the replacement of the most fundamental abstractions we make, such as the function?
I think that might just be the case. (At the very least we should make functions extensible without breaking backward compatibility by having each function accept exactly 1 parameter that is an object or struct; more on that another time.
We're speaking at OSCON this year! Check out the upcoming talk by our founder, Steve Phillips, on July 15th at OSCON 2020 in Portland: "The Great Translation and the Age of V".
Talk Abstract If the software industry can master the quite feasible task of translating code between arbitrary pairs of programming languages, this will unleash vast potential that many of us have dreamt of for decades: use any functionality from any language or environment, allow new programming languages to start from where the same baseline, rewrite all the world's unsafe code in safe languages, and more!
Software is broken. Revolutionize.dev exists to fix it. We are a distributed R&D lab with a bold vision for how the global developer community can move beyond today's "best practices" -- the broken status quo of the software world.
What Software Must Become The world desperately needs us all to become dramatically better at architecting software that is:
Simple Software should be brilliantly simple, not brilliantly complex.
Composable We should be able to seamlessly combine different pieces of software without modifying those pieces (example).