[問題] 程式是如何建構出來的???
我標題想了好久~~實在不會下 但我想問這些問題很久了(滿長的請見諒)
希望大家能夠提供一些看法 我目前也不知道這要怎麼google...
我是剛進入公司工作 性質是寫AP....
從大學接觸程式到研究所 我好像寫的程式也都是非常上層
我所定義的上層 是指 所有功能都是拿別人現成的API or Lib來用
像是 讀圖, 存圖 讀音效撥音效
了不起我寫過唯一的網路程式 用BCB ...也是很簡單要丟啥字串
傳到某function 他就幫我送給對方了(我覺得好厲害我根本不懂網路)
我所做的 只是把他們提供的API 再包一包 搞成一個可以run的程式
不懂這些的人看到我的程式好像很厲害 有一些特殊的功能
疏不知我根本不懂原理..........簡單一句...我只是call function
邏輯我有 但是技術我完全沒有....
在工作環境上 我剛進公司沒多久
我看到的AP 也都是用一堆API 建構出來的華麗程式
問了問同事 阿你們都懂原理喔 回: 不知道阿...
舉個例 拿我所看到的google Android (java)
有提供camera這class
camear.Initial camera.什麼的 哇靠 就有camera抓到的影像秀出來
別人不懂還以為我連camera都會寫 好厲害喔....我只能說 我只是call function...
這讓我有一個感慨
難道寫AP的 都學不到技術嗎?我不用懂技術只要會呼叫該用的function就有辦法
把程式寫出來
好像不用資工系 只要會call function 邏輯有
一般有興趣想寫AP的人都可以來寫阿 有bug(邏輯bug)在慢慢de就好
component都不是我們寫 我們能寫出的bug 也是邏輯上的bug...
他們component寫錯了 我根本不會知道是他們寫錯 因為我根本不懂原理.....
請過來人指證我 我真的到現在都是這樣認為.....我也不想這樣下去....
我自己到現在底子很差 沒有技術知識 我又對硬體一竅不通
所以以下我想問一個問題(可能很腦殘 但我真的不知道)
我一直在想 一個API 是怎麼和底層溝通
舉個例:
我想畫一條線 (windows系統) 我很高興的去msdn找到類似叫drawline的函式
我呼叫了 也真的給我畫出來
可是drawline是微軟寫死的
他怎麼有辦法把資料丟給顯示卡要他畫圖??
顯示卡 好多種規格 牌子
為什麼我灌了driver OS就有辦法知道他 並且drawline這API就能夠畫圖了?
這中間可能卡了好幾層 但我不知道這之間的觀念
我就卡在 api已經寫死了 底層是如何讓OS和顯示卡接起來這個橋樑
以上我認為我寫AP我根本不用管這些
但是又覺得說 我不懂這些 又覺得自己很像啥都不會...
這例子也可以改成 我呼叫一行他就可以播放音樂
我呼叫一行 他就有辦法把字串透過網路送出去
為什麼standard library cout<<可以把字串印到console視窗內...
這都怎麼做到的 微軟的API都寫死了
你硬體(是driver嗎)需要遵照什麼規範去實做嗎?????
===========================================================
和一些大學同學聯絡
他們目前工作性質有的是寫韌體 有的是寫一些影音串流包含網路
閒聊中 他們可以講出他在做什麼 用了哪些技術 哪些是他負責在弄的
寫韌體的 也講說什麼 阿就照spec 他要我哪個ping怎麼樣我就照他的寫阿
他講的簡單 我卻無法體會 我根本就不懂....
我呢......啥都沒得講 我還是只會call function....
當然AP沒這麼好寫 我自己是認為寫AP 你OO一定要有一定水準
你coding的style也要越來越嚴謹 一堆error都要記得去handle
雖然我現在也弱弱的 但感覺在職場呆一陣子
我頂多C++或是被迫使用的OO language變強 或是變成coding機器...
但我技術還是沒有學到阿.......
可能有人會說自己花時間學~~但是真的在公司 也不可能偷偷自修自己想學的東西
真正下班了 都很晚了 根本不會想再去自修.....能玩就不錯了 = =
我真的很佩服寫底層的
寫driver阿 寫一些核心技術的人
感覺他們才是真正又會寫程式 又會開發新技術的人員...
請板友們 替我解解惑吧.....
自己覺得我再寫上層的東西 但是要是沒底層的人 我根本就無法寫出來
我覺得我已經變成 要寫程式 只要找不到API就不會寫了的情況...
是只有我有這種疑惑嗎 大家都對整個 os hw driver firmware 這些
都有基本的觀念嗎?? 我是都沒有才想潑版請教各位
謝謝~~請指教
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.192.83.99
推
03/27 03:38, , 1F
03/27 03:38, 1F
→
03/27 03:39, , 2F
03/27 03:39, 2F
→
03/27 03:40, , 3F
03/27 03:40, 3F
推
03/27 04:37, , 4F
03/27 04:37, 4F
→
03/27 04:39, , 5F
03/27 04:39, 5F
→
03/27 04:40, , 6F
03/27 04:40, 6F
→
03/27 04:41, , 7F
03/27 04:41, 7F
推
03/27 04:44, , 8F
03/27 04:44, 8F
→
03/27 04:45, , 9F
03/27 04:45, 9F
推
03/27 04:46, , 10F
03/27 04:46, 10F
→
03/27 04:57, , 11F
03/27 04:57, 11F
→
03/27 05:01, , 12F
03/27 05:01, 12F
→
03/27 05:01, , 13F
03/27 05:01, 13F
→
03/27 05:02, , 14F
03/27 05:02, 14F
→
03/27 05:03, , 15F
03/27 05:03, 15F
→
03/27 05:04, , 16F
03/27 05:04, 16F
→
03/27 05:04, , 17F
03/27 05:04, 17F
→
03/27 05:05, , 18F
03/27 05:05, 18F
→
03/27 05:05, , 19F
03/27 05:05, 19F
→
03/27 05:06, , 20F
03/27 05:06, 20F
→
03/27 05:07, , 21F
03/27 05:07, 21F
→
03/27 05:07, , 22F
03/27 05:07, 22F
→
03/27 05:08, , 23F
03/27 05:08, 23F
→
03/27 05:09, , 24F
03/27 05:09, 24F
→
03/27 05:11, , 25F
03/27 05:11, 25F
推
03/27 06:15, , 26F
03/27 06:15, 26F
推
03/27 06:25, , 27F
03/27 06:25, 27F
→
03/27 06:27, , 28F
03/27 06:27, 28F
→
03/27 06:28, , 29F
03/27 06:28, 29F
推
03/27 07:53, , 30F
03/27 07:53, 30F
→
03/27 07:54, , 31F
03/27 07:54, 31F
→
03/27 07:55, , 32F
03/27 07:55, 32F
→
03/27 07:55, , 33F
03/27 07:55, 33F
→
03/27 07:56, , 34F
03/27 07:56, 34F
→
03/27 07:57, , 35F
03/27 07:57, 35F
→
03/27 07:58, , 36F
03/27 07:58, 36F
推
03/27 10:23, , 37F
03/27 10:23, 37F
→
03/27 10:24, , 38F
03/27 10:24, 38F
推
03/27 10:53, , 39F
03/27 10:53, 39F
→
03/27 10:54, , 40F
03/27 10:54, 40F
→
03/27 10:56, , 41F
03/27 10:56, 41F
→
03/27 10:57, , 42F
03/27 10:57, 42F
→
03/27 10:58, , 43F
03/27 10:58, 43F
推
03/27 10:59, , 44F
03/27 10:59, 44F
推
03/27 11:41, , 45F
03/27 11:41, 45F
→
03/27 11:41, , 46F
03/27 11:41, 46F
→
03/27 11:42, , 47F
03/27 11:42, 47F
→
03/27 12:31, , 48F
03/27 12:31, 48F
→
03/27 12:31, , 49F
03/27 12:31, 49F
→
03/27 13:03, , 50F
03/27 13:03, 50F
→
03/27 13:03, , 51F
03/27 13:03, 51F
→
03/27 13:05, , 52F
03/27 13:05, 52F
→
03/27 13:05, , 53F
03/27 13:05, 53F
推
03/27 14:34, , 54F
03/27 14:34, 54F
推
03/27 14:53, , 55F
03/27 14:53, 55F
→
03/27 14:54, , 56F
03/27 14:54, 56F
→
03/27 14:55, , 57F
03/27 14:55, 57F
→
03/27 14:58, , 58F
03/27 14:58, 58F
→
03/27 14:59, , 59F
03/27 14:59, 59F
→
03/27 15:01, , 60F
03/27 15:01, 60F
推
03/27 20:59, , 61F
03/27 20:59, 61F
推
03/27 21:34, , 62F
03/27 21:34, 62F
→
03/27 21:36, , 63F
03/27 21:36, 63F
→
03/27 21:36, , 64F
03/27 21:36, 64F
→
03/27 21:37, , 65F
03/27 21:37, 65F
推
03/27 22:00, , 66F
03/27 22:00, 66F
→
03/27 22:00, , 67F
03/27 22:00, 67F
→
03/27 22:01, , 68F
03/27 22:01, 68F
→
03/27 22:01, , 69F
03/27 22:01, 69F
→
03/27 22:02, , 70F
03/27 22:02, 70F
推
03/28 13:36, , 71F
03/28 13:36, 71F
推
03/28 13:38, , 72F
03/28 13:38, 72F
推
03/28 17:51, , 73F
03/28 17:51, 73F
→
03/28 17:52, , 74F
03/28 17:52, 74F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章