@@ -14,7 +14,7 @@ Here is a list of general frequently asked questions.
1414The answer is ** NO** .
1515
1616Eask builds native executable on every release, see our [ release page] ( https://github.com/emacs-eask/cli/releases )
17- to download it! However, Node.JS is required if you are going to develop Eask!
17+ to download it! However, [ Node.JS] [ ] is required if you are going to develop Eask!
1818
1919## ❓ Who should use this tool?
2020
@@ -33,32 +33,47 @@ repository!
3333
3434## ❓ Why Node.JS?
3535
36- Node has better support on all kinds of terminal applications (compare to just
37- the shell script)! Like colorful interface, entire npm community, etc. So you
38- can build cross-platform software with fewer hassles! Especially after Microsoft
39- had bought the NPM inc, and would likely support their own system well.
36+ [ Node] [ Node.js ] provides better support for various terminal applications compared to shell
37+ scripts. It offers features like a rich, colorful interface and access to the
38+ vast npm ecosystem, making cross-platform development more convenient. This is
39+ especially true since Microsoft acquired [ npm] [ ] Inc., likely ensuring strong
40+ support for their own systems.
4041
41- Cask does not seem to support Windows (no WSL) after version ` 0.8.6 ` . In the
42- early versions, they have used Python, but due to the Python supports on Windows
43- are just not as good as Node.JS .
42+ [ Cask] [ ] seems to have dropped support for Windows (while still supporting [ WSL ] [ ] )
43+ after version ` 0.8.6 ` . Earlier versions were built on [ Python] [ ] , but [ Python] [ ] ’s support
44+ on Windows has traditionally been less reliable than [ Node.js ] [ ] .
4445
4546See [ issue #140 ] ( https://github.com/emacs-eask/cli/issues/140 ) for more information!
4647
48+ ## ❓ Why JavaScript?
49+
50+ There are many languages I could use to build around Eask, so why did I choose [ JavaScript] [ ] ?
51+
52+ I have three reasons:
53+
54+ - [ JavaScript] [ ] is easy to learn.
55+ - It offers excellent cross-platform compatibility, thanks to the [ Node.js] [ ] runtime.
56+ - I just happen to know [ JavaScript] [ ] , and I’m comfortable with it.
57+
58+ I also considered [ Rust] [ ] and [ Common Lisp] [ ] . However, [ Rust] [ ] was still relatively
59+ new when I started this project, and [ Common Lisp] [ ] , while powerful, has a steeper
60+ learning curve and is often seen as somewhat outdated. So, I went with [ JavaScript] [ ] .
61+
4762## ❓ Why yargs?
4863
49- [ yargs] [ ] has a very wide community; and it has been used in many tools.
50- It's cross-platform! And most importantly, this is one of the tools that
51- work well on Linux, macOS, and Windows.
64+ [ yargs] [ ] has a large and active community and is widely used in various tools.
65+ It’s fully cross-platform and, most importantly, works seamlessly on Linux, macOS,
66+ and Windows.
5267
53- There is also the major difference compared with Eask and other alternatives.
54- [ Cask] [ ] , [ makem.sh] [ ] , or [ Eldev] [ ] rely more on ` batch ` and ` bash ` . We chose a
55- different route and would like to hand over heavy tasks to a high-level
56- programming language, ** ` JavaScript ` ** . The development simply became easier,
57- since we don't need to care about different types of shells anymore!
68+ One key difference between Eask and other alternatives is how they handle scripting .
69+ Tools like [ Cask] [ ] , [ makem.sh] [ ] , and [ Eldev] [ ] rely heavily on batch and bash scripts.
70+ Instead, we took a different approach by leveraging a high-level programming
71+ language- [ JavaScript] [ ] . This made development significantly easier, as we no longer
72+ need to worry about shell compatibility.
5873
59- The drawback is the NodeJS runtime, but we can simply pack the entire CLI
60- program into an executable! That way we would not need to install ` Node ` and
61- ` npm ` before using eask !
74+ The main drawback is the [ Node.js ] [ ] runtime requirement , but we can mitigate this
75+ by packaging the entire CLI program into an executable. This way, users won’t
76+ need to install [ Node ] [ Node.js ] or [ npm] [ ] beforehand to use Eask !
6277
6378# 🔍 Usage
6479
@@ -166,8 +181,17 @@ Add the following code snippet to your Eask-file:
166181<!-- Links -->
167182
168183[ emacs-eask/archives ] : https://github.com/emacs-eask/archives
184+
169185[ Cask ] : https://github.com/cask/cask
170186[ makem.sh ] : https://github.com/alphapapa/makem.sh
171187[ Eldev ] : https://github.com/doublep/eldev
172188
189+ [ Node.js ] : https://nodejs.org/
190+ [ npm ] : https://www.npmjs.com/
173191[ yargs ] : https://www.npmjs.com/package/yargs
192+
193+ [ WSL ] : https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux
194+ [ JavaScript ] : https://simple.wikipedia.org/wiki/JavaScript
195+ [ Python ] : https://www.python.org/
196+ [ Rust ] : https://www.rust-lang.org/
197+ [ Common Lisp ] : https://lisp-lang.org/
0 commit comments