※ 本文轉寄自 ptt.cc 更新時間: 2024-10-27 16:51:02
看板 Tech_Job
作者 標題 [討論] 有沒有讀工程的覺得學python很難/煩的呢
時間 Sat Oct 26 00:30:14 2024
如題
小弟唸工程的,之前學C++拿來處理實驗數據、玩arduino或用matlab都覺得還不錯用,因為就那幾個指令,只要靠邏輯就可以慢慢土法煉鋼拼湊出來要的東西。
但最近碰到大家說很好學的python,卻覺得它東西都過度包裝所以不好用,正因為都是人「定義」包裝好的東西,一定要照著他的方法寫,反而用起來覺得煩。如果遇到bug因為都是包裝好的指令所以無法用直觀的邏輯去debug或推論,還要上網查一堆資料,還不一定有解。而且這樣就會變成case by case,在不同的應用就要學一系列不同的函式定義,情境稍有不同可能就無法套用,沒辦法用最基礎的一套解決。
為什麼大家都說c++比較難python簡單,而我的感覺卻相反呢?是我之前都用得太淺了嗎?
--------------------------------
再更:感謝各位大神的回覆,看來應該不是語言種類的關係,而是之前的應用太基礎、
還沒遇到類似問題的關係才會產生這樣的錯覺。要來努力學習了~
--------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 174.95.155.204
※ 作者: champdessert 2024-10-26 00:30:14
※ 文章代碼(AID): #1d6yUOqd (Tech_Job)
※ 文章網址: https://www.ptt.cc/bbs/Tech_Job/M.1729873816.A.D27.html
推 : C++ 你去看他泛型跟繼承怎麼寫你就知道 python 簡單1F 10/26 00:53
推 : 說C++簡單想必是神人,受我一拜2F 10/26 00:54
→ : 覺得py比較難+1,3F 10/26 00:54
→ : 但現在上gpt下咒語其實快很多哈,
→ : 用py弄一些tool確實輕量蠻多的
→ : 但現在上gpt下咒語其實快很多哈,
→ : 用py弄一些tool確實輕量蠻多的
→ : 我在某大廠寫了一兩年C++就受不了了..6F 10/26 00:55
推 : 你是把cpp當c在寫吧,不然就是大神了7F 10/26 00:58
→ : modern c++根本不是給普通人學的東西
→ : modern c++根本不是給普通人學的東西
推 : 原語言就可以解決你現有的問題 其實就不用學新的.9F 10/26 00:59
推 : 寫cpp不用查的我真的直接下跪10F 10/26 01:02
推 : 對新手而言 py友善很多11F 10/26 01:09
推 : 因為你寫的都是玩具等級吧...py不好用就自己用C寫啊12F 10/26 01:19
→ : 大神不都這樣,嫌棄完就自己搞一套
→ : 大神不都這樣,嫌棄完就自己搞一套
推 : python prototype快很多吧,除非你要效能才寫c++14F 10/26 01:22
推 : 語言戰起來15F 10/26 01:22
推 : 對初學者來說python應該是比c++友善16F 10/26 01:28
推 : 不要那麼modern就 C++其實就還好17F 10/26 01:34
→ : python有時卡東卡西也很麻煩
→ : python有時卡東卡西也很麻煩
→ : 呃,你只是要一個能動的東西,哪個語言都差不多19F 10/26 01:36
→ : 一些math lib其實也沒有到很複雜20F 10/26 01:36
→ : 那種一來就要求modern C++ 下去的專案才是最可怕的
→ : 那種一來就要求modern C++ 下去的專案才是最可怕的
→ : 但你要寫到業界標準好用高效易維護,C++很不容易22F 10/26 01:37
→ : 通常都會先有個樣子模式 再回去改 再改成modern啊23F 10/26 01:37
推 : 會有這種想要土法煉鋼的想法,不是已經參透萬code的24F 10/26 01:38
→ : 大神就是接觸不深的新人。而且你說的case by case在
→ : C++也是一樣啊,環境不同適用的實作也會不同
→ : 大神就是接觸不深的新人。而且你說的case by case在
→ : C++也是一樣啊,環境不同適用的實作也會不同
推 : 不過土法鍊鋼真的不要@_@~ 你一開始試還可以27F 10/26 01:40
→ : 當不一定有解時就要去看code註釋@_@~
→ : 當不一定有解時就要去看code註釋@_@~
噓 : 你10000%絕對學得太淺。cpp超難,光template報錯要29F 10/26 01:55
→ : 能三秒看懂就要長時間的經驗累積,更不用說segfaul
→ : t、dtor忘了下virtual、perfect forwarding+rule o
→ : f five的巧妙及繁冗、如std::map不可用std::upper_
→ : bound的各種stdlib的糞坑。我猜你根本不是寫cpp,
→ : 而是用gcc編放個include iostream在第一行的c99吧
噓 : cpp絕對是程式語言的標竿,沒有之一。未來也一直都
→ : 會是,而原因很簡單:cpp效能掛帥,從不出賣效能。
→ : cpp14之後把effort盡可能倒給編譯期,並胸懷大度的
→ : 一直把boost納入懷中,不但穩固了霸主地位,還形塑
→ : 了cpp未來50年政治正確的道路
噓 : 此外用py根本無法正確學習OOP,如多型的基礎觀念根
→ : 本無法掌握、design pattern 很多都殘廢了,如visi
→ : tor pattern的accept直接消失,初學者還會以為是雞
→ : 肋怎麼提出這個模式的人這麼笨
→ : 能三秒看懂就要長時間的經驗累積,更不用說segfaul
→ : t、dtor忘了下virtual、perfect forwarding+rule o
→ : f five的巧妙及繁冗、如std::map不可用std::upper_
→ : bound的各種stdlib的糞坑。我猜你根本不是寫cpp,
→ : 而是用gcc編放個include iostream在第一行的c99吧
噓 : cpp絕對是程式語言的標竿,沒有之一。未來也一直都
→ : 會是,而原因很簡單:cpp效能掛帥,從不出賣效能。
→ : cpp14之後把effort盡可能倒給編譯期,並胸懷大度的
→ : 一直把boost納入懷中,不但穩固了霸主地位,還形塑
→ : 了cpp未來50年政治正確的道路
噓 : 此外用py根本無法正確學習OOP,如多型的基礎觀念根
→ : 本無法掌握、design pattern 很多都殘廢了,如visi
→ : tor pattern的accept直接消失,初學者還會以為是雞
→ : 肋怎麼提出這個模式的人這麼笨
推 : 樓上是也不用這麼氣啦 XDD44F 10/26 02:11
→ : 你就是不喜歡 Python 而已,小事啦!45F 10/26 02:11
推 : 如果是寫c覺得python我可以理解,但c++應該難很多46F 10/26 02:14
→ : 那只是你之前c都在寫玩具,你不如把現在用py寫的改47F 10/26 02:25
→ : 成用c寫看看
→ : 成用c寫看看
→ : c++ 看哪版吧一堆新的舊的東西還有歷史問題只用c的49F 10/26 02:34
→ : 部分當然單純簡單
→ : 這樣哪天一不小心變套件工程師不就完蛋 都要照別人
→ : 定的東西搞
→ : 部分當然單純簡單
→ : 這樣哪天一不小心變套件工程師不就完蛋 都要照別人
→ : 定的東西搞
推 : 那rust呢 能幹掉c++嗎53F 10/26 02:52
→ : 難得有古典戰文XD 好久沒看到人家戰語言了XD54F 10/26 02:55
→ : C++簡單??? 你是把C++當成C在寫嗎?55F 10/26 03:18
→ : 同意 pig2014,不過我學生時期也有這種迷思,先不56F 10/26 03:22
→ : 噓給箭頭,多寫多看吧。
→ : 噓給箭頭,多寫多看吧。
推 : 學C++不如學domain特定的語言,寫C++說Python雜大概58F 10/26 03:34
→ : 是沒在跟最新標準的
→ : 什麼語言特性紅起來C++就要copycat一份進去疊床架屋
→ : ,現在連Rust的borrow checker都要抄,一樣的功能C+
→ : +有幾千上百種寫法
→ : Python的核心哲學是一件事最好只有一種方法,真的沒
→ : 辦法也是越少越好
→ : 從這個角度來看誰雜誰亂?
→ : 用package這種事,Python至少有標準化的import模型
→ : ,C++引用別人的package有幾千上百種方法,再搭配遇
→ : 到 compile error或runtime error也有幾千上百種出
→ : 錯的方法,你要去學他用的pattern、design style然
→ : 後自己改他的code去發PR給upstream解決,還是開issu
→ : e坐等?Python 的大套件最常出的問題就只有版本不匹
→ : 配而已,內建的虛擬環境系統和dependency基本上都足
→ : 夠解決很多事情,但個人還是喜歡rust的cargo
→ : C++是真的早該被時代淘汰而不是一直出新標準然後 re
→ : tro fit 奇怪的功能進去
→ : 覺得C++不夠難不夠煩的都去寫個C++26 draft 版的LLV
→ : M 前端試試
→ : 是沒在跟最新標準的
→ : 什麼語言特性紅起來C++就要copycat一份進去疊床架屋
→ : ,現在連Rust的borrow checker都要抄,一樣的功能C+
→ : +有幾千上百種寫法
→ : Python的核心哲學是一件事最好只有一種方法,真的沒
→ : 辦法也是越少越好
→ : 從這個角度來看誰雜誰亂?
→ : 用package這種事,Python至少有標準化的import模型
→ : ,C++引用別人的package有幾千上百種方法,再搭配遇
→ : 到 compile error或runtime error也有幾千上百種出
→ : 錯的方法,你要去學他用的pattern、design style然
→ : 後自己改他的code去發PR給upstream解決,還是開issu
→ : e坐等?Python 的大套件最常出的問題就只有版本不匹
→ : 配而已,內建的虛擬環境系統和dependency基本上都足
→ : 夠解決很多事情,但個人還是喜歡rust的cargo
→ : C++是真的早該被時代淘汰而不是一直出新標準然後 re
→ : tro fit 奇怪的功能進去
→ : 覺得C++不夠難不夠煩的都去寫個C++26 draft 版的LLV
→ : M 前端試試
→ : 不知道Open A I有沒有辦法完成你們的願望78F 10/26 04:39
噓 : 大概連smart point是什麼都不知道79F 10/26 04:56
推 : C++26....這東西也太先進了吧 真有人用下去了??80F 10/26 05:20
推 : Python 很簡單了==81F 10/26 06:15
推 : c++ 城步堂.gif 在笑你XD82F 10/26 06:42
→ chargee …
推 : 不說我還以為你的工程是超認真少年那種工程84F 10/26 07:20
推 : 我跟你相反,覺得py比較簡單跟直觀85F 10/26 07:35
噓 : 放下。86F 10/26 07:51
推 : 你應該是用c++ 在寫c87F 10/26 07:56
→ : 不能這樣比,Python 接近第四代語言,出發點就不同88F 10/26 08:27
推 : 說C++比python簡單,肯定是等級已經高到我理解不了89F 10/26 08:48
→ : 的真神人
→ : 的真神人
推 : 我都用python做資料處理和演算法模擬欸91F 10/26 08:51
→ : Python是最簡單的 C++難很多92F 10/26 08:54
噓 : 突然發現好像是洗文仔?93F 10/26 08:54
→ : 看起來你的用途大概只是很簡單的資料處理,別想太94F 10/26 09:19
→ : 多,就是python 最快
→ : 然後很大可能性你說的C++是C style
→ : 多,就是python 最快
→ : 然後很大可能性你說的C++是C style
噓 : 登入次數202,來洗文的97F 10/26 09:31
→ : 可以試試 Assembly98F 10/26 09:54
→ : Python語法簡潔, package多,又很適合AI model pr99F 10/26 10:04
→ : ototyping啊,但是我看你的應用可能比較適合C++
→ : ototyping啊,但是我看你的應用可能比較適合C++
推 : 我都用ASM語言寫101F 10/26 10:13
→ : 看來真的是因為我之前的應用太淺才會這麼覺得102F 10/26 10:24
→ : 以前自己看java的書學java,看不是很懂103F 10/26 10:28
→ : 版上好多大神(緊張,感謝大家的解答,看來我要學得104F 10/26 10:31
→ : 還很多
→ : 不好意思很少用PTT,對相關操作還不是很熟悉,但沒
→ : 沒要洗文的意思啦XD
→ : 還很多
→ : 不好意思很少用PTT,對相關操作還不是很熟悉,但沒
→ : 沒要洗文的意思啦XD
→ : 不用重新發明輪胎 vs 為什麼一定要用他的輪胎108F 10/26 10:44
噓 : 原來C++是"就那幾個指令"的語言啊 原po真神人也109F 10/26 10:46
→ : Python的社群生態系支持省去自造輪子的功夫 程式碼
→ : 可以寫得很易懂乾淨 看來是我太菜了
→ : Python的社群生態系支持省去自造輪子的功夫 程式碼
→ : 可以寫得很易懂乾淨 看來是我太菜了
→ : c++ 的 runtime segmentation fault很好debug嗎? p112F 10/26 10:51
→ : ython從來不會遇到那麼難的問題,也不需要管理記憶
→ : 體,python一直Trace錯誤的行就好。
→ : ython從來不會遇到那麼難的問題,也不需要管理記憶
→ : 體,python一直Trace錯誤的行就好。
推 : 我從組語切C時,也是這樣想115F 10/26 11:02
推 : 其實我理解你說的很難,python使用上的方便反而讓116F 10/26 11:08
→ : cpp用戶很困擾吧,不過當你兩種都會後,應該會在不
→ : 同的開發目的的情況下分別選擇其中一種
→ : cpp用戶很困擾吧,不過當你兩種都會後,應該會在不
→ : 同的開發目的的情況下分別選擇其中一種
推 : 隔壁C語言版已經進化到我連貼文都看不懂了119F 10/26 11:12
※ 編輯: champdessert (174.95.155.204 加拿大), 10/26/2024 11:25:47推 : python主要是資料沒有型態一開始很困惑吧!習慣比較120F 10/26 11:35
→ : 嚴謹的程式語言轉過去的確會有不適應期。
→ : 嚴謹的程式語言轉過去的確會有不適應期。
→ : 一個造輪 一個用車 你連用車都覺得難何況122F 10/26 11:42
→ : 我這輩子第一次聽到有人說c++簡單 肯定是天才吧123F 10/26 12:10
→ : python不是沒有資料型態,python 一樣有string,int124F 10/26 12:26
→ : ,float…只是 python簡化到你沒宣告就自己轉。你也
→ : 可以很嚴謹的,寫python時,一開始就明確指定資料的
→ : 型態。
→ : ,float…只是 python簡化到你沒宣告就自己轉。你也
→ : 可以很嚴謹的,寫python時,一開始就明確指定資料的
→ : 型態。
噓 : 蛤128F 10/26 12:27
推 : python3.6以後,是可以宣告變數只能是某種固定資料129F 10/26 12:30
→ : 型態的。
→ : 型態的。
推 : 就想 大家都用 yum 或 apt 安裝軟體。 一但來源端不131F 10/26 12:31
→ : 維護 或失去網路 完全不懂怎麼安裝軟體
→ : 我喜歡一層層 依具相依性來 自行編譯安裝
→ : 維護 或失去網路 完全不懂怎麼安裝軟體
→ : 我喜歡一層層 依具相依性來 自行編譯安裝
推 : 我覺得c++跟py都很爛 但c++的爛我還能理解 是為了向134F 10/26 12:44
→ : 後兼容或是極致效能 py的爛我總覺得是語言開發者能
→ : 力不足==
→ : 後兼容或是極致效能 py的爛我總覺得是語言開發者能
→ : 力不足==
推 : 丟給gpt 過一陣子你就學會了137F 10/26 12:50
推 : 沒啥麼難的,python我用到已經買超過四間房了138F 10/26 13:03
→ : 覺得rust也是玄學…139F 10/26 13:54
推 : 你會覺得C++比 Python 簡單只是因為把C++當C在用沒140F 10/26 14:12
→ : 有用到 modern c++特性,只有處理很基本的演算法邏
→ : 輯,跟我之前一樣XD
→ : 有用到 modern c++特性,只有處理很基本的演算法邏
→ : 輯,跟我之前一樣XD
推 : c++的template metaprogramming真的難懂,但是我也143F 10/26 14:22
→ : 找不到什麼好的替代品
→ : 找不到什麼好的替代品
推 : 反串文大家還這麼認真回145F 10/26 14:45
噓 : 喔146F 10/26 14:46
推 : 我從C切到Python也有這種感覺 就一瞬間從很有邏輯》147F 10/26 15:23
→ : 沒什麼邏輯的感覺 習慣就好
→ : 沒什麼邏輯的感覺 習慣就好
推 : 個人覺得Python最無腦的地方其實是編譯 超懶人XD149F 10/26 15:24
→ : C++寫是沒有很難 但編譯很難搞 尤其專案複雜後更難
→ : C++寫是沒有很難 但編譯很難搞 尤其專案複雜後更難
→ : 這已經夠簡單了)………………151F 10/26 15:27
→ : 相依性衝突 未定義符號解到抓狂152F 10/26 15:27
推 : 另外kaltu大講的C++標準不斷塞新東西也是很歡樂...
→ : 每個人最習慣的C++可能都不太一樣 我大概是C++17 XD
→ : C++20 23一堆奇奇怪怪的新功能還沒時間好好學一遍
推 : 另外kaltu大講的C++標準不斷塞新東西也是很歡樂...
→ : 每個人最習慣的C++可能都不太一樣 我大概是C++17 XD
→ : C++20 23一堆奇奇怪怪的新功能還沒時間好好學一遍
推 : python難?不是都用chatgpt詠唱了嗎XD156F 10/26 15:38
推 : C++也可以用chatgpt詠唱啊157F 10/26 15:44
推 : Matlib 也是script 只是他專門數值分析,當然你用在158F 10/26 15:51
→ : 數值分析好用
→ : Py 你可以自己手刻或是用c++寫函數啊
→ : Py 你可以自己手刻或是用c++寫函數
→ : 數值分析好用
→ : Py 你可以自己手刻或是用c++寫函數啊
→ : Py 你可以自己手刻或是用c++寫函數
推 : 我摸過用過至少5種語言,戰語言真的沒意義。任務需162F 10/26 16:14
→ : 要你就要會,我最常用的就是用py測算法,用C++實作
→ : 。py快速寫邏輯非常快,不太需要考慮硬體層的邏輯
→ : ,覺得py難是你還沒跳脫既有的語言的思維框架。
→ : 要你就要會,我最常用的就是用py測算法,用C++實作
→ : 。py快速寫邏輯非常快,不太需要考慮硬體層的邏輯
→ : ,覺得py難是你還沒跳脫既有的語言的思維框架。
噓 : 叫ai教你166F 10/26 18:00
推 : py資料處理真的方便快速167F 10/26 18:03
噓 : cpp就王者標竿,我就愛拿cpp戰語言怎168F 10/26 18:59
推 : c難在指標,python只要會用library就好169F 10/26 19:57
→ : 如果用py 可以解決90%的問題, 剩下10% 給大神用cpp170F 10/26 20:13
→ : 解就好
→ : 解就好
推 : python比c簡單多了。應該是還不太習慣python172F 10/26 20:26
推 : 怎麼感覺留言區帶歪了173F 10/26 20:57
→ : 原po遇到的問題根本是因為他用過的庫太少吧
→ : 哪個庫不要求scenario的== 每次都自己造輪子踩坑嗎
→ : 原po遇到的問題根本是因為他用過的庫太少吧
→ : 哪個庫不要求scenario的== 每次都自己造輪子踩坑嗎
→ : 說實話 沒有python和一堆開源庫 開發AI的進展絕對慢176F 10/26 21:44
推 : 既然沒人說用matlab可以考慮玩玩numpy之類的lib177F 10/26 22:00
→ : C++比較簡單,但先進的C++寫法用source insight很178F 10/26 23:17
→ : 難trace
→ : 上面說C難在指標的,暫時沒資格談這個話題
→ : 難trace
→ : 上面說C難在指標的,暫時沒資格談這個話題
推 : 丟給Gemini or ChatGPT 就幫你改好了181F 10/26 23:29
※ 編輯: champdessert (174.95.155.204 加拿大), 10/26/2024 23:56:05→ : Python ,matlab 等應用層的語言都是很直觀的 工具182F 10/27 07:44
→ : 比較簡單的語法就可以執行 c ,c++,or Verilog 都不
→ : 是這麼直觀的語法 需要去多寫一些語法才可以執行….
→ : .覺得你應該是不是很懂Cor C++才會覺得應用層的tool
→ : 不好用….
→ : 樓上的C最難的是指標 應該只是偏見或者大眾思維 人
→ : 云亦云 …指標就是讓你知道如何定義跟找到記憶體的a
→ : ddress 當你在設計OS 的時候可以輕易的呼叫出來或
→ : 者指定出來…..
→ : 比較簡單的語法就可以執行 c ,c++,or Verilog 都不
→ : 是這麼直觀的語法 需要去多寫一些語法才可以執行….
→ : .覺得你應該是不是很懂Cor C++才會覺得應用層的tool
→ : 不好用….
→ : 樓上的C最難的是指標 應該只是偏見或者大眾思維 人
→ : 云亦云 …指標就是讓你知道如何定義跟找到記憶體的a
→ : ddress 當你在設計OS 的時候可以輕易的呼叫出來或
→ : 者指定出來…..
→ : 我推薦你用scratch,這個絕對比python簡單191F 10/27 13:26
→ : 竟然有人說指標難...那你沒學過C阿192F 10/27 14:33
--
※ 看板: Tech_Job 文章推薦值: -1 目前人氣: 0 累積人氣: 873
回列表(←)
分享