Skip to content

Commit 528a656

Browse files
committed
docs(FAQ): Why JS?
1 parent 34c7966 commit 528a656

File tree

2 files changed

+72
-26
lines changed

2 files changed

+72
-26
lines changed

docs/content/FAQ/_index.en.md

Lines changed: 43 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Here is a list of general frequently asked questions.
1414
The answer is **NO**.
1515

1616
Eask 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

4546
See [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/

docs/content/FAQ/_index.zh-tw.md

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ weight: 900
1414
答案是 ****.
1515

1616
Eask 在每個版本上構建本機可執行文件,您可以從我們的[發布頁面](https://github.com/emacs-eask/cli/releases)
17-
下載! 但是,如果您要開發 Eask,那就需要需要 Node.JS!
17+
下載! 但是,如果您要開發 Eask,那就需要需要 [Node.JS][]
1818

1919
## ❓ 誰應該使用這個工具?
2020

@@ -31,26 +31,39 @@ Eask 在每個版本上構建本機可執行文件,您可以從我們的[發
3131

3232
## ❓ 為什麼選擇 Node.JS?
3333

34-
Node 對各種終端應用程序有更好的支持(相比 shell 腳本)! 比如豐富多彩的界面,整個 npm 社區等等。
34+
[Node][Node.js] 對各種終端應用程序有更好的支持(相比 shell 腳本)! 比如豐富多彩的界面,整個 [npm][] 社區等等。
3535
所以你可以更輕鬆地構建跨平台軟件! 尤其是在微軟之後已經購買了 NPM 公司,並且可能會很好地支持他
3636
們自己的系統。
3737

38-
在 0.8.6 版本之後,Cask 似乎不支持 Windows(WSL)。 在裡面早期版本,他們使用的是 Python
39-
但由於 Python 在 Windows 上的支持只是不如 Node.JS。
38+
`0.8.6` 版本之後,[Cask][] 似乎不支持 Windows(但支援 [WSL][])。 在裡面早期版本,他們使用的是 [Python][]
39+
但由於 [Python][] 在 Windows 上的支持只是不如 [Node.JS][]
4040

4141
有關詳細信息,請參閱[問題 #140](https://github.com/emacs-eask/cli/issues/140)
4242

43+
## ❓ 為什麼選擇 JavaScript?
44+
45+
我可以使用許多語言來建立 Eask,為什麼我選擇 [JavaScript][]
46+
47+
我有三個理由
48+
49+
- [JavaScript][] 容易學習。
50+
- 得益於 [Node.js][] runtime,它提供了極佳的跨平台兼容性。
51+
- 我恰好了解 [JavaScript][],而且用起來得心應手。
52+
53+
我也考慮過 [Rust][][Common Lisp][]。然而,當我開始這個專案時,[Rust][]
54+
仍是比較新的語言,而 [Common Lisp][] 雖然功能強大,但學習曲線較陡,而且經常被視為有點落伍。因此,我選擇了 JavaScript。
55+
4356
## ❓ 為什麼選擇 yargs?
4457

4558
[yargs][] 擁有非常廣泛的社區; 和它已經被用在很多工具中。 它是跨平台的!
4659
最重要的是,這是在 Linux、macOS 和 Windows 上運行良好的工具之一。
4760

4861
與 Eask 和其他替代方案相比,也存在主要差異。[Cask][][makem.sh][][Eldev][] 更依賴於
49-
`batch``bash`。 我們選擇了一個路線不同,想把繁重的任務交給高層編程語言,**`JavaScript`**
62+
`batch``bash`。 我們選擇了一個路線不同,想把繁重的任務交給高層編程語言,[JavaScript][]
5063
開髮變得更加容易,因為我們不再需要關心不同類型的 shell!
5164

52-
缺點是 NodeJS 的 runtime,但我們可以簡單地打包整個 CLI 程序變成可執行文件! 這樣我們就不需要安裝
53-
`Node``npm`
65+
缺點是 [Node.JS][] 的 runtime,但我們可以簡單地打包整個 CLI 程序變成可執行文件! 這樣我們就不需要安裝
66+
[Node][Node.js][npm][]
5467

5568
# 🔍 用法
5669

@@ -150,8 +163,17 @@ Error: Process completed with exit code 1.
150163
<!-- Links -->
151164

152165
[emacs-eask/archives]: https://github.com/emacs-eask/archives
166+
153167
[Cask]: https://github.com/cask/cask
154168
[makem.sh]: https://github.com/alphapapa/makem.sh
155169
[Eldev]: https://github.com/doublep/eldev
156170

171+
[Node.js]: https://nodejs.org/
172+
[npm]: https://www.npmjs.com/
157173
[yargs]: https://www.npmjs.com/package/yargs
174+
175+
[WSL]: https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux
176+
[JavaScript]: https://simple.wikipedia.org/wiki/JavaScript
177+
[Python]: https://www.python.org/
178+
[Rust]: https://www.rust-lang.org/
179+
[Common Lisp]: https://lisp-lang.org/

0 commit comments

Comments
 (0)