annotate src/bash.html.luan @ 92:7a56c17befab default tip

translation
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 02 May 2025 20:20:12 -0600
parents 76baf48ea36b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
1 local Luan = require "luan:Luan.luan"
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
2 local error = Luan.error
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
3 local Io = require "luan:Io.luan"
91
76baf48ea36b add translation
Franklin Schmidt <fschmidt@gmail.com>
parents: 51
diff changeset
4 local Site_translator = require "luan:gpt/Site_translator.luan"
76baf48ea36b add translation
Franklin Schmidt <fschmidt@gmail.com>
parents: 51
diff changeset
5 local get_lang = Site_translator.get_lang or error()
76baf48ea36b add translation
Franklin Schmidt <fschmidt@gmail.com>
parents: 51
diff changeset
6 local text_writer = Site_translator.text_writer or error()
14
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
7 local Shared = require "site:/lib/Shared.luan"
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
8 local head = Shared.head or error()
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
9 local existing_header = Shared.existing_header or error()
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
10
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
11
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
12 return function()
91
76baf48ea36b add translation
Franklin Schmidt <fschmidt@gmail.com>
parents: 51
diff changeset
13 Io.stdout = text_writer()
14
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
14 %>
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
15 <!doctype html>
91
76baf48ea36b add translation
Franklin Schmidt <fschmidt@gmail.com>
parents: 51
diff changeset
16 <html lang="<%=get_lang()%>">
14
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
17 <head>
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
18 <% head() %>
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
19 <title>Reactionary Software - Bash</title>
15
9694eff797bf fix html
Franklin Schmidt <fschmidt@gmail.com>
parents: 14
diff changeset
20 </head>
14
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
21 <body>
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
22 <% existing_header() %>
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
23 <div content>
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
24 <h1>Bash</h1>
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
25
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
26 <p><a href="https://www.gnu.org/software/bash/">Bash</a> is a Unix shell or command line. There are many shells available but Bash is old and standard. None of the alternatives are better, so stick with Bash.</p>
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
27
91
76baf48ea36b add translation
Franklin Schmidt <fschmidt@gmail.com>
parents: 51
diff changeset
28 <p>Bash is the first programming language that one should learn. This isn't the conventional approach, but think of human languages like English. Does one start a new language by having conversations or by writing essays? The command line is like having a conversation with one's computer while a program is like an essay. Using the command line will naturally get one used to the right kind of thinking needed for programming. The next step is to write programs (shell scripts) in Bash to automate what one does from the command line. Another benefit to learning bash is that it helps one understand one's computer. Bash deals with basic concepts like files and directories. Note that the first <a href="books.html">book</a> recommended here is <a href="https://www.amazon.com/Unix-Programming-Environment-Prentice-Hall-Software/dp/013937681X/">The Unix Programming Environment</a> which introduces the shell. To learn Bash, see <a href="learn_bash.html">my Bash tutorial</a>.</p>
14
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
29
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
30 <p>The right environment for programming is the command line and a text editor, not an <a href="https://en.wikipedia.org/wiki/Integrated_development_environment">IDE</a>. IDEs are one of the horrors of modern programming. They are bloated, overcomplicated, and inflexible. Reactionary programming should be based on using simple flexible tools like the shell and a text editor.</p>
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
31 </div>
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
32 </body>
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
33 </html>
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
34 <%
44025d01ad7e add bash
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
35 end