PTT推薦

Re: [請益] 轉職仔的語言選擇

看板Soft_Job標題Re: [請益] 轉職仔的語言選擇作者
albert8304
(阿爾伯)
時間推噓18 推:19 噓:1 →:29

※ 引述《serenitynice (cregryrm)》之銘言:
: ※ 引述 《makeupmakeup (elena)》 之銘言:
: : → DrTech: 另外機會大不大,薪水多不多,跟你學什麼程式語言無關。 05/24 22:53
: : → DrTech: 會用程式語言來限制自己的產業發展與職業角色,也顛倒了吧 05/24 22:54
: : → DrTech: 。應該是先選理想的產業,公司,思考一下自己要扮演的職業 05/24 22:55
: : → DrTech: 角色,職缺類型。再來談論學什麼程式語言。你怎麼相反了。 05/24 22:55
: : → DrTech: 選程式語言的推薦,根本無法給你任何實質幫助。 05/24 22:56
: 一個很菜的初學者想來發問一下
: 目前還是學生
: 很常看到有人說:語言不是重點

語言不是重點,要看接在什麼主題後面
學寫程式,語言不是重點(O)
轉職,語言不是重點(O)
領更高的薪水,語言不是重點(O)

但,目的是了解程式,語言就是重點了
每一個不同的領域都有各自的目的,這時候語言的特性就會非常重要
不過因為你本身是入門中的入門,會完全沒辦法理解是很正常的

: 很好奇這句話到底代表什麼意思?
: 依我自己觀察來看
: 網路上大多的轉職、轉軟體工程師的幾乎沒有從C/C++來學的
: 比較合適的,例如從python開始學起
: 可能走網頁或app那就學那一塊的
: 可能再加個資料庫這樣就夠了

如果你只希望寫出一個能動的程式,能拿來demo用的,那隨便選都可以
但你要知道,目的很重要
你只是要呈現一個東西
所以會不會寫程式這件事情,就完全不重要
也就是說程式語言的特性在你設定的條件下就是完全不需要被考慮到的事情
甚至可以直接說你最出發點就是,程式語言不是重點,你只是想要有東西而已
這樣的事情基本上就是個maker,或者說創客

: 這樣很多指標都不知道也活得好好的
: 我是想說,那大學一年級為何不直接從python教起
: python也可以寫資料結構 演算法也是

你有想過為什麼要資料結構與演算法嗎?
資料結構是為了有效的儲存與運用在記憶體內的資料
演算法是為了讓運算邏輯可以收斂,容易被理解
每個人都會對資料結構、演算法有不同的理解
但你需要自行理解而不是看書或別人的理解,要不然拿出來討論你也得不到什麼收穫

回到問題,為什麼不用python教學資料結構與演算法?
因為這兩者牽涉到的東西是怎麼使用資料的本體
也就是記憶體內的數值
恰好python不是一個讓你直接碰觸記憶體內的資料的語言
這邊有個很好的問題,你知道什麼是call by value, call by address, call by reference嗎?
然後你就會發現完全支援這三者的語言基本上就是C/C++,所以上課當然是要用全面支援的語言阿

: 我唯一只知道打競賽都會用C++
: 如果用javascript打程式競賽會很奇怪嗎?

又是一個問題,javascrpit是什麼?
當你在一直挑語言的時候,你真的知道你在挑什麼嗎?
直接回答你的問題就是,程式競賽執行正確只是基本,拚的是效能與空間的利用
所以在你心目中最有效能以及最好使用空間的語言是javascript嗎?
還是你的目標只是正確的執行而已呢?

: 用C++寫網頁會有問題嗎?
: 我看UVA CPE APCS大多都是用C++
: (我學測上來的沒學過程式,和那些APCS上大學的馬上就有程度上的差距QQ)

既然你開頭都表明自己是初學者了,你應該先搞懂你問題中的每一個詞
C++是什麼?網頁又是什麼?答案是C++不是讓你來寫網頁的
你現在這階段只是要你搞懂基礎中的基礎,所以你只要能用程式來達到目的就好
你提到的程式競賽只是考驗參加者將程式語言當作工具使用的熟練度而已
有的人很有天分,有的人沒有天分,但最大的重點還是你是否願意學習
更何況具備這能力充其量只是個programmer而已,進入職場要得是R&D

: 看了很多工作用不到C 但又一直聽到這是基礎
: 比較常聽到的系統廠會用C,或是寫作業系統(?)
: 一次問了這麼多,因為真的完全不了解XD
: 目前跟著學校進度只有學過C++ 覺得很痛苦
: (但又不能跟人說:我只會寫C++
: 之前有人這樣問,得到的答案都是:你要確定你真的會誒?)
: --

身為一個學店CS學士畢業,寫程式七年的過來人
我大學用過C/C++、C#、JAVA、javascript、html、php、mysql...各式各樣的東西
但出社會先靠的是資料結構跟計算機概論跟一點點作業系統的知識起步
第一份工作用C#寫windows上的有UI的程式
第二份工作用C寫BIOS,但基本上只是看BIOS,寫根本輪不到你
第三份工作用python寫資料分析,用python寫後端,用C寫嵌入式裝置,用vuejs寫前端
第四份工作用C++寫SDK,這時候才真正開始接觸到C/C++的根本,才知道自己的粗淺

這麼多年的經驗用過幾種不同的語言,做各種不同的事情
經歷了這些我認為各樣語言我只懂得只有一點點,但這一點點就足夠我做出成品出來
不過完全稱不上真的會一門語言,學得越多不懂的就越多
以一個學生來說,程式語言是其次的,重要的是:
計算機組織與結構、作業系統、資料結構、演算法、離散數學、線性代數

語言不重要,講的就是當你懂得越多,就會知道各種不同實作的方法
語言的重要,在你需要深入的開發會直接的體現出來

最簡單的例子就是你學一個學期就可以說自己會C,但你寫得出一個作業系統嗎?
也就是別人回答你的,你確定你真的會一門語言了嗎?
有做功課很好,不過目標是寫好程式的話,你需要先了解各個名詞

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.128.240.146 (臺灣)
PTT 網址

ko27tye05/30 14:18不要再call by address了 c++只有call by value和call

ko27tye05/30 14:18by reference

Dracarys05/30 14:27C/C++

royyy05/30 15:47C++支援call by reference, 但原本的call by address 還是

royyy05/30 15:47有啊

holebro05/30 16:02c就是call by value jserv在教都沒在聽

感謝各位先進提點,不過這邊也是個很好的例子,我在程式語言的基礎上出現了理解錯誤 但如果使用時並沒有用到那一部分,也就不影響實作的狀況 只是在這種情況下,並不能說我真的選擇了這門語言,只是這門語言剛好能讓我達到目的而已

※ 編輯: albert8304 (220.128.240.146 臺灣), 05/30/2022 17:00:49

royyy05/30 21:25C要用call by address 解釋才能理解傳址的抽象觀念,你跟

royyy05/30 21:25初學者說其實address 也是傳值就是在搞人家

aidansky098905/30 22:07轉職語言是重點沒錯,每種語言都有適合做的事

在轉職上,通常會限定語言都是為了符合團隊,不過廣泛地來看,假設以後端來看 JAVA、C#、PYTHON、乃至於GO都有很多職缺,所以進特定公司的特定部門,語言是 重點。但如果只是進特定職缺類別,語言的重要度就下降不少了

ifor05/30 22:32好心人把重點寫出來了,推!

kkttyy05/30 22:35推好心人

ttss409205/31 08:15笑死,能達到目的...所以語言還是一樣不是問題啊

入門到專精,路途非常的遙遠,選擇特定的語言就是要達到後面卓越的效果,或是特定的成果 我想表達的就是,選擇語言不重要是要看命題的

hegemon05/31 08:31如果單純只是想要把東西做出來交差,語言不是問題. 但是

hegemon05/31 08:31如果考慮可維護性,日後人才尋找,生態系,及資源利用效

hegemon05/31 08:31率的話,語言就是問題

很多的時候是古早開發的歷史共業,前人就這樣搞了,也只能找這方面的人來續命了 要成為一個專案開創的主導者,需要不少的資歷,甚至是一些機運,對一般人來說不容易遇到阿

ttss409205/31 08:39認同 hegemon,重點還能選擇技術的知識

testPtt05/31 09:41我一開始學覺得那些call by xxx有點天馬行空

testPtt05/31 09:43後來想想所有的目的都是要get value只是要求的來源不同

testPtt05/31 09:48學程式只要懂碰到什麼指令符號做相對應的動作不用想太多

※ 編輯: albert8304 (220.128.240.146 臺灣), 05/31/2022 10:10:16 ※ 編輯: albert8304 (220.128.240.146 臺灣), 05/31/2022 10:11:04

hegemon05/31 10:15看很多小朋友新創整天說語言不重要,隨著創始成員個人喜

hegemon05/31 10:15好來選擇語言,結果之後要補人找不到人,團隊變大以後發

hegemon05/31 10:15現需要結構化,需求變多發現生態系不完整,用戶變多發現

hegemon05/31 10:15資源效率不彰就覺得好笑

ttss409205/31 10:20其實沒什麼,活下去以及變大才是最重要的,有錢找高手處

ttss409205/31 10:20理就好

hegemon05/31 10:32很多人都這樣想,結果後來發現沒有資源去處理,不處理又

hegemon05/31 10:32阻礙公司發展,超慘

hegemon05/31 10:32第一天就做正確的決定比後來找高手省太多了

keyofdejavu05/31 11:34但一開始就這樣搞可能直接就倒了

hegemon05/31 12:10如果一開始就走正確的道路會倒的話,這種團隊還不快逃?

hegemon05/31 12:10都是藉口而已

ttss409205/31 12:41商業規商業,技術歸技術,懂就懂

hegemon05/31 12:42打工仔跟老闆的角度對語言的看法不一樣,解開自己的職責

hegemon05/31 12:42跟格局眼光在哪裡

hegemon05/31 12:46就看自己的職責跟眼界格局到哪裡

我只看過不願意付錢讓員工合法使用工具的公司,沒有看過員工自己選擇便宜的工具的狀況 選擇有好用的IDE開發的語言應該是大多數員工的想法吧?但這些語言要使用IDE就要付費, 所以是打工仔自顧自的選用,還是受限於大老闆的格局眼光呢? 直接把員工當成只會躲在舒適圈的開發者,不太好吧?

※ 編輯: albert8304 (220.128.240.146 臺灣), 05/31/2022 17:25:35

hegemon05/31 18:44你可以因為現實做打工仔的事,但是不能整天抱著打工仔的

hegemon05/31 18:44思維,要不然哪天決策權落到你手上時,還是用打工仔的思

hegemon05/31 18:44維做事,對整個團隊都不好

hegemon05/31 18:46整天不看需求就整天出來說語言不重要的,就是抱著打工仔

hegemon05/31 18:46思維做事

hegemon05/31 18:48當然老闆跟公司說用啥就用啥,但是你自己要去研究有沒有

hegemon05/31 18:48更好的選擇,隨時保持懷疑與探索的心

MonyemLi06/01 07:35現實來說,我會很多語言,不是自願的,是公司環境迫使

MonyemLi06/01 07:35我要會

ttss409206/01 08:47大海與浴缸的故事

Wishmaster06/08 11:26事情有時候要先推動才有後續,如果計畫有強者可以

Wishmaster06/08 11:27縝密規劃當然最好,問題是通常沒有那個強者...

Wishmaster06/08 11:27所以只好先求有,先求進度;後續再來改善....

sop31706/10 15:09推推 畫重點