最難學的5種編程語言排行

個程序員都熟悉許多編程語言。許多編程語言都是高級的,它們的語法是人類可讀的。然而,也有一些低級語言,對于一個人來說,讀起來很困難,但是可以理解。然而,您是否遇到過一種既不可讀又不可理解的編程語言?

有一些編程語言被稱為“深奧編程語言”或“esolang”。這些語言被設計用來測試計算機編程語言設計的邊界。這些類型的語言不考慮可用性,目的是去除和替換常規語言特性。這種語言在黑客和業余愛好者中很受歡迎。

我選擇了五種語言,它們讓傳統的程序員感到是噩夢。這些語言難以消化,難以理解。

640?wx_fmt=jpeg


最難的5種編程語言 :

1.Malbolge

Malbolge是最難的編程語言之一。事實上,在它誕生后,第一個Malbolge程序花了2年時間才完成,現在想想它有多困難?據說Malbolge編程語言的作者從來沒有寫過一個Malbolge程序。它是由Ben Olmsted在1998年創建的一種公共領域的深奧的編程語言。

下面是用Malbolge語言編寫的hellow world程序:

(=<`#9]~6ZY32Vx/4Rs+0No-&Jk)”Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:’8dc


2.Cow

Cow編程語言在2013年初發布。它是根據牛的思想設計的。牛掌握的詞匯技能有限,因此開發人員記錄了它們說出的詞匯。指令語言包含不同的“哞”變體,即“哞”、 moO, MoO, mOo, mOO, Moo等等。它是一種區分大小寫的語言,在語言指令之間的其他單詞和符號都被忽略。

下面是用 Cow 語言編寫的hellow world程序:

MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO MoO MoO MoO MoO MoO MoO Moo Moo MoO MoO MoO Moo OOO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOoMOo MOo MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo Moo MoO MoO MoO Moo MOo MOo MOo MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo MooOOO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo


3.Brainfuck

1993年由Urban Muller引入的一種深奧的編程語言。這種語言配得上“Brainfuck”這個復雜而不尋常的語言名稱。語言由8個命令組成,程序是這些命令的序列。該語言有一個指令指針,它從第一個命令開始并按順序執行。

Brainfuck語言的八個指令是(每個符號是一個命令):< > + – . , [ ]。

下面是用 Brainfuck 語言編寫的hellow world程序:

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.——.——–.>+.>.


4.INTERCAL

INTERCAL是一種沒有縮略詞的編譯型語言。它也是唐·伍茲(Don Woods)和詹姆斯·m·里昂(James M. Lyon)創建的一種深奧的編程語言。同時,它諷刺了其它各種編程語言的各個方面。

下面是用 INTERCAL 語言編寫的hellow world程序:

PLEASE DO ,1 <- #13

DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52

PLEASE READ OUT ,1 PLEASE GIVE UP


5.Whitespace

Whitespace是由Edwin Brady和Chris Morris發明的另一種深奧的編程語言。在這種語言中,空格字符(如空格、制表符和換行符)都具有含義。解釋器將忽略所有非空白字符。語言本身是一種基于堆棧的語言,程序運行的虛擬機具有堆和堆棧。搞笑的的是,該語言在2003年4月1日(愚人節)發布。

下面是用 Whitespace 語言編寫的hellow world程序:

640?wx_fmt=jpeg


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/272407.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/272407.shtml
英文地址,請注明出處:http://en.pswp.cn/news/272407.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[小北De編程手記] : Lesson 02 - Selenium For C# 之 核心對象

從這一篇開始&#xff0c;開始正式的介紹Selenium 以及相關的組件&#xff0c;本文的將討論如下問題&#xff1a; Selenium基本的概念以及在企業化測試框架中的位置Selenium核心對象&#xff08;瀏覽器驅動&#xff09; Web DriverSelenium核心對象&#xff08;Dom元素&#xf…

Java中HashMap的entrySet()你會用了嗎

Map中存放的元素均為鍵值對&#xff0c;故每一個鍵值對必然存在一個映射關系。 Map中采用Entry內部類來表示一個映射項&#xff0c;映射項包含Key和Value Map.Entry里面包含getKey()和getValue()方法 Set<Entry<T,V>> entrySet() 該方法返回值就是這個map中各個鍵…

JS獲取請求URL相關參數

今天在找獲取當前網址除去參數的js方式&#xff0c;結果自己會的竟然只有window.location.href 先看一個示例 用javascript獲取url網址信息 <script type"text/javascript"> document.write("location.host"location.host"<br>"); d…

wiki語法大全

Wiki語法大全 編輯一個維客頁面十分容易。只要點擊頁面上方的“編輯本頁”或右側的[編輯]鏈接即可修改該頁&#xff0c;或點擊“討論本頁”然后再點擊“編輯頁面”來討論該頁面。點擊后您就會看到一個包含那個Wiki頁面的可編輯的文字區域。 先將文字復制到您最喜歡的文字編輯器…

驅動認知

用戶態 App&#xff1a;cp指令&#xff0c;ftp的項目等等這就是App的開發。 App開發需要C的基礎和C庫&#xff0c;C庫講到文件&#xff0c;進程&#xff0c;進程間通信&#xff0c;線程&#xff0c;網絡&#xff0c;界面&#xff08;GTk&#xff09;。 C庫&#xff08;是linux標…

TreeMap實現排序

TreeMap TreeMap實現SortMap接口&#xff0c;能夠把它保存的記錄根據鍵排序&#xff0c;默認是按鍵值的升序排序&#xff0c;也可以指定排序的比較器。當用Iterator遍歷TreeMap時&#xff0c;得到的記錄是排過序的。 TreeMap取出來的是排序后的鍵值對。但如果您要按自然順序或…

圖解分布式架構的演進過程!

一、什么是分布式架構分布式系統&#xff08;distributed system&#xff09; 是建立在網絡之上的軟件系統。內聚性&#xff1a;是指每一個數據庫分布節點高度自治&#xff0c;有本地的數據庫管理系統。透明性&#xff1a;是指每一個數據庫分布節點對用戶的應用來說都是透明的&…

CSS 布局實例系列(四)如何實現容器中每一行的子容器數量隨著瀏覽器寬度的變化而變化?...

Hello&#xff0c;小朋友們&#xff0c;還記得我是誰嗎&#xff1f;對了&#xff0c;我就是~超威~好啦&#xff0c;言歸正傳&#xff0c;今天的布局實例是&#xff1a; 實現一個浮動布局&#xff0c;紅色容器中每一行的藍色容器數量隨著瀏覽器寬度的變化而變化&#xff0c;就如…

基于框架編寫驅動代碼

操作驅動的上層代碼&#xff08;pin4test&#xff09; #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h>void main() {int fd,data;fd open("/dev/pin4",O_RDWR);if(fd<0){printf("open fail…

nacos在windows下安裝

1:訪問https://github.com/alibaba/nacos/releases下載nacos 2:下載到本地解壓 3:點擊startup.cmd 啟動nacos 4:訪問 http://127.0.0.1:8848/nacos 輸入賬號和密碼&#xff0c;nacos/nacos

關于SQL優化這些你了解嗎?

背景在當今這個互聯網的時代無非要解決兩大難題&#xff0c;其一是信息安全&#xff0c;其二就是數據的存儲。而信息安全則是在數據存儲的基礎之上。一個公司從剛開始成立到發展成一個有上百人甚至上千人團隊的時候&#xff0c;公司的業務量是呈上升趨勢&#xff0c;客戶及用戶…

圖片安全保護(未啟動)

圖片安全保護&#xff08;未啟動&#xff09; 圖片安全保護&#xff08;未啟動&#xff09;posted on 2016-01-27 22:54 代碼35 閱讀(...) 評論(...) 編輯 收藏 轉載于:https://www.cnblogs.com/xinglizhenchu/p/5164847.html

微機總線地址,物理地址 ,虛擬地址

總線地址 地址總線 (Address Bus&#xff1b;又稱&#xff1a;位址總線) 屬于一種電腦總線 &#xff08;一部份&#xff09;&#xff0c;是由CPU 或有DMA 能力的單元&#xff0c;用來溝通這些單元想要存取&#xff08;讀取/寫入&#xff09;電腦內存元件/地方的實體位址。 自己…

Navicat遠程連接linux下mysql服務器1045錯誤解決辦法在這兒

1&#xff1a;首先通過xshell工具或者你熟悉的工具連接遠程linux下的服務器 mysql -uroot -p 然后輸入密碼 2.進行授權 如果想root用戶使用password從任何主機連接到mysql服務器的話。 GRANT ALL PRIVILEGES ON *.* TO root% IDENTIFIED BY 你的mysql密碼 WITH GRANT O…

內存劃分

一、內存分配 一個由C/C編譯的程序占用的內存分為以下幾個部分 1、棧區&#xff08;stack&#xff09;&#xff1a; 由編譯器自動分配釋放 &#xff0c;存放函數的參數值&#xff0c;局部變量的值等。其操作方式類似于數據結構中的棧。 2、堆區&#xff08;heap&a…

樹莓派 博通BCM2835芯片手冊

手冊提取鏈接 鏈接&#xff1a;https://pan.baidu.com/s/1fdmIBNn1Pr1j3-ercNhKJg 提取碼&#xff1a;8y1b 驅動的兩大利器&#xff1a; 1、電路圖:通過電路圖找到寄存器 2、芯片手冊 樹莓派有54個通用IO口(0到53)&#xff0c;所有GPIO口至少有兩個可選功能&#xff08;輸入輸…

MVC實現實現文件流打包成壓縮包

MVC實現實現文件流打包成壓縮包1、使用壓縮類庫SharpZipLib SharpZipLib 是一款比較經典實用C#壓縮類庫SharpZipLib 庫特點&#xff1a;功能豐富、穩定 &#xff0c;支持主流 zip、Gzip Tar BZip2 格式2、項目中引用SharpZipLib的官方地址是&#xff1a;http://icsharpcode.git…

Intellij idea 報錯:Error : java 不支持發行版本5

idea運行出現了這個錯誤 解決辦法按下圖所示&#xff1a;

屬性“dataProvider”有多個初始值設定項。(注意:“dataProvider”是“mx.charts.BarChart”的默認屬性)。...

1、錯誤描寫敘述 屬性“dataProvider”有多個初始值設定項。&#xff08;注意:“dataProvider”是“mx.charts.BarChart”的默認屬性&#xff09;。2、錯誤原因 <?xml version"1.0" encoding"utf-8"?> <s:Application xmlns:fx"http://ns.…

IO口操控代碼

我們在編寫驅動程序的時候&#xff0c;IO空間的起始地址是0x3f000000,加上GPIO的偏移量0x2000000,所以GPIO的物理地址應該是從0x3f200000開始的&#xff0c;然后在這個基礎上進行Linux系統的MMU內存虛擬化管理&#xff0c;映射到虛擬地址上。 底層驅動代碼 #include <linu…