Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

各個「產生」的差異與應用:Create, Make, Generate #131

Open
SQZ777 opened this issue Mar 22, 2021 · 6 comments
Open

各個「產生」的差異與應用:Create, Make, Generate #131

SQZ777 opened this issue Mar 22, 2021 · 6 comments
Assignees

Comments

@SQZ777
Copy link

SQZ777 commented Mar 22, 2021

我目前的理解:
Create, Make, Generate 都有 "產生" 的意思

Create 是從 0 到有的「產生」
=> 我 Create 了一個新的 idea
Make 是把現有的東西「產生」成新的東西
=> 我用色紙 Make 了一個紙飛機
Generate 是做某件事情而「產生」出一個東西
=> 這個新聞事件 Generate 了很大的社會輿論

reference: https://diffsense.com/diff/create/generate

不知道在程式碼上的應用是如何?
目前已知:CRUD 的 C 是用 Create

@SQZ777 SQZ777 changed the title 各個「產生」的差異與應用:Create, Make, Generate 各個「產生」的差異與應用:Create, Make, Generate Mar 22, 2021
@twy30
Copy link
Contributor

twy30 commented Mar 22, 2021

@SQZ777 你好 😊 很有意思的題目。

綜合你已經整理的資料,再補充一些資訊:

create

強調「從無到有」之間的對比,語源是 15 世紀早期、來自拉丁文的 creatus 。 ( https://www.etymonline.com/word/create )

  • 形容「有創意」是 creative 這個字。
  • 「創造者」是 creator 這個字。

make

有「賦形、轉化、使其具有某性質」的意思,語源是古英文的 macian ,且可以追溯到更古老的語言 ( https://www.etymonline.com/word/make ) ;歷史悠久,有各式各樣的用法,例如:

  • 「交朋友」, make friends, 源自 14 世紀晚期。
  • 「小解」, make water, 源自 1400 年左右。
  • 「落跑、脫身」, make off, 源自 1709 年。

generate

偏向「產生 下一代 」的意思,語源是 1500 年左右由 generation 或拉丁文的 generatus 而來。 ( https://www.etymonline.com/word/generate )

  • generation 在 14 世紀早期是指「生在同一時代的族群」,到了 14 世紀晚期開始帶有「特指『產生』這個過程、這件事」的意思。
  • generate 在 1560 年代開始被用來指以下事物的「產生」:
    • 自然力量
    • 情況、狀態
    • 物質
  • 今日的「發電機」是 generator 這個字。
  • 形容「產生過程的」、「具有『產生』這項能力的」,是 generative 這個字。

在軟體領域的應用實例

create

make

而「美少女夢工廠」是 "Princess Maker" ( https://en.wikipedia.org/wiki/Princess_Maker ) 😆

generate

常用來指程式碼的「產生」,例如:

  • code generation, 指「產生程式碼」這個過程、這件事
  • code generator, 指「程式碼產生器」
  • generated, 是 generate 的過去分詞,形容「由程式碼產生器產生的程式碼」 (相對於手動寫出的程式碼)

以 .NET API 為例,在 Microsoft.CodeAnalysis (程式碼分析) 下有些案例可參考:


如果有某個情境不知道該用哪個字比較好,歡迎提出來討論 😊

@LPenny-github
Copy link

請教大大們,為什麼 mkdir 不是用 create?

我去網路搜尋,有 create a folder(較多),也有 make a folder(較少)

整個黑人問號 😅😅😅 先感謝大大們 orz

@twy30
Copy link
Contributor

twy30 commented Mar 22, 2021

@LPenny-github

為什麼 mkdir 不是用 create?

可能要把 mkdir 的作者找出來問才能確定 😅

(就像是「為什麼是 rmdir (remove) 而不用 delete? 」 😅 )


從語源與語意來看,create 與 make 的語意範圍的確有相當的重疊,兩者都可用來表示「從無到有」的「產生」。

當我們說 "creator" 的時候,語意會偏向「開創某事物的人」;而 "maker" 會偏向「製造某事物的人」。

例如,以 creator 結尾的字有 ( https://www.wordgamehelper.com/words-ending-with/creator )

  • creator
  • cocreator
  • procreator

以 maker 結尾的字有 ( https://www.wordgamehelper.com/words-ending-with/maker )

  • maker
  • comaker
  • remaker
  • unmaker
  • 以及其它 60 幾個各行各業、各種事物的 maker

或許 mkdir 的作者偏好「製造」的語意 🤔

@LPenny-github
Copy link

@twy30 謝謝大大神速的回答! 😆

@twy30 twy30 pinned this issue Mar 23, 2021
@twy30
Copy link
Contributor

twy30 commented Mar 23, 2021

@LPenny-github

相對的例子,在 .NET API 中,是 File, Directory 是用 create

@LPenny-github
Copy link

再度感謝 @twy30 大大 orz

@twy30 twy30 self-assigned this Mar 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants