精華區beta C_Chat 關於我們 聯絡資訊
※ 引述《praiseZun (praiseZun)》之銘言: : 但至少像這位出來演講的作為CS背景他講的內容就有幾點覺得異樣 : : 推 Bencrie: C sharp 有這麼不堪嗎 XD 09/13 17:57 : 推 WiLLSTW: C接硬體 c++接opengl跟directx 對於主機開發其實蠻重要 09/13 17:58 : → haoboo: 是很重要阿,但那跟會unity的應該是兩個team才對... 09/13 17:59 : → haoboo: 不是去嫌人家只會用unity不會寫C/C++ 09/13 17:59 : 推 art1: 認為 c/c++ 這麼重要,怎麼不去叫 unity 支援這兩種語言 09/13 18:00 其他的不說,我實在是不懂「只會用Unity 不會用C/C++」這問題為什麼可以成立 Unity 這引擎用的程式語言是 C#,這語言的整個形式都跟 C++ 長得很像。 先不說軟體開發者根本不該有程式語言障礙, 一個熟悉使用C#的人,去改用C++怎麼會有適應問題? -- 「上野的街道,就由我們Colors守護!」 @tochiro0830 https://i.imgur.com/tORmryZ.jpg -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 71.198.27.180 (美國) ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1599996030.A.CFD.html
diabolica: 摸透C#卻 09/13 19:22
ohha0221: 事實上就是有差啊 不然寫C++的人就很會寫C? 09/13 19:24
我不是說沒差,而是說你本來會寫C#的人改用C++不應該有適應問題
BSpowerx: 這個問題就像會開自排車卻不會開手排車 09/13 19:25
BSpowerx: 語言其實都大同小異,要轉換並不會花太多時間 09/13 19:26
dreamnook: 有差 但是不至於到完全不會寫啦 09/13 19:27
pikachu2421: C#比起C++比較像Java 一般不會用到指標 09/13 19:29
ohha0221: 需要適應就不適合拿來當吃飯工具 會寫出暗藏bug作品卻 09/13 19:31
peterturtle: 其實要說沒問題也不完全是,C#使用者責任與權利都比C 09/13 19:31
peterturtle: ++少很多,風騷的程式碼寫多了就會感受到兩者的差異 09/13 19:31
Nravir: 差不多阿也可用Java,程式不同要習慣而已最重要的是邏輯 09/13 19:31
toulio81: 以從C++轉C#的過來者來說,C#轉C++還是需要適應不少的,C 09/13 19:31
toulio81: ++在使用上麻煩多了 09/13 19:31
Nravir: Godot還用GD呢,但其實看得懂比較重要 09/13 19:32
toulio81: 不過上手速度應該也不會到很久吧 09/13 19:32
ohha0221: 不自知 效率差太多了 09/13 19:32
有bug是你演算法出問題,不是程式語言造成的。
durimoo: 企業主討厭軟體方抽成嗎? 09/13 19:33
Nravir: 發行商、平台抽最多= = 09/13 19:33
pikachu2421: Unity不是用抽成的 只是依收入分階段收費而已 09/13 19:35
haoboo: 看得懂跟能夠當成吃飯工具中間還是有差 09/13 19:36
haoboo: 而且也有很多工程師是離開IDE就不行了 09/13 19:36
IDE 只是幫助你做某些事情,你也不會因為沒有IDE就看不懂程式碼。 然後IDE在這兩個語言上也不是個議題,因為這兩個語言太夯了
pikachu2421: 用到Unity Pro的話 不管你收入多少付的錢都一樣 09/13 19:36
Lhmstu: 對一個開發團隊來說,轉換語言是需要制定規則的尤其是c/ 09/13 19:37
Lhmstu: c++這種底層語言不只變數名稱,像是記憶體使用與釋放、命 09/13 19:37
Lhmstu: 明空間放置問題、物件結構規劃等等,主要問題會是看公司 09/13 19:37
Lhmstu: 上層願不願意承受轉換期間的效率成本問題。 09/13 19:37
是啊,不給緩衝時間去轉換的話,「只會用Unity 不會用C/C++」這問題也不成立
peterturtle: 兩種C語言最容易遇到的差別就是GC,C#基本上new物件 09/13 19:38
peterturtle: 都不用過腦的,一旦寫出互相背書的物件導致GC出包真 09/13 19:38
peterturtle: 的很難抓,因為跟C++比起來工程師平時沒處理GC的習慣 09/13 19:38
kira925: 反過來的話轉的過去 C#過去大概會炸成灰 09/13 19:39
Lhmstu: 認真說,C#轉C/C++比反過來難蠻多的... 09/13 19:41
kira925: C/C++要求的自律性高太多了 09/13 19:42
haoboo: 老古董嘛,什麼都要自己來 09/13 19:43
pikachu2421: 寫習慣C#和Python後就不太想碰C++了XD 09/13 19:49
C++就比較古老啊。這就好像你C++有 new 可以用你就不會愛用 malloc 一樣
asd823: 效能是達硬體極限後才要考慮的,寫2D遊戲考慮屁效能 09/13 19:51
OochunoO: 因為從C#入門的人沒有指標的概念... 09/13 19:53
不至於沒有啦 C#除了 primitive data types之外你開的變數都是指標
kira925: 要我說的話 問題是記憶體控管 09/13 19:55
asd823: C#是可以寫指標的...但大型專案太糾結系統架構不是好事情 09/13 19:55
CorkiN: 美國阿爸人寫C/C++的人多嗎? 09/13 19:56
很多啊 也不是什麼真的很難的東西。但寫起來很煩是真的
OochunoO: 可以寫可是不用寫 事情都丟給gc做的人不要說叫他管好記 09/13 19:57
OochunoO: 憶體釋放了, 應該連理解指標幹嘛用都需要時間吧 09/13 19:57
OochunoO: 不過我同意大型專案太糾結系統架構不是好事 09/13 19:58
allen20937: C++轉C#很輕鬆,可是C#轉C++需要點時間適應,原因就是 09/13 19:58
allen20937: 在指標跟記憶體的存取,這些在C#裡面都隨便new物件就 09/13 19:58
allen20937: 好,反正不要了GC會幫你處理掉,可是C++就不可能這樣 09/13 19:59
C++11 以後有smart pointer,我覺得這問題現在算是好處理了
xxxxae86: 人家可能C++出生的所以鄙視JAVA跟C# 09/13 19:59
allen20937: smart pointer真的讚,不過沒寫過C++的人大概就不知道 09/13 20:02
WiLLSTW: 很多日本人unity只會用編輯器拉啊(?? 09/13 20:02
pikachu2421: C#用unsafe可以寫指標啦 只是平常沒特殊需求不會去用 09/13 20:02
allen20937: 有很多種pointer可以用,所以看文件很重要 09/13 20:02
年紀不要太大的人,有學過C++的應該都會知道吧? 這算是C++11 一個滿大的變革
praiseZun: 可能我那篇沒講清楚我感受到的異樣處 09/13 20:09
praiseZun: 我是覺得演講的那個根本對程式沒概念,他不知道寫程式 09/13 20:11
praiseZun: 的人和設計模組的會是兩個專業 09/13 20:11
praiseZun: 才會一個プログラマー東指西指,大家都不知道他在講什 09/13 20:15
praiseZun: 麼 09/13 20:15
xxxxae86: 日本人把這兩個東西綁一起,不會像台灣一樣PG跟SA分的很 09/13 20:16
xxxxae86: 清楚 09/13 20:16
Golu: 我覺得他講那段"只會Unity"應該只是他自己拿來對比時是侷限 09/13 20:27
praiseZun: 就是他們高層的無知啊,只是現在IT龍頭們終於要醒了啦 09/13 20:27
Golu: 在偏向企劃面或者是多半使用專案中現成工具製作關卡或機制 09/13 20:27
amsmsk: 我個人認為c#轉c/c++沒這麼容易啦 09/13 20:28
praiseZun: 結果一個查了是個nobody的喊日本產業問題,還真諷刺w 09/13 20:28
Golu: 所以那一段話說時在是有點張飛打岳飛 09/13 20:28
praiseZun: *回應x大講的東西 09/13 20:28
Golu: 如果要轉成有意義的話,那應該是指當開發者做遊戲時只是學著 09/13 20:29
Golu: 遊戲引擎提供的東西,而沒有從更基本功下手的話,那價值有限 09/13 20:30
Golu: 他的話要講的有意義應該是"只顧著學Unity,而忽視了學習C#" 09/13 20:31
Golu: 不過我覺的另一個可能是前一篇文章中推文描述的狀況wwwww 09/13 20:33
這個是公司要制度化地去推動的,以這個案例來說, 通常是一個星期要固定有個時間是挑某個相對沒那麼基本的C++或C#機能來講, 然後鼓勵相關的開發者都來聽。
praiseZun: G大講的沒CS背景的新人應該會不懂,這就需要業界前輩 09/13 20:34
praiseZun: 帶 09/13 20:34
praiseZun: 但就算他是這意思他在那亂講也試看出高層認知有問題啊 09/13 20:35
praiseZun: 不管哪種都有問題,這就和不會寫程式的PM很大機率是笑 09/13 20:35
praiseZun: 話一樣 09/13 20:35
Golu: 這個就會扯到日本企業對於CS的另一個風氣(?)了 09/13 20:35
praiseZun: 嗯對但我覺得大家常會忽略日本勞動力短缺很重,中下流 09/13 20:37
praiseZun: 得不到那麼多CS的人 09/13 20:37
※ 編輯: arrenwu (71.198.27.180 美國), 09/13/2020 20:39:32
praiseZun: 結果就腦袋不清楚的高層公司就惡性循環,拿到不好用的 09/13 20:38
praiseZun: 人也不知道要怎麼用 09/13 20:38
Golu: 這就是整個勞動社會的惡性循環啊,所以我認識的有些CS概念一 09/13 20:39
Golu: 般的台灣人在日本也有不差(?)的表現,同事甚至很多大陸人 09/13 20:39
praiseZun: 然後也是因為這樣台灣才會以為日本IT真的很弱,因為去 09/13 20:47
praiseZun: 的人都是進將被淘汰的公司群,日本上游的反而沒那需求 09/13 20:47
praiseZun: 招外國人(至少幾年前啦) 09/13 20:47
praiseZun: *即將 09/13 20:47
Bencrie: C++ 哪裡古老了 C++98 跟現代 C++ 不同語言啦 (x 09/13 21:38
eqid: 主要是追求一次 09/13 22:00
eqid: 光指標的問題就打死一票的人了 寫不好,系統出問題又難追 09/13 22:03
shampoopoo: 日本應該是因為傳統ㄅ 09/13 22:32
wei115: 寫有GC的語言也要懂GC機制啦.....,寫出來的扣也要是容易 09/14 00:08
wei115: 被GC處理的扣,GC只是讓你方便寫,不是無腦寫 09/14 00:08
dave123: 指標跟記憶體控管差很多。c++更能有效控管資源,相對應 09/14 00:18
dave123: 的要非常優秀有經驗的工程師... 09/14 00:18
s891234: smart pointer沒有很多吧,我記得不是三四種而已嗎?un 09/14 01:03
s891234: ique什麼的 09/14 01:03
jcaosola: 日本玩程式競賽的人這麼多 懂C++的哪會少 09/14 01:11
jcaosola: 只是這些人不會想去遊戲業而已 09/14 01:11
labbat: 懂得是C++03一狗票連threading概念都沒有 更何況C++98 09/14 01:14
labbat: 懂得是C++11沒用到threading也好不到哪去 09/14 01:15
reinhert: C++重點就是能對底層作特化,而且連記憶體配置方式也能 09/14 01:38
reinhert: 不用預設的new而是自己特化一個記憶體配制器,一般狀況 09/14 01:41
reinhert: 下可能沒差,但在對效能錙銖必較時就差很多了 09/14 01:42
Bencrie: 比如說 posix_memalign ? 09/14 02:01
siyaoran: debug就有差啊 09/14 11:25
siyaoran: 尤其c++使用習慣差的超難debug 難維護很多 09/14 11:26
siyaoran: 簡單的說會寫是會寫 但不到精通 09/14 11:27
askaleroux: 會寫的甚至寫的很威猛的 不去其他地方去遊戲業低薪ㄇ 09/14 13:38