[問題] 為啥高階語言的hello world跟機器無關?

作者: nnlisalive (nnlisalive)   2017-09-08 04:33:14
https://helloworldcollection.github.io/
這個網頁是各種語言寫的Hello World 程式
有565種 包括76人類語言
我看到用音符寫程式的Velato語言XD
如果用組合語言寫Hello World 程式
寫法就會因為不同機器而不同
例如Assembler(8051)的HELLO WORLD程式
作者: LPH66 (-6.2598534e+18f)   2017-09-08 08:12:00
建議你去找本計算機概論從頭到尾讀完再回頭來看你的問題
作者: james732 (好人超)   2017-09-08 09:34:00
底層原理其實一樣,但編譯器大神處理掉了高階語言的重點就是不用管硬體啊XD
作者: mars90226 (火星人)   2017-09-08 16:45:00
這問題有點尷尬...感覺你需要先搞懂計算機的基礎簡單的說編譯器知道各機器所需要的機器碼他會自動將你的code轉換成對應的機器碼還有你說這那堆硬體其實都沒差,只有CPU的架構才有影響這種簡單的程式只有CPU架構跟OS會影響生出來的執行檔
作者: CoNsTaR ((const *))   2017-09-08 22:37:00
你講的不就是編譯器在做的事嗎…
作者: Neisseria (Neisseria)   2017-09-13 08:25:00
去讀編譯器和直譯器的書就有解了
作者: wgst88w (清楚明「熙」)   2017-09-17 22:02:00
白算盤講的軟韌體介面,就是你不知ASM在幹嘛的地方。
作者: Davidhu127 (船船_BTTO)   2017-10-15 14:54:00
高階的特性就是可以從實際層面"抽離",所以又叫做"抽象化",抽象化的好處是可以相容,跨平台都適用,設計起來省力,壞處是中間的轉換(或許會)讓效能變差一點點如果有興趣往高階走,比程式語言更高階的是演算法
作者: CoNsTaR ((const *))   2017-10-16 05:46:00
樓上,語言和算法是兩個完全不同的東西吧 = =還有抽象化是忽略整體的一部分,有助於將不同的東西歸類
作者: truefalse   2017-11-18 16:14:00
樓上,我覺得樓上上只是在表達概念因為演算法是跨越各種語言的正如同高階語言跨越機械的概念相近
作者: CoNsTaR ((const *))   2017-12-04 08:18:00
語言也是跨越各種演算法的啊…而且不管高不高階,語言本來就是跨越機械的不是嗎我是指在有對應的編/組譯器的情況下

Links booklink

Contact Us: admin [ a t ] ucptt.com