語言

語言/言語/Language
有吃翻譯蒟蒻或從小在海外生長的二世祖就不用看了

目錄

解說編輯

  • 連續變換音調與發音的表達方式,一般定義為人類使用
    • 動物的語言各有不同,但如何理解以及用人類的方式再現則還有一定難度
      • 現今有模擬的「狗語翻譯機」,解讀狗類的叫聲與情緒,重現為人類的語言
  • 書寫出來則是文字,由於部分民族沒有發展出文字系統,它們的文化記錄相對只能由歌謠、故事來探究,這方面的媒介就是語言。
    • 因此請不要說中文、請使用說國語、說中國語或者是說漢語
    • 此外用在撰寫電腦程式上的通稱為程式語言

自然語言編輯

  • 自然語言是伴隨文化與歷史而生,隨著文化演進而會有不同系統,常由單一語系演化
    • 部分人士將用以區別或歸納不同族群,而導向國族統一與種族主義等政治活動
    • 追溯根源由於經常牽扯到民族變遷及人口消長,易被視為對現有國家的格局、體系、情勢反對
  • 據估計,世界上目前的約有6909種,其中約2000種有書面文字,2500種瀕臨沒有母語使用者的危機
    • 十字教的傳說認為是上古先民因為建造巴別塔觸怒天神,結果造成語言分裂
      • 但未來會建軌道電梯,該不會……
  • 語言學家曾考究印歐語系諸語言,推論「原始印歐語」為印歐語系的起源,再由此分別向東、西發展,涵蓋歐亞大陸的主要文化
  • 透過研究不同之間發音相似且意義相近的單字,再歸納其中象徵,逆向推算出文化歷史間的演變、或原始人類對語言的定義規則
  • 簡單的例子是的關聯:
    • :Father(英語)、Vater(德語)、père(法語)
    • :Water(英語)、Wasser(德語)、marée(法語)
      • JOJO第六部中失憶的承太郎無法理解Water單字的意涵,這一幕可能象徵其"對父親一職的迷惘"(註:本推測目前仍需要更多資訊證明是否有所關聯,因為重建的原始印歐語中兩者差距頗大。)
    • 這類研究在純以文字為載體而沒有音訊記錄情形下很難進行,因為文字也可能隨時代有不同讀音、諧音,必須靠大量史料並依照序來湊出規律,或是實地到各地鄉村去紀錄方言口音
      • 例如中文系科目的訓詁學(解語言意義的學問)、聲韻學(解文字讀音的學問)以現今的普通話北京語無法著手,必須從閩語、粵語、四川話等方言才能解讀
      • 雖然也可藉由電腦模擬發音來還原,但往往顯得艱深難解
    • 如果搭配上文字學(解文字演變的學問)的研究,靠前兩者得出的結論也會顯得牽強,直至現今這三項學問仍會併在一起以「小學」(稱之為小學是因為中國的文人認為相對於文學理論、哲學、政治學等他們認為深奧的學問而言,這三項是基礎且微末、不重要的學問若認真探討起來有可能會動搖歷代王朝的大一統體系)稱之
    • 中國系的語言通稱「漢藏語系」,一如其名,原始的西藏語和上古漢語關係也匪淺,一些語言學家也會用西藏語來追尋上古時代漢語的唸法。
    • 除了印歐語系與漢藏語系外,另外還有阿爾泰語系[1]亞非語系[2]南島語系[3]、南亞語系[4]等較大型的語系
      • 其中韓文、日文(包括琉球文)經常被歸屬在阿爾泰語系中,但兩者與此之間幾乎沒有同源詞[5],這點也讓不少學者對此抱不同意見。
      • 也有學者認為韓文、日文(包括琉球文)應該是不屬於任何語系的孤立語言
  • 此外根據語法不同,另外有一種語法形式的分類方式:
    • 分析語(或稱孤立語,但因為容易與上面的孤立語言搞混,現在多用分析語):是一種不透過改變詞內部構造的方式來表達語意的語言
      • 漢語是最明顯的例子,一個詞看放在語句中的位置可以同時是名詞、動詞、形容詞甚至是副詞,
        如果要表達時間,漢語也不會改變詞彙的構造,而是在前後使用時間副詞來表明,
        甚至還有為了強調想要強調的對象而對語句進行倒裝的狀況。[6][7]
      • 英語[8]則是處於由屈折語向分析語轉變的過程中,其語序變得固定,虛詞大量出現,名詞變格已近消失,僅餘代詞變格,動詞變位系統極度退化。
    • 黏著語:和分析語是一種對比,主要是透過改變詞尾綴詞的方式來表達時間、狀態與詞性的語言
      • 日語是一個顯著例子,一個動詞與形容詞透過詞尾的變化來表達各種類型的含意,
        例如「知る(知道)/shir-u[9]」→「知らせる/shir-ase-(r)-u(讓你知道,詞尾改為ら未然形並加上使役詞綴させる/-ase-)」
        →「知らせられる/shir-ase-(r)-are-(r)-u(被迫知道,將させる後面的る去除變成未然形再加上被動詞綴られる/-are-)」
        →「知らせられない/shir-ase-(r)-are-na-i(沒被要求知道,再次將られる後面的る去除改為未然形並加上否定詞ない/-na-)」
        →「知らせられなかった/shir-ase-(r)-are-na-k-atta(之前沒被要求知道,將ない視作形容詞,去除語尾い改為過去式的かった/-k-atta[10])」[11]
      • 此外大部份的阿爾泰語系也都有強烈的黏著語性質
        (這也是為何韓文、日文會被部分學者歸類至阿爾泰語系的原因)
      • 世界語因為透過詞尾來辨識詞性(如名詞o、不定動詞is、現在式動詞as、形容詞a)、
        複數(複數名詞在後面加j)與受格(受格在後面增加n),故也被視為一種黏著語的表現
    • 屈折語:介於黏著語與分析語之間的類型,主要是一個詞綴可以表達多種含意
      • 法語、德語、俄語和拉丁文等印歐語系語言經常被視為屈折語的表徵
    • 多式綜合語:黏著語的一種極端表現,雖然是一個詞,但因為構成的語素中有主詞、動詞、受詞等類型,一個詞就幾乎等同於一句話
      • 這種類型的語言多分布在原住民語言中,特別是美洲與非洲,可能是因為研究者多數出身於此區域外,使用的研究語言也有所不同,造成解析結構的差異。

人工語言編輯

  • 為了特殊用途(術語)而被創造出的語言,不像自然語言歷經長年演化,卻能產生特定影響力
    • 雖然是人造的但擁有語法規則和語言結構,為可以使用而且完整的語言體系,
      只有符號組成而沒有完整結構與相應口說語言支持的不算在內。
  • 文藝創作中則常出現將自然語言經過字母調換之後組成的語言,
    但多數被用在密碼、解謎,或是用來塑造角色的特色
    • 通常是改變特定的音節、加入特定的單字
    • 也有的創作人工語言美其名是一種語言,但實際上因為作者沒有明確的字彙與文法設定,而無法被稱作是一種語言
      • 這樣的事情常常會發生在新手身上,通常情況下比較會被當成是塑造氛圍,而非真的創作
      • 理論上用機械譯不出來

程式語言編輯

  • 為了在電腦上撰寫程式而使用的指令集,因為有一定規則故稱呼之
    • 一般分為低階語言與高階語言
    • 低階語言就是機械執行的語言,基本上CPU可以即時知道並進行處理的語言
      • 由於CPU是電子元件,能直接處理的就是二進制的0和1,故直接用二進制去寫的稱爲機器語言(Machine Language)。
      • 而把機器語言的每條指令指定一個名字(例如令「add」代表加法),即得到組譯語言/匯編語言(Assembly Language)。
      • 上面兩種并稱低階語言。
    • 以下所談的基本上都是屬於高階語言的範疇,也就是「人類比較能輕易看懂」的程式語言
  • 現今的程式語言分為三種類型:指令式程式設計、物件導向程式設計以及函式型程式設計
    • 指令式程式設計(Imperative programming)顧名思義就是一個指令一個動作,包含一些簡單的邏輯指令,大部份的程式都屬於這種。
    • 物件導向程式設計(Object-oriented programming)是進一步去將眾多指令包裝為一個物件,並增加像是:
      • 繼承(Inheritance):繼承一種/一個物件使這個新物件擁有同樣的方法與屬性,但又可以在這上面衍生出更多方法與屬性
      • 封裝(Encapsulation):將部分方法與屬性給「黑盒子」[12]
      • 多型(Polymorphism):藉由繼承,讓不同類型的繼承物件對母物件的方法做不同的實現[13]
        • 其實也有不依賴繼承的多型。例如名曰加法,兩個整數相「加」與兩個字元串相「加」就大不一樣,前者是數學的加法、後者是兩個字串前後接成一個長串。嚴格來講這也是一種多型。
      • 抽象性(Abstraction):將一些難以定義的方法不做任何動作的方式抽象化,由繼承的物件去實作這個方法[14]的特性
    • 函式式程式設計(functional programming)則是將一個個方法都視為數學上的函式
      • 除了對傳入的數值進行運算外,數學的函式是沒有多餘操作過程的,因此這種語言寫出的程式可以用數學的手段加以驗證。
        • 但真正的程式總要給人用,給人用就要把資料傳入傳出,而天下找不出一種數學運算能把數字印在紙上螢幕上,所以這種語言到頭來要麽沒法實用化、要麽必須引入不是函式的東西。
  • 不過這只是個大略分類,並不代表所有程式語言必定是這三種類型的其中一種
    例如JavaScript本身就是使用函式(Function)卻兼濃厚物導氛圍的一種奇妙語言
    • JavaScript以函式來代表物件,但又使用「原型(Prototype)」的概念去營造出物件導向的概念。[15]
    • 另外還有使用稱作鴨子類型[16]的設計概念,也是和許多注重繼承的程式語言較為不同的概念。
  • 一般而言除了語法外,還會帶有編譯器
    • 更後來的程式語言為了避免因為程式忘記釋放記憶體空間造成程式跑一跑記憶體不足(俗稱記憶體流失/Memory Leak)的問題,
      會引入「垃圾收集器(Garbage Collection,一般俗稱GC)」的機制來定時清除不再用到的變數來釋放記憶體空間。
    • 近年來GC的處理速度以及是否會影響到正在執行的程式就成了程式語言分高下的關鍵要素
      • 因為GC是在背景定時偵測變數是否不再使用,故開一個程式的時候,其實都是開兩個以上的執行緒(Thread),
        CPU若只有一個的話會必須在這兩條執行緒中間快速切換[17]
      • 一旦GC需要運算的時間太長,就會阻礙到前台程式的執行而讓系統看起來跑得很慢。
      • 而GC如何判斷變數已經不再被使用,也有各種運算方式。
    • Java一直被嫌速度慢,某原因上是其GC執行方式會影響到前面正在執行的程式
      • JavaScript本身也類似,不過近年來在直譯器(interpreter)不斷演進的狀況下,現已經出現V8引擎為基礎的node.js可當作伺服器端程式語言使用
  • 關於直譯編譯的差別,大致可以用這樣的比喻來說明:
    • 假使有一本英文撰寫的紙本原文書(高階語言)要被翻譯成中文(可執行語言),可能會有這幾種方式:
      • 編譯器類型的程式語言會直接由翻譯把英文翻譯成紙本的中文書,好處當然是翻譯後要就可以馬上閱讀(執行),但缺點是當原文書大改版時,就要重新翻譯出書,無形中增加不少成本。
      • 直譯器類型的程式語言,則像是直接由一名翻譯站在讀者旁邊即時翻譯給讀者聽,
        好處是改版時就能馬上對應,不過因為每次都要重新翻譯,
        一旦是個用詞艱深且塊頭超大的磚塊書的話,那麼直譯器的速度就會變得很慢[18]
      • 而像C#、Java之類先編譯成中介語言(多重翻譯)的方式,則是原文書先由第一名翻譯讓他先翻譯成他與第二名翻譯都熟練的語言(如英文翻成日文),
        再由第二名翻譯像直譯器類型一樣站在讀者旁邊一邊翻這本由中介語言撰寫的一次翻譯本一邊現場翻譯給讀者聽
        好處是一次翻譯本因為轉換為比較容易解讀的語言,直譯器的速度會比較快,偏偏Java的大問題就真的是直譯時太慢了

數學上的「語言」編輯

  • 忽略所有意義上的細節,僅僅研究詞法句法。
    • 例如「樹吃紙」,這話作爲一句漢語來講根本是驢唇不對馬嘴,但從句法來看「主」「謂」「賓」完全符合漢語的規則。
    • 而以數學的觀點研究這種「一定的元素按照一定的規則連接成的長串」,即是數學上所講的「語言」。
  • 我們把最簡單、最基礎的語言元素稱爲「字元」(character)。
    • 例如,對於漢語的詞法,其「字元」就是單個的漢字,即使每個漢字事實上可以拆成若干筆畫也是如此。
    • 而對於漢語的句法,其「字元」則是漢語詞。不論包含多少個「漢字」(例如長一點的「大不列顛及北愛爾蘭聯合王國」),只要它是一個漢語詞,那麽在研究漢語的句法時它就是一個「字元」。
  • 若干個字元的集合,稱爲「字元集」(character set)。
  • 零個或多個字元集中的字元前後連接成一串,稱爲該字元集上的一個「字元串」(character string),簡稱「串」(string)。
    • 然後可以定義在串上進行的運算操作,例如串接A+B、子串(Substring)等。
  • 那麽對於一個給定的字元集,從其中選出一些字元拚接成一個串,所有這樣的串構成一個大集合。該大集合的一個子集稱爲一個「語言」。
    • 也就是說,這個語言完全不講求其中每個串的含義。對於字元集「東亞表意文字」來講,中文是其上的一門語言,日文中所有的漢字詞也是其上的一門語言,即使僅僅使用漢字詞很難寫出一個完整的日語句子。
  • 爲了研究上述的語言,我們提出「產生式」的概念:用來組合多個串的規則稱爲「產生式」。產生式中的每個單元稱爲「項」。
    • 例:
      1. 「句子」=「主語」+「謂語」+「賓語」
      2. 「主語」=「名詞性短語」
      3. 「名詞性短語」=「名詞」
        • 或「形容詞性短語」+「名詞性短語」
      4. 等等。
  • 再規定一個項作爲「一切的開端」,那麽我們可以依照給定的字元集和產生式,判斷一個給定的串是否可以從這個開端開始、按照產生式不斷構造出來,這稱爲「語言的識別」。
  • 相應地,從一套定好的字元集+產生式+開端項中我們也可以構造出所有符合產生式的串,這稱爲「形式語言」。其中的所有產生式稱爲這門語言的「文法」。
  • 對於文法本身又可做出規定,例如規定產生式中等號左邊必須只有一項等。其中一種規定稱爲「正則(regular)語言」,也就是常在程式設計中見到的「正則陳述式」(regular expression)。
  • 事實上現代的高階語言在編譯/直譯時,就是利用這裏的「文法」工具來剖析程式代碼、將其轉換爲機器能理解的形式的。

創作的人工語言編輯

語言名 使用者 登場作品 備註
新語(Newspeak) (故事中的登場人物) 1984 建基於英語的架空語言,以取代原有的「舊語」(Oldspeak)。
但是「舊語」中大量有關自由、革命等概念的詞彙及文法被簡化、取代或取消,以控制、消滅與當權者思想不符[19]的思想或言論。
由於作品對現代國家體系的預測十分經典,「新語」成為討論隱私、國家安全問題、共匪極權統治時的常用語,部分詞彙和人物更被收錄在現實的詞典中。
阿爾達的語言 托爾金小說登場人物 J·R·R·托爾金創作的一系列奇幻作品 托爾金本人在語言學上頗有心得,因此各種語言的分別十分清楚,而且也顯得很像是真的語言
納美語 納美人 阿凡達 導演卡麥隆請南加大語言學博士弗朗莫花四年時間創造出的語言,符合卡麥隆「有韻律感、流暢、富感染力」的要求
拍攝過程中多數演員均能順利掌握該語言
Simlish 模擬市民 《The Sims模擬市民》系列 組合烏克蘭語與塔加洛格語而成,在小人講話時可以聽見,許多重度玩家均能正常使用模擬市民語交談
古朗基語 古朗基 假面騎士空我 構成方式為五十音的變位重組+句型改變排位,理解構造後可以達成與日語的對譯
アンデッド語 アンデッド 假面騎士劍 オゥ林田!
其實是日語逆再生
タラール語 アイシャ Romancing Sa·Ga 以日文為主體,以重組發音與語序的方式成為新語言
數字語言 56318240雲仙冥加 24367282最強學生會長 本人自創的語言,唯一會的日文是8399943ドラゴンボール[20]
克林貢語 克林貢族人 星艦系列 少數獲得世界認可的人造語言,Linux作業系統亦有克林貢語版本
然而在語彙上仍然十分缺乏,國外曾有星艦迷嘗試教授自己兒子說克林貢語就因此而觸礁
亞特蘭提斯 亞特蘭提斯人 失落的帝國 迪士尼特地請語言學家創造的一套語言,由於融合了各國語言(或者說亞特蘭提斯語在劇中就是設定成所有語言的始祖),因此亞特蘭提斯人能夠不費吹灰之力就學會世界上各種語言包括中文[21]
アルベド語 アルベド族 Final Fantasy X 將日語假名以特定規律調換所得。透過收集アルベド語辞典,可在聽到アルベド語時將已收集到的詞典中有的假名替換回來,收集得越多就能還原得越完整
加米拉斯語 加米拉斯帝國 宇宙戰艦大和號2199 舊版的加米拉斯語是以日語為基礎亂拼音節組成的,2012年出的新版則是實際請語言學家創作了加米拉斯語和伊斯坎達爾語[22][23][24]
伊斯坎達爾語 伊斯坎達爾
銀河同盟語 銀河同盟所屬人員 翠星上的加爾岡緹亞 虛淵放話說這次不會讓大家好猜出來,但是不過兩話銀河同盟語就被對岸網民破解,緊接著也才四話加爾剛提亞語同樣被對岸人破譯了
加爾剛提亞語 加爾剛提亞船團的居民
梅魯尼克斯語 榭雷斯提亞人 Tales of Eternia ワイール!\主要以英文為主的語言,是一種以密碼代換法方式創造的語言/バイバ!
大人的語言 登場的大人 史奴比漫畫、動畫系列 漫畫標示都是一團歪線、動畫則是無法解讀,都由主角群來聽解意思後回應
(名稱不明) Overlord Inves 假面騎士鎧武 在劇組於東映官網表示牠們的語言是有特定構成模式後,48小時內立即有日本網民利用劇中提供的語彙成功破解對譯結構
ヒュムノス
(Hymmnos)
レーヴァテイル
(詩魔法少女)
魔塔大陸系列 "Was yea ra chs hymmnos mea."
別稱「感情言語」,使用形狀獨創但對應拉丁字母的文字。最大特徵是在文首會加入三個想音詞。
新約パスタリエ I.P.D.
(Infel Phira Dependent)
"hYAmmrA/."
2代登場的一種Hymmnos旁支。此律摒棄文首想音,採用想音動詞,這些詞中內含稱為Punk Period的點,可插入各種想母音(AIUEO五段活用)以細緻表達話者感情思緒。[25]
律史前月読 月奏(人類) "RRwta Vible farr sss."
由參照26拉丁字母組成「音素」構成。[26]
嚴格而言,這不是語言而是咒語,設定中算是hymmnos前身。
アル・シエラ
(星語)
アル・シエル
(惑星意志)
3代登場。
星球意志的具現化。包含超出人類聽域的頻率,因此難以理解全部含意。當中人耳能聽取並理解的部分構成了律史前月讀的體系。
契絆想界詩 人類、Genom 波濤協奏曲系列 "ih-du syou-chee-n ta-bou nh ru-ray ahih=og-an-ea!"
採用形狀以及發音均為獨創的文字,而文法則類近日文(有用途等同てにをは的文字)。
設定中,本語言是人類為發動詩魔法而與Genom融合時所使用的言語,會按照融合程度使用不同的第一人稱主語[27]
REON-4213 人類 Quell->{EXiV[obe]->{hymel f ethes}}->Exec->{TzW};
契絆想界詩的機械版本。
龍語(Dovahzul) 龍族 上古卷軸V:無界天際 "Fus Ro Dah!"
字型以龍爪書寫,文法結構類似英語(拉丁語)。
字彙量相當豐富,可達到現實日常溝通的程度。甚至有專門的教學與翻譯網站
對某一詞彙的意涵有深度理解所說出的龍語才能發動龍吼(Thu'um/The Voice/Dragon Shout)。
克萊茵語 克萊茵國國民 逆轉裁判6 字型為倒放的平假名,各個文字的讀音對應其原版平假名。
智械語(Omnicode) 智械(AI機器人)、「有擴充」的人類 Overwatch 符號以菱形為主,人類在沒有設備輔助的情況下是無法理解與翻譯的
名字就跟你講那是條碼(Code)了

現實存在的人工語言編輯

語言名 創造者 備註
世界語(Esperanto) 柴門霍夫 為世界上最通行的人工語言,特色是用詞尾分別詞性[28],不過是19世紀在歐洲創造的語言,有些規則和選字方式飽受批評[29],也被批評為獨厚歐洲而無視其他民族[30]
伊多語(Ido) 為世界語的改良版,不過使用的人還比世界語少。
オンドゥル語 オンドゥル8世椿隆之 已獲得本人承認(無誤)

現實存在的程式語言編輯

語言名 創造者 主要用途 備註
Fortran
(FORmula TRANslation)
John Backus & IBM 數值計算 最早的程式語言,語法接近數學算式,執行效率很高。
由於過去數十年累積了大量的程式碼/庫,直至現在仍有新版本推出,作為超級電腦的常用語言。
C Brian Kernighan、Dennis Ritchie(K&R 通用計算:驅動程式等基礎程式 由於過於簡單,不適合用在比較高階的程式,但其語法規則產生出了許多子集
Objective-C Brad Cox、Tom Love Mac OS與iOS APP開發 衍生自C語言,差不多是蘋果公司專用語言,雖然過去較少人用,但因為iOS APP限定使用此語言開發,現今使用者也不少。
Swift 蘋果公司為了取代Objective-C而研發的新一代程式語言,語法比較接近JAVA、C++等語言,也因為取消了指標等C語言特性而減少了許多錯誤的發生可能
C++ Bjarne Stroustrup 通用計算:從驅動程式等基礎程式到游戲編寫等高階複雜應用 2000~2010年代的PC遊戲幾乎泰半都是用這個程式語言撰寫,目前因為Unreal3D引擎免費化,也還是有不少遊戲使用。
公認的易學難精,即使是編譯器的作者也要為這門語言頭痛。[31]
Java SUN公司→Oracle 通用計算:跨平台程式、Android APP 受C++啓發[32],以跨平台為號召的程式語言,但因為實際上是先編譯成中間程式碼,然後再透過該平台的編譯器編譯成實際的程式碼,因此早期電腦速度不快的時候執行的速度就更慢
此外Google因為實際上是未經授權就直接取用原本Java的程式庫來當作Android的開發工具,因此後來跟買下SUN公司的Oracle打了好陣子官司。
C# 微軟公司 通用計算:.NET平台程式、Windows桌面開發、Windows Phone APP開發、Unity3D遊戲 屬於.NET平台的主要程式語言,不過在現今Unity3D遊戲引擎快速興起的情況下,也擁有不少使用者。[33]
Basic
(Beginners' All-purpose Symbolic Instruction Code)
John G. Kemeny、Thomas E. Kurtz 通用計算:基礎程式 與C是同樣等級的遠祖程式語言,以容易上手並且容易閱讀為特點
Visual Basic 微軟公司 通用計算:Windows程式、.NET平台程式 衍生自Basic,由於推出當時是少數能夠用視窗介面直接安排控制項位置的開發環境,過去有不少人很愛用,其簡化版VBA/VBScript廣泛用在Office巨集與ASP開發上
XML
(eXtensible Markup Language)
全球資訊網協會 資料存儲:文件檔、Android APP介面檔 屬於標記語言SGML的簡化版本,雖說平常會接觸到的機會不高,但多數程式語言會利用這個標準格式來儲存必要的資料
曾是網路資料傳送的標準格式,後來被JSON搶走位子。
HTML
(HyperText Markup Language)
全球資訊網協會、網頁超文字技術工作小組 網頁 同XML,屬於SGML的簡化版本,重要的特性之一是標記不僅有自我描述功能,還帶有外觀的設定,全世界的網頁全部都是用這個語言編寫的,目前最新版本是HTML5。
XHTML 全球資訊網協會 就是HTML,只是要求更嚴謹,例如不允許標籤(tag)沒有閉合[34],特性是更標準化、更嚴謹,以及規格更往XML方向偏過去。

另外,XHTML1.0 和 XHTML2.0 雖然都稱之為 XHTML ,但是是兩種不同的東西。通常說到 XHTML 都是指前者;後者是已經被放棄開發的事物。

XAML 微軟公司 GUI安排:WPF程式、Silverlight程式、Windows Phone APP開發、Windows 8 APP開發 XML的子集,主要用在程式介面安排上,需要後端程式碼(如C#、Visual Basic等)來輔助產生組件
Perl Larry Wall 腳本 腳本語言中的瑞士軍刀,什麽都能寫、寫成什麽樣子都可以。人送外號「只寫語言」。
Ruby 松本行弘 腳本:RPG製作大師(XP~VX ACE)、網頁伺服器 由日本人創造的語言,現今亦有Ruby on rail這樣的網頁伺服器架構
Lua Roberto Ierusalimschy、Waldemar Celes Luiz、Henrique de Figueiredo 腳本:Shiva3D、遊戲腳本檔,如《軒轅劍外傳:漢之雲》等 因為語法簡單,容易與其他語言整合,許多遊戲會利用此作為遊戲使用的腳本檔。
JavaScript[35] EMCA協會 腳本:網頁的執行代碼 網頁背後的客戶端程式語言,HTML5開始被當作網頁客戶端唯一標準。
雖然名字有Java,但實際上跟Java語言無關,純粹是創造者想借Java語言的名氣來推廣。
跟一般程式語言相比有些微妙的部分在於函式在搭配原型後也可以直接當成一種物件使用。
JSON 嚴格來說只是JavaScript的物件標記方式(在JavaScript中被稱作實字標記),因為只有物件(嚴格來說是函數)與陣列兩種形式,不僅可以直接被JavaScript解讀拿來用,加上其可以在較短的長度內描述大規模的物件[36],因此成為目前網際網路程式中交換資料的主流。[37]
缺點是不易為人類直接讀懂。
JSX 搭配React框架而開始廣為人知的一種語法,可以直接在JavaScript中使用HTML標籤描述外觀[38],實際上是一種語法糖[39],執行時會由編輯器將其轉換回JavaScript的標準語法
node.js Node.js Developers 脚本:網頁、伺服器端程式 JavaScript的子集,使用Google用於Chrome上的V8引擎,特性是大量使用回呼函式[40]來處理異步[41],也因為其架構簡單和可用模組(module)與模組包(package)來增強功能,現今已經有不少使用者
其實就是個依附於特殊定製版執行引擎的JS。
Type Script 微軟公司 同上是JavaScript的子集,但以可以加速執行效率[42]、並可直接編譯為能夠使用的JavaScript作為號召
PHP Rasmus Lerdorf 網頁:網頁生成、伺服器端程式 網頁背後的伺服器端程式語言,用以製作動態的網頁。
吸收了C、Java和Perl等流行電腦語言的特點。
Pure Wiki標記 網頁:2017年以前的糟糕島維基等使用同系統的維基條目編輯語法 基本上比起語言還比較偏向是不成語言的標記,這點XML其實也是一樣
Media Wiki標記 網頁:目前的糟糕島維基、維基百科與萌娘百科等較大型的維基百科

遊戲程式語言編輯

語言名 類似或基底語言 主要用途 備註
RGSS RUBY 與其說是類似Ruby不如當成一種以Ruby撰寫的框架(Framework)比較好。
最新版的MV則改用JavaScript作為基底語言
東方彈幕風 C++ 彈幕遊戲製作
http://studiopixel.sakura.ne.jp/ C++ 洞窟物語 FC版的洛克人7、8代,是參考本作的程式
Unity Script JavaScript Unity3D遊戲開發 不過Unity Script簡單之餘、可使用的功能較少且跨平台能力較弱,因此大部分使用Unity3D的遊戲基底程式碼仍是使用C#,而官方目前也宣布將在Unity 2017以後的幾個未來版本內正式停止對Unity Script的支援。

連結編輯

回應編輯

備註編輯

  1. 分布在西伯利亞與中亞
  2. 舊稱閃-含語系,分布在中東與北非,希伯來文與阿拉伯文都算
  3. 分布在南太平洋諸島,起源目前學界公認應該是台灣
  4. 分布在中南半島
  5. 也就是擁有同樣起源的詞彙,例如英文的Night和德文的Nacht都來自於原始印歐語的*nókʷts(夜晚)。
  6. 因此漢語對多數非華語圈出身者感到頭痛的部分也多半來自於此,連音念法是一個難關,隨著音調變化字義會完全不同也是一個難關,更加頭痛的就是漢語對詞性變化的極不要求還成了另一個解讀語意的難關;而反過來說華語圈出身者在學習其他語言時也容易因為詞性變化不容易掌握而比較困難
  7. 不過若說漢語完全沒有分辨詞性的方法其實也不盡然,隨著語言的變遷,現代漢語中的「破音字」其實正是分辨詞性的一個方式:例如「行」字,讀成「ㄏㄤˊ/Hang2」的時候,我們可以知道這是指「行列」的「名詞」詞性;讀成「ㄒㄧㄥˊ/Xing2」的時候,我們就能知道這是指「行走」的「動詞」詞性。但是多數非華語圈出身者使用的語言也幾乎沒有這種單用讀音音調的不同分辨詞性的方法,所以這部分的幫助能幫到的程度還是較少
  8. 現代英語的起源——中古英語很可能屬於兩種兼容程度不高的語言(古英語與諾曼征服時期的法語)融合形成的克里奧爾語中古英語克里奧爾說),因爲親屬語言的變格變位等系統無法兼容故更易向缺乏變格變位的分析語方向演化;與此相比沒有類似歷史的其他歐洲語言的分析程度要低得多;
    但這段歷史也使得英語原有的構詞體系受到嚴重破壞,使得英語詞彙的發展走進了「構詞體系殘破→借詞表達新概念→進一步破壞自身的構詞體系」的惡性循環,例如英語的「kidney(腎、出現於中古時期,構詞方式接近古英語)」、「renal(腎的,借自拉丁語)」,「nephron(腎元,借自希臘語)」毫無構詞法的聯繫,使得操英語者在成爲專業人士的學習過程中擴大詞彙量時無法用構詞法舉一反三而只得死記硬背,不然就要掌握好幾種語言的構詞法
  9. 此爲使用音素分析法得出的日語動詞變位體系的深層次結構(下同),其規則見,此形式下更易於看清日語的黏著特徵,也比基於音節(假名)的教科書式分析法更簡明
  10. 這個形式同時受到古老的形容詞變位規則殘留和音便影響
  11. 助動詞也相當多樣,還有歌詞教學法
  12. 例如部分物件可能會有內部運算用的屬性與函式,封裝起來後外部只能使用其公開出來的屬性與函式;打個比方來說,你就算不知道洗衣機內部構造是怎樣,還是可以把衣服丟進去洗一樣。
  13. 如狗跟貓都是會叫的動物,但叫聲完全不同,以物件導向來說就是他們都從「動物」這個物件繼承了名為「叫」的方法,但是他們用不同的方式去實作同個方法。簡言之就是「同名不同事」。
  14. 以上面的動物例子來說,人、貓、狗同樣是會叫的動物,但方式都不一樣,如果用同樣的來說,就是「動物」這個物件中的「叫」這個方法為空白並設定成抽象化,再由繼承「動物」物件的人、貓、狗去實現「叫」這個方法此外,將一個基底類別抽象化代表你可以在必要的時候隨時將子物件轉化成母物件來使用,例如預設活動範圍,參數為一個動物時,如果不透過基底物件,就變成每種都要寫一個方法既不實用也很耗時,若設成使用一個抽象範本作為參數時,就能將程式碼減少到最少
  15. 說白了這就是在原型繼承的基礎上強行加了類繼承。
  16. duck typing,源於James Whitcomb Riley提出的理論,定義是「當看到一隻鳥走起來像鴨子、游起來、叫起來很像,那就可以被稱為鴨子。」用在程式上就是「不管操作的東西,是繼承還是隸屬於哪裡,反正只要是支援的運算方法相同(像屬性、函式),那就是可以拿來用的東西」之意
  17. 雖然近年來多執行緒已經是常態,但實際上若你只有一顆CPU,多執行緒的執行方式是在單顆CPU上快速切換執行緒,好讓使用者有「看起來像是多顆CPU在跑」的錯覺,事實上仍然是一條單執行緒
  18. 對機械語言而言,高等程式語言的用詞對機器來說是艱難的;不過對人類而言反而是高等程式語言較容易閱讀。
  19. 即所謂的「政治不正確」
  20. 24話本人的發言:「3245662『8399943』311226」(「『ドラゴンボール』だけわかったぞ」)
  21. 英文原版的台詞是「也許他們也會說英文」,中文配音版則改成「也許他們也會說中文」
  22. 另外新版中加米拉斯方的翻譯機能力比地球高上許多,所以大部分加米拉斯人說日文也不成問題。同時加米拉斯稱呼太陽系星球的方式則是分析地球人的語言後加以加米拉斯語化,也因此他們是用「特龍(Terron)人」來稱呼地球人。
  23. 注意,劇中加米拉斯人相處的時候自然是用加米拉斯語對話,不過對配音員而言要用他們不熟的語言還要表達出感情那是酷刑→想知道的話可以去看《閃光的夜襲》,那是個好例子所以普通對話場景上自然還是用日文,但2199已經儘可能的讓異文明相處時的語言使用上不會太奇怪了
  24. 而實際上1、2集中也確實用加米拉斯語加字幕的方式來表明加米拉斯方實際上是用加米拉斯語對話
  25. 以"h.m.m.r."(歌唱)這個詞為例,將YA(希望你快樂)插入第一個點,將A(我很高興)插入第四個點,即為開頭之例。
  26. 例如「T」代表自我、「Z」代表神。當中A、I、U、E、O、N這六個韻母並稱「六大發想元素」,分別代表力、聖、憎、愛、邪、無。
  27. 人類為ih、Genom為ah。融合中途會用ahih,融合完成後則變回ah。
  28. 因此相對於許多歐洲語言屬於屈折語,世界語帶有濃厚的黏著語性質。
  29. 例如女性的單字必須加上-in,男性不用(例:父親→Patro、母親→Patrino),被部分女權人士認為是歧視女性
  30. 柴門霍夫起初的動機是歐洲在第一次世界大戰間的混亂,希望創造統一語言,也因此從歐洲語系著手
  31. 大概是唯一一門語義反過來影響語法結構(嵌套template的連續>)的語言。
  32. 說Java衍生自C++的全都給我流放爪哇島!
  33. 要注意的是隨著.NET的平台不同,可使用的API也有差別,因此雖然美其名可以跨平台,但實際上.NET的程式若要跨到另一個平台,需要重寫不少腳本可說是家常便飯,並沒有那麼容易。
  34. 例如換行符號<br />,必須寫成<br />,寫成<br>(中間沒斜線)是錯誤的。
  35. 只是借了Java的名字來推廣而已,跟Java沒有半點關係。正式名稱是「ECMAScript」(的一種),目前最新版本為2016年6月發表的第7版。也因為各家瀏覽器實作的子集不同,同樣是叫JavaScript但實際上還是有一些差異
  36. 用Word的字數計算功能算一下「<Types><Type>A</Type><Type>B</Type></Types>」和「{"Type":["A","B"]}」哪個比較長就知道JSON的好處在哪了。為了爭取時間以及避免中途斷線,基本上網際網路傳送資料是越短越好
  37. 不過正也因為其可說直接等同JavaScript(甚至物件可包含可執行的函式),因此使用上會有安全性的問題,一般來講會避免使用eval函式直接轉換成可用的物件,而是以JSON.parse()來解析物件,並以JSON.stringify()來將物件字串化。
  38. 但為了避開JavaScript的保留字,因此指定樣式的class改用className屬性,Label標籤中用來指定點擊時將焦點放至於哪個表單物件上的for屬性改為htmlFor屬性
  39. Syntactic sugar,由英國計算機科學家彼得·蘭丁發明的一個術語,因為科技始終來自於人性本懶,為了避免過長的描述與隨之導致的拼錯字、難以解讀的問題,所以由程式語言設計者添加的一種能讓程式設計師簡單使用的語法,實際上運用時會在編譯器中自動將這些語法糖「去糖」轉換回本來該有的語法
  40. Callback,意指讓被呼叫的一方反過來呼叫的、由呼叫方提供的函式。
  41. Asynchronous,一般會翻成「非同步」,不過是指同時間可以多條執行緒做不同的事情,與其相對的同步(Synchronous)反而是指同時間只能處理一件事情。實際上這兩個用語真正的意思是指呼叫的發起者是/否不必等待被呼叫者執行完
  42. 例如使用false||x的方式令執行引擎直接把x當作布林值對待、省去判斷其真實型別的時間。