iT邦幫忙

2

當今組合語言應用度是不是相對狹窄?

組合語言在IEEE近三年的排名:
2017
https://ithelp.ithome.com.tw/upload/images/20191212/2012351354d8XoQU3h.jpg

2018
https://ithelp.ithome.com.tw/upload/images/20191212/20123513EPPEzkfasS.jpg

2019
https://ithelp.ithome.com.tw/upload/images/20191212/201235136JfbKYWcWA.jpg

我並沒有修過組合語言,不過有碰過組合語言的相關課程,很多老師都說組語很重要。近幾年也在熱門語言後段載沉載浮。

就我所知,組語是語法相當難學的一種語言,但是程式精簡,效率較高階語言好,但現在硬體容量普遍很大很足。我想問的是:如果不那麼重要,或是出來職場後職缺要求少這個語言,是否可以放在有空在學的項目。

python>C>Matlab>C++>Java>Swift>Assembly>Fortran...。

常有人問學習該從何入手,這是我整理推薦的學習次序,大家覺得呢?PHP不知道,感覺是時代眼淚。

看更多先前的討論...收起先前的討論...
slime iT邦大師 1 級 ‧ 2019-12-12 11:45:46 檢舉
組合語言的存在價值跟你想學什麼沒有關係.
我改標題好了。(當今組合語言還有存在價值嗎?)當然可以說,什麼東西存在都有價值。當然有關,你想學一個以後常用還少用的東西?以新手來講,很多語言被討論與學習,今天應該是推薦給他一個比較開放發完整,以及泛用度高的吧?
ccutmis iT邦高手 8 級 ‧ 2019-12-12 12:50:30 檢舉
葉問:不是南北拳的問題,是你的問題。
froce iT邦大師 2 級 ‧ 2019-12-12 13:08:01 檢舉
這行泛用度高等於容易被取代。
語言從來就不是問題,問題在你能做什麼。

然後python後學C...
我只能說我python寫到現在我都不敢說我真的懂了。(茶
覺得是記者作業文..
我完全不會用組語......一樣活的好好的
testh iT邦新手 4 級 ‧ 2019-12-13 10:04:31 檢舉
我算 組合語言,BASIC 同時入門的。
這兩個現很少有人用了;
但後來 "學" 的,好像都不是新的
4
Darwin Watterson
iT邦研究生 5 級 ‧ 2019-12-12 15:03:50
最佳解答

在現今強調「網路應用」的前提下,我的回答:
是的
理由是:
不管是python、java、php⋯⋯ 要開發web應用都相對於組合語言方便很多!

至於你提到的php是時代的眼淚這點,我並不認同!
記得剛踏入資訊業寫Java的那天起,不乏聽到Java要沒落的評論!
不過,時至今日Java依然活的好好的!
只是這股風潮似乎吹向php!
但是我相信「php在30年後依舊活的好好的」!

畢竟php在一般的商業網站上仍是開發主流!

以上是上個月才被公司要求寫一支php介接demo讓商戶端快速開發的java程式設計師的真實心聲

ps. 還是那句老話:『真的精通一個程式語言,要跨其他的並沒那麼難』/images/emoticon/emoticon10.gif
與其在這邊問學哪個語言對未來比較好,還不如先把自己現在會的學到精通吧!

6
海綿寶寶
iT邦大神 1 級 ‧ 2019-12-12 11:43:21

改問題了

不是

只是解個新手任務
選我最佳解答

你不是來問問題的,因為你心中早已有定見

看更多先前的回應...收起先前的回應...

我可是認真解新手認任務欸。

我也是很認真的回答你的題目
「當今組合語言還有存在價值嗎?」

你是海綿寶寶。我考慮你認真程度。

竹本立里 iT邦研究生 5 級 ‧ 2019-12-12 13:17:43 檢舉

你不是來問問題的,因為你心中早已有定見 +1

小魚 iT邦大師 1 級 ‧ 2019-12-12 13:41:24 檢舉

我看到裝滿水的杯子.

6
一級屠豬士
iT邦高手 1 級 ‧ 2019-12-12 11:45:11

python>C>Matlab>C++>Java>Swift>Assembly>Fortran

果然志向遠大,我們可以等你把 Python 學好後,再繼續討論這個問題.
加油喔!

看更多先前的回應...收起先前的回應...
小魚 iT邦大師 1 級 ‧ 2019-12-12 11:46:14 檢舉

同意

不會吧?是多針頭的,怎樣叫學好?我覺得學全基礎然後,再有一定應用能力,就可以換語言了。更何況我是先學C,
是如果要推薦給外行的話,我會這樣說。Fortran已經到做研究了欸,基本到C就不會再問了?

新手一般會問:欸,我想學語言,你推薦哪個?
你可以說:自己Google啊!
可是,有什麼日常問題google找不到半條嗎?

https://ithelp.ithome.com.tw/upload/images/20191212/20050647F7tK8YYBuJ.jpg

6
小魚
iT邦大師 1 級 ‧ 2019-12-12 11:45:48

不管熱不熱門,
它是無可取代的,
就像C語言一樣無人可以取代.
只要你接觸到逆向工程就會用到組語.

ok,所以我把他排很後面。我是以我認為的應用廣度去排。

3
浩瀚星空
iT邦大師 1 級 ‧ 2019-12-12 12:05:16

一定有用

我是來亂的,不要理我

ok歡迎光臨。

話說,真正的組合語言是這些嘛??
搖頭中

0
Samと可樂快跑
iT邦研究生 1 級 ‧ 2019-12-12 12:39:41

請問你現在月薪多少?

看更多先前的回應...收起先前的回應...

這涉及個人隱私,不如先說說自己的?

小魚 iT邦大師 1 級 ‧ 2019-12-12 13:24:47 檢舉

目前120K
https://ithelp.ithome.com.tw/upload/images/20191212/20105694jd4AKRG2aB.jpg

那你直接說是拉高平均還是降低了平均好了。
更何況,這是你提的問題,自然問的就是你的事囉。

Homura iT邦高手 1 級 ‧ 2019-12-12 13:39:20 檢舉

小魚
Roger Sun是誰啊?/images/emoticon/emoticon16.gif

小魚 iT邦大師 1 級 ‧ 2019-12-12 13:40:55 檢舉

Homura
我也不知道,
最開始不是我貼的.

ccutmis iT邦高手 8 級 ‧ 2019-12-12 15:51:43 檢舉

某天有個富翁受邀到學校演講,富翁請小朋友問問題。

小明問富翁:你怎麼變有錢的呢?

富翁說:小的時候我跟你一樣什麽也沒有,爸爸給我一個蘋果,於是我就把那個蘋果賣了,用賺到的錢再買兩個蘋果,然後再賣了買四個蘋果。

小明思考了一會兒:先生我好像懂了。

富翁:懂你妹啊,後來我爸死了,我繼承他所有遺產...

2
罐頭
iT邦新手 3 級 ‧ 2019-12-12 13:14:59

先不管排名 反正我目前會只會用到LISP

Wow第一次聽說。也是爺爺級語言。

1
fuzzylee1688
iT邦新手 1 級 ‧ 2019-12-12 13:29:32

你想往CPU,韌體,Drive設計那就去學Assembly/C吧.

1
舜~
iT邦好手 1 級 ‧ 2019-12-12 13:43:12

組合語言...只有在玩單晶片的時候接觸過
組合語言只比機器語言慢,比其他語言快,效率高,程式極小(編譯後)

不過

不易閱讀,不同單晶片不同廠商用的組合語言會不一樣

組合語言很重要,不過不走韌體基本上碰不到,因為高階語言的編譯/組譯器會幫您翻譯成低階語言XD


語言就是語言,繁中簡中英文美語哪個好哪個強???
看你要用在哪就去學啥語言,比如說在大陸趴趴走您會學通用普通話還是學各地區的方言? (您狂可以全部方言都學XD)

我覺得先至少學會一個語言(堪用就好),接著去了解設計原則SOLID、設計模式之類的,不管換什麼語言這些思維邏輯(心法?)幾乎是共通的~~

據我點解,組合語言 只是 機器碼的文字模式, 我應該不會弄錯吧

打錯字 點解一>了解

1
fillano
iT邦超人 1 級 ‧ 2019-12-12 14:47:39

許多高階語言是在虛擬機中執行的(Java, CLR等),虛擬機執行的中間碼,基本上跟組合語言很像,只是存取暫存器的部份,改成堆疊(如果是基於堆疊的虛擬機)。即使不直接碰到,這些東西還是處處都在的。

1
ckp6250
iT邦新手 2 級 ‧ 2019-12-12 15:22:45

真正的時代眼淚是 vfp ,
我的最愛和最痛。

看更多先前的回應...收起先前的回應...

/images/emoticon/emoticon47.gif
過去了,就讓它過去吧!

ckp6250 iT邦新手 2 級 ‧ 2019-12-12 15:29:30 檢舉

暫時還不能過去,還有一堆客戶還在用。
我後來慢慢發現,跟著微軟走,常常會變成孤兒。
linq,j# , vbscript ....

https://zh.m.wikipedia.org/zh-tw/Visual_FoxPro
剛google一下這是那個福斯電視台,我每週都在看的「辛普森與蓋酷家庭」所推的語言嗎?/images/emoticon/emoticon04.gif

哈哈,cobol語言也是!很多官股銀行的系統也都還停在cobol!

其實,我第一次開發的資料庫視窗應用程式。也是用Visual_FoxPro

wilson1966 iT邦研究生 5 級 ‧ 2019-12-13 08:44:17 檢舉

<<真正的時代眼淚是 vfp
用VFP 寫ERP 真的很好用

1
阿展展展
iT邦好手 1 級 ‧ 2019-12-12 22:38:59

沒有組合語言 就沒有電腦阿QQ
.
.
.
.
你是不是組語被當心情不好

3
japhenchen
iT邦新手 1 級 ‧ 2019-12-13 08:13:25

一切都講求速度,但

不是執行速度,而是開發速度,還有傳承的速度,要是你離職了,要找到接手的人需要花多少時間?找到人,要花多少時間接手你的工作?

現在還有誰在討論執行速度?行動裝置?噗~

開發出來才能換錢

3
清心明月
iT邦新手 4 級 ‧ 2019-12-13 10:27:46

我只回答你的主題, 不會回答你內文的學習方向, 因為是兩個問題的,無法給你建議。

基本上你要明白什麼是「學習亅「 組合語言」!
組合語言 是跟 CPU的 機械碼為一體的。
換句話說,不同的 CPU有不同的組合語言。
能學好及發揮好一款 CPU的組合語言,已經是一名高手。
CPU的組合語言何其多,你能學多小種?
單說 CISC CPU 的 x86, x64 不段指令升級,能應付嗎?
還有一些流行的 ARM, AVR, C51, OpenV

基本上大多數的CPU程式開發者,大多都是用 C或者 C++。原因是C或 C++的指令很接近組合語言,因此編譯出來的程式跑出來的速度很快,再加上每家 CPU都有自家 CPU的C或 C++ 的編譯器庫,可以完全發揮 CPU效能。你不再需要管 8bit 16bit 或32bit 64bit的計算指令,你不再需要管有多小種 accumulator 和 registor。

因此,你不是對設計CPU、設計編譯器或針對個別CPU效能極速開發有興趣的話,個人建議可以跳過 assembly(組合語言)。

建議,必須學好C和 C++,比學組合語言來得實制。

我要發表回答

立即登入回答