You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+28Lines changed: 28 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,34 @@ Run `make help` or take a look at our [`Makefile`](./Makefile) for other useful
16
16
17
17
To quickly spin up a devnet, see [lean-quickstart](https://github.com/blockblaz/lean-quickstart).
18
18
19
+
## Philosophy
20
+
21
+
Many long-established clients accumulate bloat over time. This often occurs due to the need to support legacy features for existing users or through attempts to implement overly ambitious software. The result is often complex, difficult-to-maintain, and error-prone systems.
22
+
23
+
In contrast, our philosophy is rooted in simplicity. We strive to write minimal code, prioritize clarity, and embrace simplicity in design. We believe this approach is the best way to build a client that is both fast and resilient. By adhering to these principles, we will be able to iterate fast and explore next-generation features early.
24
+
25
+
Read more about our engineering philosophy [in this post of our blog](https://blog.lambdaclass.com/lambdas-engineering-philosophy/).
26
+
27
+
## Design Principles
28
+
29
+
- Ensure effortless setup and execution across all target environments.
30
+
- Be vertically integrated. Have the minimal amount of dependencies.
31
+
- Be structured in a way that makes it easy to build on top of it.
32
+
- Have a simple type system. Avoid having generics leaking all over the codebase.
33
+
- Have few abstractions. Do not generalize until you absolutely need it. Repeating code two or three times can be fine.
34
+
- Prioritize code readability and maintainability over premature optimizations.
35
+
- Avoid concurrency split all over the codebase. Concurrency adds complexity. Only use where strictly necessary.
36
+
37
+
## 📚 References and acknowledgements
38
+
39
+
The following links, repos, companies and projects have been important in the development of this repo, we have learned a lot from them and want to thank and acknowledge them.
If we forgot to include anyone, please file an issue so we can add you. We always strive to reference the inspirations and code we use, but as an organization with multiple people, mistakes can happen, and someone might forget to include a reference.
46
+
19
47
## Roadmap
20
48
21
49
0. Initial project setup and integration with [lean-quickstart](https://github.com/blockblaz/lean-quickstart)
0 commit comments