annotate website/src/why.html @ 1521:d3e61cd2aca0

docs and shell bug fix
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 25 Jun 2020 23:17:14 -0600
parents
children bafe6a6797ce
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1521
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
1 <!doctype html>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
2 <html>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
3 <head>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
4 <title>Luan Documentation</title>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
5 <meta name="viewport" content="width=device-width, initial-scale=1">
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
6 <style>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
7 @import "site.css";
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
8 </style>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
9 </head>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
10 <body>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
11 <div small>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
12 <a href=".">Luan</a>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
13 </div>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
14
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
15 <h1>Why Luan?</h1>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
16
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
17 <p>Luan is designed for simplicity and readability. It rejects the complexity of modern software. It is mature software that I have been using for years for web programming. Whether Luan will appeal to you depends on who you are. So I will address different groups of people.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
18
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
19 <h2>For Modern Scum</h2>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
20
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
21 <p>I define modern scum as members of depraved modern western culture. They will hate Luan and shouldn't use it. This is because they are evil people who love complexity and hate simplicity. They worship their own insane ideas and ideologies while ignoring practical real-world concerns. This is taken to an extreme in Silicon Valley where the world's worst software is produced.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
22
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
23 <h2>For the Right</h2>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
24
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
25 <p>Those on the Right that think their issue is primarily political are basically modern scum, and Luan isn't for them. But those on the Right that understand that the core issue is cultural and religious should find Luan appealing. The West first decayed religiously and then decayed culturally. This decay made the people evil to the point where they are completely incapable of producing anything good. But this is recent, happening between 2000 and 2010. America produced great software in the last century, and Luan is designed in this spirit. Things like Unix, C, and the internet protocols were all designed for simplicity and power. Luan has the same kind of design.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
26
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
27 <p>How does this matter practically? The Right is suffering because the Left dominates technology. And when the Right does try to produce technology, like a number of social media platforms, the results are poor. I believe that one reason for this is that the Right is using software tools designed by the Left. These tools are horrible and overcomplicated. The Silicon Valley types who produce them are not stupid, they are just extremely evil. So these tools are only really suited for them. Decent programmers want simple tools that don't force them to struggle to conform to some insane ideology. So decent programmers should use software produced in the West before it became fully depraved, meaning before 2000 to be safe. When more recent software is needed, look for software produced outside of western culture. For example <a href="https://nginx.org/">nginx</a> is okay because it was produced in Russia.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
28
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
29 <p>I designed Luan in reaction to horrible modern software. I think Luan should appeal to programmers on the Right who share my traditional western values. And I think Luan would allow these programmers to more efficiently produce websites to compete with the Left.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
30
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
31 <h2>For Muslims</h2>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
32
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
33 <p>Many Muslims seem to have lost sight of what the Quran teaches. They focus on specific rituals when in fact the Quran has a broad message. This broad message is to do good deeds and to generally seek the good and avoid the bad. The Quran is meant as a general guide for how Muslims should conduct all of their life. And this includes programming.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
34
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
35 <p>I am not Muslim, I follow the Old Testament. But all scripture has a similar message. Programming is a way of expressing ideas, just like any kind of writing. And where are ideas best expressed? In scripture. I use the writing style of the Torah as my guide for how I should program. Biblical Hebrew is a very simple language, yet the Torah expresses profound ideas in a simple and direct way using this language. This is exactly what one wants from good programming. And Luan is designed for this kind of programming.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
36
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
37 <p>Look at modern culture, especially the culture of Silicon Valley. Can any religious person deny that this culture is the product of Satan? And so their software is inspired by Satan. Is this the kind of software that a Muslim or any religious person should use?</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
38
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
39 <p>As I use the Torah for inspiration, Muslims should use the Quran. Consider how ideas are expressed in the Quran and try to apply the same style to your programming. The Silicon Valley obsession with programming ideologies is really nothing more than idolatry. Don't allow idolatry into your code. Scripture is full of general wisdom. I have <a href="http://software.mikraite.org/The-Old-Testament-on-Programming-tp3.html">applied</a> the wisdom of the Old Testament to programming. Muslims should try to do the same with the Quran.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
40
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
41 <p>The Muslim world will not improve until Muslims free themselves from dependencies on the degenerate West. For programmers the place to start is with software tools. Luan is one step in the right direction.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
42
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
43 <h2>For Japanese</h2>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
44
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
45 <p>Japan is the only remaining culture that I know of that values quality. The Japanese understand that quality is the result of keeping things clean and simple, and of continuous improvement. I have applied these things to Luan. I discussed how Japanese ideas apply to my programming <a href="http://www.mikraite.org/Core-Programming-Principles-tp1237.html">here</a>. I think you can see all these principles in my code.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
46
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
47 <p>Western software does not follow these idea. Instead it just continuously gets more complicated and unreliable. In contrast, Luan has been getting simpler and more reliable over the years as a result of continuous improvement. You cannot expect to achieve Japanese standards of quality and reliability if you use modern western software. So use Luan instead.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
48
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
49 <h2>For Chinese</h2>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
50
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
51 <p>The Chinese have mostly practical concerns, so I will address this first. But then I will show that principles are actually very practical.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
52
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
53 <p>Because Luan is simple and flexible, you can quickly create a website. And Luan code is easy to change, so maintenance is easy. Most other systems for web development have a bigger learning curve and are not so flexible. I will admit that Luan documentation could be better. I will fix this, but for now I promise fast support to answer your questions.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
54
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
55 <p>The best way to explain why principles are practical is to consider the game of Go (围棋). To win at Go, you must both be practical and apply principles. Your initial moves will determine the structure of the game, so are critical. Consider how this relates to programming. To just pick any random tools when starting a programming project is like picking random moves at the beginning of a Go game. In Go, your structure will be horrible and you will lose. And in programming, you will be stuck with messy code that will be hard to maintain. So the choices you make at the beginning of a Go game or at the beginning of a programming project are critical. In both cases, your initial choices should be based on sound principles.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
56
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
57 <p>Another point is that Go begins with an empty board, giving you complete flexibility about how you want to develop your position. Luan is the same, allowing you to create a clean design from scratch. This is in contrast to frameworks that impose structure on you which adds complexity and reduces flexibility.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
58
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
59 <p>Many Chinese programmers are willing to struggle to make any tool work. But this is a mistake because most of the work in programming isn't writing the code, it is maintaining the code. With messy code, the struggle never ends. But with clean readable code, maintenance is easy. Luan is designed to be simple and readable, so code written in Luan should be easier to maintain than code written in another language.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
60
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
61 <h2>For Nabble Users</h2>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
62
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
63 <p><a href="https://www.nabble.com/">Nabble</a> is a forum platform that I developed long ago, before I fully understood the importance of simplicity. Because users wanted to customize their forums, I developed <a href="http://naml.nabble.com/">NAML</a>. This started out as a simple macro language that looks like HTML. But as more and more functionality was needed in NAML, it grew into a monster. Now I hate my own creation. The lesson I learned is that front end code needs logic, so it should be implemented with a full programming language. I actually started working on Luan as a replacement for NAML, but Luan was so successful for me that I ended up using it in many projects. Because Luan was designed for end-users, it is the simplest programming language that I know of. I hope that a future replacement for Nabble will use Luan for customization. In that case, customization will be easy and unlimited.</p>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
64
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
65 </body>
d3e61cd2aca0 docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
66 </html>