diff options
Diffstat (limited to 'docs/suckless.org_philosophy.txt')
-rw-r--r-- | docs/suckless.org_philosophy.txt | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/docs/suckless.org_philosophy.txt b/docs/suckless.org_philosophy.txt new file mode 100644 index 0000000..58f1ed7 --- /dev/null +++ b/docs/suckless.org_philosophy.txt @@ -0,0 +1,136 @@ + [1]suckless.org - software that sucks less + __________________________________________________________________ + + [2]home [3]dwm [4]st [5]core [6]surf [7]tools [8]libs [9]e.V. + [10]download [11]source + __________________________________________________________________ + + * [12]about + * [13]coding style/ + * [14]community/ + * [15]conferences/ + * [16]donations/ + * [17]faq/ + * [18]hacking/ + * [19]other projects/ + * [20]people/ + * [21]philosophy/ + * [22]project ideas/ + * [23]rocks/ + * [24]sucks/ + * [25]wiki/ + __________________________________________________________________ + +Philosophy + + We are the home of quality software such as [26]dwm, [27]dmenu, [28]st + and plenty of other [29]tools, with a focus on simplicity, clarity and + frugality. Our philosophy is about keeping things simple, minimal and + usable. We believe this should become the mainstream philosophy in the + IT sector. Unfortunately, the tendency for complex, error-prone and + slow software seems to be prevalent in the present-day software + industry. We intend to prove the opposite with our software projects. + + Our project focuses on advanced and experienced computer users. In + contrast with the usual proprietary software world or many mainstream + open source projects that focus more on average and non-technical end + users, we think that experienced users are mostly ignored. This is + particularly true for user interfaces, such as graphical environments + on desktop computers, on mobile devices, and in so-called Web + applications. We believe that the market of experienced users is + growing continuously, with each user looking for more appropriate + solutions for his/her work style. + + Designing simple and elegant software is far more difficult than + letting ad-hoc or over-ambitious features obscure the code over time. + However one has to pay this price to achieve reliability and + maintainability. Furthermore, minimalism results in reasonable and + attainable goals. We strive to maintain minimalism and clarity to drive + development to completion. + +Manifest + + Many (open source) hackers are proud if they achieve large amounts of + code, because they believe the more lines of code they've written, the + more progress they have made. The more progress they have made, the + more skilled they are. This is simply a delusion. + + Most hackers actually don't care much about code quality. Thus, if they + get something working which seems to solve a problem, they stick with + it. If this kind of software development is applied to the same source + code throughout its entire life-cycle, we're left with large amounts of + code, a totally screwed code structure, and a flawed system design. + This is because of a lack of conceptual clarity and integrity in the + development process. + + Code complexity is the mother of bloated, hard to use, and totally + inconsistent software. With complex code, problems are solved in + suboptimal ways, valuable resources are endlessly tied up, performance + slows to a halt, and vulnerabilities become a commonplace. The only + solution is to scrap the entire project and rewrite it from scratch. + + The bad news: quality rewrites rarely happen, because hackers are proud + of large amounts of code. They think they understand the complexity in + the code, thus there's no need to rewrite it. They think of themselves + as masterminds, understanding what others can never hope to grasp. To + these types, complex software is the ideal. + + Ingenious ideas are simple. Ingenious software is simple. Simplicity is + the heart of the Unix philosophy. The more code lines you have removed, + the more progress you have made. As the number of lines of code in your + software shrinks, the more skilled you have become and the less your + software sucks. + +Related links + + * [30]The Duct Tape Programmer + * [31]Why should I have written ZeroMQ in C, not C++ + * [32]Best practices in application architecture: Use layers to + decouple + * [33]Facebook's code quality problem + * [34]Minimal Viable Programs + * [35]Why I Write Games in C + * [36]Use of command-line tools for effective data processing + +References + + Visible links: + 1. https://suckless.org/ + 2. https://suckless.org/ + 3. https://dwm.suckless.org/ + 4. https://st.suckless.org/ + 5. https://core.suckless.org/ + 6. https://surf.suckless.org/ + 7. https://tools.suckless.org/ + 8. https://libs.suckless.org/ + 9. https://ev.suckless.org/ + 10. https://dl.suckless.org/ + 11. https://git.suckless.org/ + 12. https://suckless.org/ + 13. https://suckless.org/coding_style/ + 14. https://suckless.org/community/ + 15. https://suckless.org/conferences/ + 16. https://suckless.org/donations/ + 17. https://suckless.org/faq/ + 18. https://suckless.org/hacking/ + 19. https://suckless.org/other_projects/ + 20. https://suckless.org/people/ + 21. https://suckless.org/philosophy/ + 22. https://suckless.org/project_ideas/ + 23. https://suckless.org/rocks/ + 24. https://suckless.org/sucks/ + 25. https://suckless.org/wiki/ + 26. https://dwm.suckless.org/ + 27. https://tools.suckless.org/dmenu + 28. https://st.suckless.org/ + 29. https://tools.suckless.org/ + 30. http://www.joelonsoftware.com/items/2009/09/23.html + 31. http://www.250bpm.com/blog:4 + 32. http://geekandpoke.typepad.com/.a/6a00d8341d3df553ef014e5f920093970c-pi + 33. http://www.darkcoding.net/software/facebooks-code-quality-problem/ + 34. http://joearms.github.io/published/2014-06-25-minimal-viable-program.html + 35. http://jonathanwhiting.com/writing/blog/games_in_c/ + 36. https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html + + Hidden links: + 38. https://suckless.org/ |