Fw: [問卦] 寫程式語言的語言是怎麼來的?

看板specialman作者 (一角兩角三角形!)時間5年前 (2018/09/29 13:05), 5年前編輯推噓1(100)
留言1則, 1人參與, 6年前最新討論串1/1
※ [本文轉錄自 Gossiping 看板 #1RhWSNPG ] 作者: jserv (松鼠) 看板: Gossiping 標題: Re: [問卦] 寫程式語言的語言是怎麼來的? 時間: Fri Sep 28 18:48:47 2018 ※ 引述《greattower (一劍定江湖)》之銘言: : 小弟最近離開了SAS S+轉到C++軌道, : 有一個問題一直困擾小弟很久, : 寫出程式語言的語言到底是什麼? : 一切的起源是怎麼來的, : 又是誰規定,print hello world就一定是印出呢? : 有沒有理組歷史系的大大來解釋一下? 這問題困擾我超過 25 年,身為「文組」的我,希望可以解答部分提問。 致力於人文和科學教育的 Crash Course [1] 有部很棒的短片,可在十分鐘內 回覆上述大部分問題,請見: https://www.youtube.com/watch?v=RU1u-js7db8
短片中提及人類史上第一個編譯器,A-0 System [2] 開發於 1951-52 年間,注意 到當時的用語是 "System",而且名稱 A-0 代表 Arithmetic Language version 0, 與其說是今天我們提及的高階語言編譯器,不如說是程式的載入器 (loader) 或連結器 (linker)。 A-0 System 背後的人物非常關鍵,是 Grace Murray Hopper 準將 [3],以下摘錄自 單維彰教授撰寫的介紹 [4]: * 本姓 Murray,Hopper 是夫家的姓 * 1941 年,Grace 在她的人生中產生了極大的改變。 當時歐戰爆發,Grace 有了 從軍的念頭,她想加入海軍。當時女人從軍都是做後備軍人,大部分都是護士, 再不然就是擔任後勤。 如果是受過高等教育的女性,就會被分配要去做有關計算的 工作,例如: 計算彈道,讓前線的砲兵知道如何使用砲彈。 * 她被分派到哈佛大學的一個後勤的計算局。當時的主持人是 Howard Aiken,也是 Mark I, II, III 這一系列電機計算機的設計及製造者 * 1945 年 9 月 9 日,發生了一樁對電腦界而言非常重要的軼事。那天因為天氣很 熱,他們都把窗戶給打開了,飛進來一隻蛾,結果那隻蛾被打死在一支繼電器裡面, 造成電路不通,讓機器當機,使他們沒辦法算出他們要的結果。經過了近一天的 檢查,Hopper 找到了那隻蛾,她用她的髮夾去把那隻蛾給弄出來,還把那隻蛾的 屍體貼在她的管理日誌上,上面寫著: 「就是這個 bug,害我們今天的工作無法完成。」 這個消息傳開之後,那個實驗室裡的人每逢老闆詢問為何還沒做出結果時,都把 過錯推給 bug。爾後,在電腦界中,遇到程式中有錯,就稱之為 bug。 除錯叫做 debug * 最大的貢獻是發明了全世界第一套編譯器,叫做 A-0。 在當時是沒有任何組合語言 及程式語言存在的,所有的程式設計人員,都是要把程式翻譯成機器碼,就是翻成 0011000101.. 這樣的形式,在紙上打洞,再送到機器裡面去讀。 ... 她便有了一種 想法,她想設計一種程式,讓人可以用類似英文的語法,把想做的事寫下來, 然後 用這個程式把英文翻譯成機器的語法,交給機器去執行。這個想法就是今日的編譯器 * 她提出這樣的構想時,眾人皆曰不可。所有人都告訴她電腦只能做計算,只能加減 乘除,只能處理數字,電腦是不懂英文的 ... 1950 年代,大部分人尚未意識到電腦 是用來處理資訊的工具,所有的人就是認為電腦是個計算機而已。 * 她的名言有很多,她自己最喜歡的: "A ship in port is safe, but that is not what ships are built for." (船泊港灣是安全的,但那並不是我們造船的目的) 延伸閱讀: * Grace Hopper's compiler: Computing's hidden hero [5] By Tim Harford BBC World Service, 50 Things That Made the Modern Economy 如果你對編譯器的實作議題有興趣,歡迎參閱以下教材 (有錄影): * 編譯器和最佳化原理篇: https://hackmd.io/s/Hy72937Me * 編譯器原理和案例分析: https://hackmd.io/s/H1ZzeiCIQ 另外,printf (注意後面的 "f") 背後有很多學問,可以追溯到 1960 年代。下次如果 還有其他網友討論到 C 語言的歷史時,我再來整理分享。 [1] https://thecrashcourse.com/ [2] https://en.wikipedia.org/wiki/A-0_System [3] https://en.wikipedia.org/wiki/Grace_Hopper [4] https://bcc16.ncu.edu.tw/pool/3.06.shtml [5] https://www.bbc.com/news/business-38677721 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.245.162 ※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1538131735.A.650.html

09/28 18:49, 5年前 , 1F
有神先拜
09/28 18:49, 1F

09/28 18:49, 5年前 , 2F
有神先推
09/28 18:49, 2F

09/28 18:49, 5年前 , 3F
推認真回覆
09/28 18:49, 3F

09/28 18:50, 5年前 , 4F
就知道會釣出來
09/28 18:50, 4F

09/28 18:50, 5年前 , 5F
樓下碰到成大資工教授想趟麻?
09/28 18:50, 5F

09/28 18:50, 5年前 , 6F
太神啦釣到大神了
09/28 18:50, 6F

09/28 18:50, 5年前 , 7F
求教授讓我過啊不然要幹嘛
09/28 18:50, 7F

09/28 18:51, 5年前 , 8F
bug
09/28 18:51, 8F

09/28 18:51, 5年前 , 9F
09/28 18:51, 9F

09/28 18:51, 5年前 , 10F
09/28 18:51, 10F

09/28 18:51, 5年前 , 11F
你文學系?
09/28 18:51, 11F

09/28 18:51, 5年前 , 12F
有神快拜
09/28 18:51, 12F

09/28 18:52, 5年前 , 13F
推推,終於知道bug由來
09/28 18:52, 13F

09/28 18:53, 5年前 , 14F
大推宅瑟夫!!!!!!!!!
09/28 18:53, 14F

09/28 18:53, 5年前 , 15F
太神啦
09/28 18:53, 15F

09/28 18:53, 5年前 , 16F
先推再說
09/28 18:53, 16F

09/28 18:53, 5年前 , 17F
太神啦
09/28 18:53, 17F

09/28 18:54, 5年前 , 18F
bug原來是真的bug...
09/28 18:54, 18F

09/28 18:54, 5年前 , 19F
09/28 18:54, 19F

09/28 18:54, 5年前 , 20F
先推
09/28 18:54, 20F

09/28 18:54, 5年前 , 21F
有神快拜
09/28 18:54, 21F

09/28 18:55, 5年前 , 22F
大推!!
09/28 18:55, 22F

09/28 18:55, 5年前 , 23F
這ID還不拜個
09/28 18:55, 23F

09/28 18:56, 5年前 , 24F
推 原來debug是這麼回事
09/28 18:56, 24F

09/28 18:57, 5年前 , 25F
有神快推
09/28 18:57, 25F

09/28 18:58, 5年前 , 26F
推 我理組我還沒研究過
09/28 18:58, 26F

09/28 18:59, 5年前 , 27F
@Nitricacid, 是啊,我致力於「文C雕龍」
09/28 18:59, 27F

09/28 18:59, 5年前 , 28F
知識文!
09/28 18:59, 28F

09/28 18:59, 5年前 , 29F
有神快拜
09/28 18:59, 29F

09/28 19:00, 5年前 , 30F
XD 推推
09/28 19:00, 30F

09/28 19:00, 5年前 , 31F
推 這個故事我有聽過
09/28 19:00, 31F

09/28 19:01, 5年前 , 32F
有神先拜
09/28 19:01, 32F

09/28 19:02, 5年前 , 33F
大神
09/28 19:02, 33F

09/28 19:02, 5年前 , 34F
程式語言是女人發明的
09/28 19:02, 34F

09/28 19:02, 5年前 , 35F
你啾啾鞋? 跪求啾啾鞋做這集XD
09/28 19:02, 35F

09/28 19:02, 5年前 , 36F
語言 文組無誤(O
09/28 19:02, 36F

09/28 19:03, 5年前 , 37F
一個語言最重要的是 compiler 吧嗎?
09/28 19:03, 37F

09/28 19:04, 5年前 , 38F
程式語言也是語言 算文組科目
09/28 19:04, 38F

09/28 19:04, 5年前 , 39F
先推再看
09/28 19:04, 39F
還有 295 則推文
還有 5 段內文
09/29 03:10, 5年前 , 335F
09/29 03:10, 335F

09/29 03:22, 5年前 , 336F
原來是教授...
09/29 03:22, 336F

09/29 03:34, 5年前 , 337F
u神
09/29 03:34, 337F

09/29 03:35, 5年前 , 338F
推 有神快拜
09/29 03:35, 338F

09/29 03:55, 5年前 , 339F
膝蓋就給你了
09/29 03:55, 339F

09/29 04:03, 5年前 , 340F
有神快拜
09/29 04:03, 340F

09/29 04:12, 5年前 , 341F
有神先拜
09/29 04:12, 341F

09/29 05:21, 5年前 , 342F
優文
09/29 05:21, 342F

09/29 06:25, 5年前 , 343F
有神快拜
09/29 06:25, 343F

09/29 06:38, 5年前 , 344F
跪推
09/29 06:38, 344F

09/29 07:22, 5年前 , 345F
————-我只能出來拜神了————
09/29 07:22, 345F

09/29 07:46, 5年前 , 346F
09/29 07:46, 346F

09/29 07:49, 5年前 , 347F
09/29 07:49, 347F

09/29 07:50, 5年前 , 348F
有跪有推
09/29 07:50, 348F

09/29 07:55, 5年前 , 349F
原來bug的典故是這樣來的喔!!!!
09/29 07:55, 349F

09/29 08:13, 5年前 , 350F
原來Bug來由是這樣 學了一課
09/29 08:13, 350F

09/29 08:16, 5年前 , 351F
09/29 08:16, 351F

09/29 08:19, 5年前 , 352F
有神快拜
09/29 08:19, 352F

09/29 08:21, 5年前 , 353F
我也要推一下
09/29 08:21, 353F

09/29 08:22, 5年前 , 354F
09/29 08:22, 354F

09/29 08:51, 5年前 , 355F
哇靠
09/29 08:51, 355F

09/29 08:52, 5年前 , 356F
jserv大大教師節快樂~
09/29 08:52, 356F

09/29 09:10, 5年前 , 357F
嘩眾取寵,
09/29 09:10, 357F

09/29 09:20, 5年前 , 358F
有神快拜
09/29 09:20, 358F

09/29 09:38, 5年前 , 359F
看八卦板長知識
09/29 09:38, 359F

09/29 09:38, 5年前 , 360F
09/29 09:38, 360F

09/29 09:40, 5年前 , 361F
09/29 09:40, 361F

09/29 10:09, 5年前 , 362F
有掛有推
09/29 10:09, 362F

09/29 11:02, 5年前 , 363F
推推
09/29 11:02, 363F

09/29 11:37, 5年前 , 364F
09/29 11:37, 364F

09/29 11:37, 5年前 , 365F
媽我在這!
09/29 11:37, 365F

09/29 12:05, 5年前 , 366F
@cshe096, 還好我用過 CP/M 作業系統
09/29 12:05, 366F

09/29 12:08, 5年前 , 367F
@BitTorrent, 鄉民不就是聊八卦取取暖嗎?
09/29 12:08, 367F

09/29 12:22, 5年前 , 368F
推到最後,一切都是電子驅動的是嗎
09/29 12:22, 368F

09/29 12:23, 5年前 , 369F
我推到最後,覺得電的發現真是一大奇蹟
09/29 12:23, 369F

09/29 12:30, 5年前 , 370F
@ai8051, 不透過電學,要打造計算機很辛苦
09/29 12:30, 370F

09/29 12:30, 5年前 , 371F
木頭跟彈珠做的二進位加法器 =>
09/29 12:30, 371F

09/29 12:31, 5年前 , 372F
09/29 12:31, 372F
※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: NoPTT (36.230.105.17), 09/29/2018 13:05:18

02/14 07:29, 6年前 , 373F
還是不懂
02/14 07:29, 373F
文章代碼(AID): #1RhmWFNb (specialman)