看板 Soft_Job 關於我們 聯絡資訊
※ 引述《dnabossking (少狂)》之銘言: : 沒錯,我就是那種在104看到技能需求是某某程式語言, : 學了沒幾天,就想踏進來的人 : 最近才開學C : 就只懂一種語言,而且也沒很精 : 學的第二天可以幫資工系的學生解題目 : 第二個星期吧,開始嘗試ACM的初階的題目(測資能過) : 目前停掉作題目,正在自修資料結構和演算法 : 感覺不這樣做的話,稍微難一點就不行了 : 數學底子勉勉強強, : 學過數值分析 : (實際上是把一堆微分方程和線性代數在電腦上實作的方法, : 但沒有真的寫過程式) : 、計算機概論、離散數學 : 沒有任何程式相關的工作經驗 : 但是有硬體服務的經驗(4~5年) : 三十二歲了,才準備開始學寫程式, 所謂的 C programming 非常非常看重程式經驗. 因為那是一個可以隨地大小便的環境. 所以認真地說, 以你的背景與年紀, 現在開始學 C 不適合. 當然, 不排除還是有手長過膝兩耳垂肩的異人會成為特例. :P : 想要踏進寫程式這行, : 但自己的職場經驗, : 很清楚一般公司不會想要用一個年紀大又沒經驗的人 : 不知道程式設計的工作是不是也一樣 : 應該是不需要鼓勵我什麼的 =.= 想聽實際一點的分析 : 被酸被砲都能坦然接受,只希望能接受多一些訊息 : 如果連踏進職場的門票都很難取得的話,就算了 : 雖然很有興趣,但生活壓力很大, : 沒辨法慢慢找或是勉強接受難以生活的低薪。 : 想聽聽真的在業界工作的網友的意見 我就寫一段小小的程式碼, 來說明為什麼 C coder 需要經驗. unsigned char myarray[1000], *s, n; n = 4; s = myarray + 100; s[-n] = 4; 把其中的 n 從 type char 改成 type short 就可能會當. 請問為什麼?(以上是我從某個鳥程式所取出來並化簡過的魔物. ) 但是也可能不會當, 請問又是為什麼? 在 C 裡面充滿了這種跟天書一樣的 bug. 連最有經驗的程式員都可能踩爆這種詭雷. 克服這些東西唯的一途徑是更多的經驗, 因為沒有很好的規範. 所以你想想應不應該請一個卅二歲的人來學 C? 不管對公司或者對個人而言, 我都不贊成這種職涯規劃. 數學系要進資訊產業很容易, 請不要擔心. 數學背景的人學程式思維那是出了名的快, 這在業界有口碑. 但是三十幾歲之後要靠沒有經驗的 C 進資訊產業... 我個人認為請三思. 至於怎麼踏進資訊業?現在 big data 這麼紅, 趕快去湊一腳吧. : 很清楚一般公司不會想要用一個年紀大又沒經驗的人 : 不知道程式設計的工作是不是也一樣 : 應該是不需要鼓勵我什麼的 =.= 想聽實際一點的分析 : 被酸被砲都能坦然接受,只希望能接受多一些訊息 : 如果連踏進職場的門票都很難取得的話,就算了 : 雖然很有興趣,但生活壓力很大, : 沒辨法慢慢找或是勉強接受難以生活的低薪。 : 想聽聽真的在業界工作的網友的意見 更進一步來說, 你該找的不應該是演算法這類的工作. 因為台灣的演算法職缺大部分來自半導體產業. 這種工作每天做的是「配合硬體或系統平台, 調整現有的演算法. 」 可以不懂數學... 但是要懂某一個 ALU 需要幾個 cycle 以完成一次 operation. 從軟體觀點來看... 這是一群嘴上說 C, 腦袋裡裝 assembly, 寫出來是大便的傢伙. 絕不唬爛. 除非有博士學位, 那倒是可以脫離這種畸形的程式生涯... 一點點. 不過恐怕也好不到哪裡去. 請求仍然是「某博, 這組數學模型在系統上跑不動, 能不能換一個?」 然後只好喝著咖啡抱怨為什麼裡面裝的不是 i7, 或者有 61 cores!! 另:卅二歲其實也沒有到老的地步, 通常這是最好用的年紀. 只是如果有生活壓力的話, 找工作會很弱勢──很抱歉這完全無解. -- 新詩練習:新鮮。踩破初春裡的狗大便;不經意的滄桑,滿溢著嫩黃的喜悅。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.223.182 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1395941356.A.275.html
andymai:進資訊產業容不容易是看人~而不是看系吧~還是我遇到的是特 03/28 01:36
andymai:例?而且...四大裡還不只一個~還不只是學士...Orz 03/28 01:38
sedgewick:32 歲非電機資訊, 對 C 沒經驗而想找 C 的工作, 這個... 03/28 01:44
sedgewick:我敢說即使是台大出身的都有點難, 因為用人主官會怕. 03/28 01:45
sedgewick:但是年紀往下減個三四年救大家搶著要了, 無經驗可, 科科 03/28 01:46
dnabossking:請教一下大大,走big data有機會是因為技術剛起步嗎? 03/28 01:50
dnabossking:如果真的要求職,能否請問該如何準備呢? 03/28 01:52
sedgewick:找工作這個因人而異, 我也不知道... 03/28 01:56
sedgewick:至於 big data 那段其實有點諷刺啦, 千萬不要太認真. 03/28 01:56
sedgewick:找一些 SQL/Python/Ruby 相關的工作應該都有機會. 03/28 01:57
sedgewick:然後工作機會最多的應該是 Java 開頭的那一票咚咚. 03/28 01:57
dnabossking:呵呵,瞭解,總之還是感謝您的回覆 03/28 01:58
sedgewick:當然, 還有 Objective-C + Cocoa... 科科. 03/28 01:58
dostey:有很大的風險.年紀是現實的 03/28 03:12
tyc5116:能不能公佈一下那段程式的答案,很詭異XD 03/28 08:36
ninepoints:沒有標準答案吧,看compiler跟processor吧,但也許有wa 03/28 08:42
ninepoints:rning 03/28 08:42
lovdkkkk:應該就是看有沒有一塊夠大的記憶體能用, 沒有就掰掰 03/28 09:51
Assyla:可以隨地大小便這比喻讓我大笑啊 03/28 10:27
aknow:不就 array index out of range ? 03/28 12:35
mymaydayya:n的值都一樣,type變short有差嗎 03/28 13:01
firose:char 會提升為 int 吧 若 short 不行難道 char 可以? 03/28 13:04
a47135:嘴上說 C, 腦袋裡裝 assembly, 寫出來是大便<-看到這句我笑 03/28 13:05
a47135:了XD 03/28 13:05
ac94865358:short在16位元系統跟32位元系統好像不一樣? 03/28 14:20
aknow:unsigned n=4, -n 會變為一個很大的正值 03/28 14:46
aknow:char 8 bit, short 16 bit, 6553x 會超出一開始配置的 mem 03/28 14:47
aknow:喔 我好像弄錯了 QQ 03/28 15:03
asleisureto:不管有經驗沒經驗 會寫出s[-4]這種鳥東西的真是奇葩 03/28 17:09
loveflames:我不知道C跟C++一不一樣,s[-4]在C++等同*(s-4) 03/28 17:47
loveflames:是合法的語法,實務上我還看過更奇怪的,像是0[p] 03/28 17:48
firose:原PO可能搞錯~ n=-4 與 n=4 再 -n 不同~ 03/28 19:18
mymaydayya:原po到底是指short還是unsigned short? 03/28 19:33
sedgewick:其實是 unsigned short, 不過寫這麼明白容易被抓包. 03/28 19:54
sedgewick:然後 aknow 板胞說到了關鍵的重點, type promotion. 03/28 19:55
sedgewick:至於 s[-4] 這種寫法還蠻常見的, 尤其是排序時... 03/28 19:56
sedgewick:問題在於 type promotion 在不同家的 compiler 會有差異 03/28 19:57
sedgewick:遵循 unsigned short -> int 的就不會有事. 03/28 19:58
sedgewick:但是保留 unsigned short 的就會炸掉. 03/28 19:58
firose:照這種說法, unsigned char 也是一樣, promotion 與否結果 03/28 20:02
firose:不同, 變成結果是不可信賴的, 即便它沒當機 03/28 20:02
sedgewick:哦對, char 不管怎麼變頂多就是 252 或者 -4, 所以沒當 03/28 20:04
sedgewick:沒錯, 但這種 s[-n] 的寫法通常都留兩倍以上的 buffer 03/28 20:05
sedgewick:所以很可能大家看到的結果仍然是對的(倒) 03/28 20:06
firose:重點是 -4 跟 252 取到的結果根本不同, 這 code 就是錯的 03/28 20:06
firose:當不當機是另外的問題吧 03/28 20:06
sedgewick:這段程式當然有問題... 但是不一定會發現就是了. 03/28 20:08
sedgewick:所以我才說是「魔物」啊... 03/28 20:08
f1234518456:真的一堆這種的 常常死的都不知道怎麼死的... 03/28 22:12
ggg12345:一群嘴上說C,腦袋裡裝assembly的會叫compiler列出組語,很 03/29 17:11
ggg12345:快就會發現換type後,造出個超範圍的值.type轉換本就敏感! 03/29 17:16
ggg12345:這是基礎知識與如何善用工具協助的問題,跟年紀無關! 03/29 17:19
ggg12345:隔行如隔山,若把遠處黃金都當大便,那也是視力或感官問題! 03/29 17:22
sedgewick:我就是跟這群人工作, 天天這樣笑他們, 他們也承認. 科科 03/29 17:57
sedgewick:不會有人去把 5,000 行的程式轉成組語的, 我說真的 03/29 17:58
sedgewick:他們厲害的地方是我寫的那句... 03/29 17:58
sedgewick:「一個 ALU 需要幾個 cycle 以完成一次 operation... 」 03/29 17:58
ggg12345:懂C跟組語轉換的會知道換type嚴重性,也不會全換組語debug 03/29 18:12
ggg12345:指令幾個cycle手冊就有,再不濟也有道具.解決問題才是重點 03/29 18:16
sedgewick:雖然他們就在我隔壁部門... 03/29 18:18
sedgewick:不過我自知那個 cycle count 要我查那是查不出來的 03/29 18:18
sedgewick:反過來說, C 轉 assembly 在一定複雜度之上也沒那麼簡單 03/29 18:19
sedgewick:撞見一個 recursion 那些人就全掛, 絕不唬爛. 03/29 18:19
ggg12345:做code optimization的,不會喜歡recursion法,效率不好! 03/29 21:01
sedgewick:沒錯, 不過偶爾就是會遇到, 這也是無可奈何(攤手) 03/29 21:06