沒有代碼的程式語言:Folders

2020-12-13 開源中國

之前我們介紹過「Whitespace」程式語言,這是一種很奇葩的程式語言,在「Whitespace」程式語言中,任何非空白的字符都是被忽略的,只有空格符,tab和換行符被認為是有效的語義字符。也就是說,你可以把用「Whitespace」程式語言編寫的代碼藏在其他的文本、代碼中,具有隱形代碼的效果。

而今天要說的這種語言更是奇葩,它叫做 Folders ,顧名思義,這種語言沒有代碼,也沒有代碼文件,這種語言的代碼就是作業系統的目錄結構。

事實上,文件系統目錄結構跟普通程式語言的過程結構非常相似,它就像各種的語法樹,在「Folders」程式語言中,代碼的結構就是這樣的,代碼命令通過目錄結構和其包含的子目錄的名稱構成。

比如,下面就是一個「Hello,World」程序:

它是如何運行的?

這最外層的目錄是程序的名稱,「Hello World」。目錄的讀取是按目錄順序,這段程序的第一層子目錄是「Setup」。「Setup」是列印命令的別稱;下面有張表描述了各種名稱代表的語義,這些名稱區分於Windows系統裡最常見的那些目錄名,比如「Program files」。

接著,目錄裡出現了很多「Img」目錄,名稱中的 「(2),」 「(3),」等數字是忽略不計的,它們用來區分同一目錄下多個相同的目錄。」 – Copy」這樣的字符也是忽略不計的(這些字符是拷貝目錄時Windows自動加入的)。而目錄名稱前打頭的數字是程式設計師用來控制程序流程的。下面是一個樣例:

New folder (2)New folder - CopyNew folder - Copy (2)Ifif10 ifif - Copy (1)etc.

字符串「Hello, World!」被分成了四段,這樣可以讓語義看起來更加清晰好讀。」%20「是空白符的意思。

」Folders「是一種面向詞彙的編程系統,這是跟其它大多數的面向邏輯的編程系統的重要區別。」Folders「目錄裡可以放各種的文件,但這些文件是忽略不計的。

下面是一個用」Folders「程式語言編寫的「99 Bottles of Beer」程序。「99 Bottles of Beer」通常是用來表達最簡單的運用循環和變量的代碼例子,請注意下面一個對於有空格和逗號的特殊處理:

目前,」Folders「程式語言只支持Windows平臺。它的代碼解析器是開源的,你可以在github上找到它。https://github.com/rottytooth/Folders

稿源:程序師

相關焦點

  • 科學家發現:對大腦而言,代碼編程與語言學習不同
    神經科學家發現解釋計算機代碼可以激活通用的大腦網絡,但不能激活語言處理中心。在某些方面,學習計算機程式語言與學習一門新語言(自然語言)相似。它需要學習新的符號和術語,必須正確組織這些符號和術語以指導計算機執行操作。編寫的計算機代碼還必須足夠清晰,以便其他程式設計師可以閱讀和理解。
  • 一行代碼證明編程能力,javascript程式語言中,經典語句精髓解析
    javascript程式語言中,經典語句精髓解析,一行代碼證明編程能力!程式設計師:十萬行代碼,證明編程基礎的掌握;之後,一行代碼證明編程的能力!1、if語句在javascript語言中,if條件語句是很常用到的。與其他程式語言相比,還是有差異的。
  • 艾編程:轉型IT學什麼語言好,學程式語言為何要重視代碼規範?
    那麼這兩年還有一個語音比較火熱,那就是Python,這門語言火熱的背後出現了幾個關鍵詞、少兒編程、大數據(專業火熱),pyhton成為了大數據專業之前你學習的香餑餑,而且也是容易上手的語言,所以也成為了小孩子學編程的必學課程,甚至還提出了小孩子為什麼學習編程,編程要成為中小學一個普及的課程的一些說法,這也是代表未來的一個數位化經濟時代成熟的鋪路石,那麼大家對於這方面是怎麼看的呢
  • MIT 推出程式語言 Gen,從方程式和手寫代碼上解放工程師
    Gen,這種語言讓研究人員在不需要處理方程式和手動編寫高性能代碼的情況下,編寫應用人工智慧技術的多個領域的模型和算法。概率程式語言(PPL)領域正經歷著機器學習技術快速發展帶來的奇蹟般的復興。在短短的幾年裡,PPL 已經從一個模糊的統計研究領域發展出十幾個活躍的開源方案。最近,麻省理工學院(MIT)的研究人員推出了一種新的概率程式語言 Gen。這種新語言讓研究人員在不需要處理方程式和手動編寫高性能代碼的情況下,編寫應用人工智慧技術的多個領域的模型和算法。
  • 如何學會所有的程式語言?
    不過,比得到答案更重要的是:掌握學習新程式語言的能力。授之以魚不如授之以漁對於一個編程老手來說,學習新的程式語言應該很容易。他們只需要一個周末甚至是幾個小時就可以開始用新學的程式語言寫代碼了。優秀的程式設計師可以為了完成某個任務使用任何一門程式語言。畢竟,程式語言只是工具。
  • 自動化程式語言的未來
    不過,問題是:與其它程式語言相比,梯形圖邏輯能在多大程度上滿足當前和未來複雜的自動化需求?答案可能比繼電器和線圈要複雜的多。梯形圖邏輯的起源自動化的出現要早於PLC,那時使用繼電器網絡來充當應用的「大腦」。沒有編程人員的角色:只有工程師負責設計電路、電工負責組裝。
  • 少兒編程是學什麼語言?選哪種語言好?
    首先少兒編程必然不同於成人的編程,從小開始學習的編程不一定是純代碼的形式,而是先從圖形化編程入手,先熟悉和運用編程思維,然後再逐步自己寫代碼編程。這裡說到了兩種,即圖形化編程,和代碼編程,這兩種是目前比較常見的程式語言形式。
  • 開課吧:最值得學的程式語言是什麼?程式語言通用學習方法分享!
    如果您對編程有興趣,想要以後致力於編程這個方向,那是肯定要下一番苦功夫的。說實話沒有一門程式語言是好學的,要是那麼簡單就可以學會了,那是個人就是程式設計師了。最值得學的程式語言是什麼呢?有了方向選擇起來就比較方便了,比如嵌入式的先從C語言入手,後端的選擇java或者php,python等入手,決定因素就是看你能不能堅持。就單論語言來說,程式語言基本是獨立的,沒有誰前誰後之說,比如Java和C#,先學哪個都行。
  • 【世界上最全的程式語言大集合】計算機各程式語言介紹
    一個腳本通常是解釋運行而非編譯。雖然許多腳本語言都超越了計算機簡單任務自動化的領域,成熟到可以編寫精巧的程序,但仍然還是被稱為腳本。幾乎所有計算機系統的各個層次都有一種腳本語言。包括作業系統層,如計算機遊戲,網絡應用程式,字處理文檔,網絡軟體等。在許多方面,高級程式語言和腳本語言之間互相交叉,二者之間沒有明確的界限。腳本編程速度更快,且腳本文件明顯小於如同類C程序文件。
  • 程式語言的被淘汰:選錯語言毀終身
    說起這一點我也是有個人偏好,如業餘開發選各種語言,而真正做項目的時候,選的語言便是 Java;業餘開發用 React、Stencil.js,在公司做項目的時候,還是 Angular 大法好。引子 1 :程式語言的讀與寫我們都知道,程式語言是寫給人看的代碼,寫機器運行的機器碼。
  • 計算機程式語言
    它是計算機的設計者通過計算機的硬體結構賦予計算機的操作功能,比如彙編語言(assembly language)。機器語言具有靈活、直接執行和速度快等特點。高級語言比較容易識記和理解,像C B語言等。語言分類編輯機器語言用機器語言編寫程序,編程人員要首先熟記所用計算機的全部指令代碼和代碼的涵義。
  • 如何用Android手機或平板編程寫代碼
    人工智慧時代來臨,不學點編程怎麼行?編程寫代碼,往往都需要在電腦上搭建IDE環境。而且在電腦上編程寫代碼做開發,可供選擇的就太多了。琳琅滿目的程式語言和五花八門的編譯環境,讓你隨便挑隨便選。針對不同的用途,自己學習的重點,可以選擇不同的集成開發工具,那麼手機上呢?
  • 兒童編程的語言規律
    很多兒童編程教育機構喜歡拿比爾蓋茨啊,拉裡佩奇啊,謝爾蓋布林、扎克伯格的編程經歷當宣傳內容。太遙遠太不現實,同時,也別聽什麼程式語言未來會怎樣怎樣,事實上絕大數的碼奴的日子並不是大家想像的那麼舒坦,那麼光鮮。家長們要知道,兒童學習編程教育,不是真正的學如何敲代碼,而是算計算機思維。
  • cloc:計算不同程式語言原始碼的行數 | Linux 中國
    ,抑或你的領導想對代碼進行全方位的分析。這時,你就需要用到一些代碼統計的工具,我知道其中一個是 Ohcount[1]。今天,我遇到了另一個程序,cloc。你可以用 cloc 很容易地統計多種語言的原始碼行數。它還可以計算空行數、代碼行數、實際代碼的行數,並通過整齊的表格進行結果輸出。cloc 是自由開源的跨平臺程序,使用 Perl 進行開發。
  • 計算機程式語言的發展簡史,人工智慧與雲計算程式語言!
    學習一兩門計算機程式語言也如當初學習英文一樣的火熱,隨著人工智慧AI和雲計算的不斷發展,Python語言和Scala語言已經成為這兩個領域裡面最為火熱的程式語言了,可以預知未來學習計算機程式語言的人也一樣會如同學習英文一樣的成為一種新常態,並且成為一種穩定的常態。以下筆者將以自己的學習認知,簡單的闡述一下計算機程式語言的發展。
  • 如何快速實現C語言上手編程,福利在這裡,C語言編程的入門教程
    C語言編程如何快速實現在我們初次學習C語言的時候,總想著快速的實現編譯過程。那麼C語言編程究竟是如何實現的呢,當然是要通過自己喜歡的編譯器來編譯完成,那麼今天就為大家介紹C語言編程是如何快速的實現。首先我們下載一款適合C語言的編譯器,今天為大家講解的C語言編譯器為CodeBlocks,該編譯器沒有太過複雜,很符合初學者,簡單上手快。2. 首先雙擊打開編譯器,進入登錄選擇界面,我們選擇添加一個新項目。3.
  • 如何熟練掌握多種程式語言
    好像我正在學習一種新語言(Python),這與我的母語(C#)完全不同。學習類似的程式語言(例如C#,Java和JavaScript)類似於學習類似的自然語言。例如,通過了解法語,我很容易掌握類似的語言,例如義大利語,葡萄牙語和西班牙語。但是,學習一種與我所知道的語義不同的程式語言(Python)類似於學習冰島語或普通話對我的法語背景沒有多大幫助。
  • 自學編程學什麼語言比較好,編程學習建議
    自學編程學什麼語言比較好,編程學習建議 自學編程受到入門基礎知識的限制,不建議學習一些底層語言,比如C,C++,這兩門語言涉及到的指針,內存的知識非常抽象,很容易反措,並且這兩門語言與底層硬體密切相關,如果沒有系統的學過計算機體系結構的知識,不容易深入。
  • 清華畢業生開發新特效程式語言:99 行代碼背後 20 多年的故事……
    不知道大家看沒看《冰雪奇緣2》,反正我看完之後的感覺,就是看兩個公主玩了一百分鐘的塞爾達...沒有任何別的想法...但有一位清華姚班畢業的大佬 —— 胡淵鳴,在看完之後,試著用 99 行代碼實現了冰雪奇緣裡的特效場景:是不是很炫酷?
  • 跨過編程入門門檻,從寫一首「代碼詩」開始
    以下是人們對編程很難學及JavaScript(或任何程式語言)很枯燥的一些誤解:· 代碼晦澀難懂令人望而生畏,只有實用功能毫無樂趣;· 代碼僅適用於機器,人們無法與它交流或參與其中;· 代碼不算一種語言,因為它與一般語言的用法截然不同