一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

在美做開發(fā)多年,寫給國(guó)內(nèi)iPhone開發(fā)新手

  從這個(gè)論壇開始辦這個(gè)板塊就幾乎沒正面回復(fù)過什么,但平心而論,看的最多的板塊也是這個(gè)。但從沒有發(fā)表過自己的看法,因?yàn)槿魏我粋€(gè)人在今時(shí)今日都可以成為一個(gè)程序員。而在看了很多國(guó)內(nèi)的程序大小論壇后,養(yǎng)成了一個(gè)習(xí)慣,不敢在論壇里做正面的回復(fù),甚至不回復(fù),乃至連文章也不寫。為什么今天破例了?因?yàn)楸缓芏嘈氯说哪欠N態(tài)度所打動(dòng),因?yàn)樗麄冋娴暮苷\(chéng)懇的在學(xué)。

  羅哩叭嗦的前言到此為止。我說(shuō)一下我個(gè)人經(jīng)歷在先,我做過PPC的項(xiàng)目經(jīng)理(可能現(xiàn)在改名叫WM),也在塞班智能系統(tǒng)剛開發(fā)之初做過一些商業(yè)項(xiàng)目等等等等都和嵌入式有關(guān)。但我一直認(rèn)為那個(gè)時(shí)候的我的開發(fā)都是不成熟的開發(fā)。為什么?因?yàn)楹秃芏嘈率忠粯樱萑胍恍┱`區(qū)。就是到底什么是開發(fā)程序?這個(gè)錯(cuò)誤大家常犯,為什么開發(fā)程序,是一大堆數(shù)據(jù)處理,從第一個(gè)程序誕生到今天,程序就是一大堆的數(shù)據(jù)處理。而其實(shí)很少的國(guó)內(nèi)開發(fā)人員考慮過這一點(diǎn),因?yàn)樗麄兇蠖嗫紤]的是自己的飯碗和升職。所以他們忽略了最基本的東西。而多數(shù)國(guó)內(nèi)論壇也把這些東西認(rèn)為是無(wú)需討論的。而那個(gè)時(shí)候的我也是。

  為什么我在文章的一開始就提到了一大堆數(shù)據(jù)處理,那是因?yàn)閿?shù)學(xué)。可能看到這里大多數(shù)學(xué)生朋友都會(huì)笑了,數(shù)學(xué)我很強(qiáng)。如果這樣想,這樣你和我以前的我一樣又進(jìn)入了一個(gè)誤區(qū)。這里我還是以我自己說(shuō)一個(gè)例子,我在美國(guó)上calculus,在上之前,我本來(lái)不想上的,因?yàn)楦邤?shù)什么的我都很輕松拿到了高分了,這calculus算什么,對(duì)于中國(guó)人來(lái)說(shuō),簡(jiǎn)直就是智商的侮辱,而且第一次Quiz和Midterm也證明了我的想法,多數(shù)的外國(guó)人的均分就60多,而中國(guó)人幾乎都是85以上。而在這成績(jī)背后我卻發(fā)現(xiàn)了一個(gè)問題,就是題目我們都會(huì)解,但老師為什么一定要反復(fù)的證明趨向于一個(gè)數(shù)字,他寫了滿滿一個(gè)黑板的2.0,1.999,1.998,1997 趨向于0,然后他又寫了從-.2.0,-1.999趨向于0。其實(shí)那時(shí)的我認(rèn)為老師很傻,有必要嗎?你做這些不會(huì)改變定律,也不會(huì)改變?nèi)魏谓Y(jié)論。而且定律大家都已經(jīng)知道了。后來(lái)我在上完后,找到了老師,問她為什么你要這樣寫?她開始笑了,然后對(duì)我說(shuō),其實(shí)過程比結(jié)果更重要,而她個(gè)人也認(rèn)為在這些過程中,說(shuō)不定哪天她會(huì)看到一個(gè),那個(gè)就是一個(gè)很tiny的一個(gè)數(shù)字,他的趨向可能會(huì)不同。其實(shí)她說(shuō)完這些我還是沒理解,而且我還是認(rèn)為她很stupid更多的是古板。但當(dāng)我完成所有的理科科目后,我終于有了很微妙的轉(zhuǎn)變,那就是哪怕是一個(gè)簡(jiǎn)單的結(jié)論都需要去自己證明出來(lái),因?yàn)檎f(shuō)不定哪一天我也可以去推翻這個(gè)定律,因?yàn)槲野l(fā)現(xiàn)了一個(gè)很tiny的錯(cuò)誤。 我想了半天,我決定用這個(gè)例子,因?yàn)檫@代表了美國(guó)和中國(guó)文化的差異,沒有那一方是對(duì)的,或者錯(cuò)的。只是個(gè)人如何去看待這個(gè)問題。

  而這也是為什么要學(xué)習(xí)離散數(shù)學(xué)和線性代數(shù)和高等數(shù)學(xué)甚至物理,如果你實(shí)實(shí)在在的從根本上了解了他們,你的開發(fā)程序技能已經(jīng)是有一定水準(zhǔn)了,哪怕你就是不會(huì)C。而這個(gè)例子的證明,在國(guó)內(nèi)很多,比如很多清華的數(shù)學(xué)系和物理系的學(xué)生,在phd或者master轉(zhuǎn)入了CS(計(jì)算機(jī)技術(shù))專業(yè),他們會(huì)有很大的發(fā)展空間,而往往都是這類人比從一開始讀CS的人取的成就要高。

  可能看完上面你已經(jīng)灰心了,因?yàn)槟愕臄?shù)學(xué)不好。數(shù)學(xué)是一個(gè)捷徑,如果我們沒有這個(gè)捷徑,我們還有創(chuàng)意。這說(shuō)起來(lái)好簡(jiǎn)單。看看國(guó)內(nèi)軟件行業(yè)就明白,沒一個(gè)有創(chuàng)意的軟件,在說(shuō)遠(yuǎn)一點(diǎn),你用百度去搜索一個(gè)技術(shù)參考,可能有1000到2000個(gè)結(jié)果,但可以很負(fù)責(zé)的說(shuō)這1000到2000個(gè)結(jié)果都是重復(fù)的。如果你把這個(gè)keyword打入Google美國(guó)服務(wù)器,我也可以很明顯的告訴你,他的重復(fù)率低的讓你難以想象。為什么搜索結(jié)果和創(chuàng)意聯(lián)系起來(lái)。因?yàn)槌u首先扼殺了創(chuàng)意,而什么是創(chuàng)意,那個(gè)不是高深的理念,更不是什么多符合數(shù)學(xué)或者物理邏輯的東西,那個(gè)是一個(gè)純粹的想法。

  而多數(shù)的程序員在有了好的想法之后,就開始束縛起來(lái),要加密,要如何創(chuàng)業(yè)快速賺錢。呵呵,很符合中國(guó)特色。其實(shí)一旦當(dāng)你在最初階段就把你的創(chuàng)意捆綁上這些附加的東西之后,他就開始隕落了,除非你有很強(qiáng)大的公司做支持,比如Google或者M(jìn)S,或者Apple。所以,有了好的想法后,不惜代價(jià),勇往直前才是一個(gè)程序員的信念,哪怕市場(chǎng)就是不好,先把它完成,在一段時(shí)間后,說(shuō)不定就會(huì)被注意,in other words. 哪怕就是不成功,沒人注意,對(duì)程序員本身而言,這也是一種經(jīng)驗(yàn)的累計(jì),因?yàn)橹灰闳懘a,你就會(huì)發(fā)現(xiàn)你需要的知識(shí)很多。 那怕就是一個(gè)小的semicolon(;) 擺的位置發(fā)生變化,在程序上,也有可能發(fā)生質(zhì)的變化。therefore, Just do it if you got good idea.

  說(shuō)了2個(gè)大前提,讓我們開始進(jìn)入一些開發(fā)細(xì)節(jié)。我看了多數(shù)人喜歡問這個(gè)一個(gè)問題,我要具備哪些語(yǔ)言才能開發(fā)apple的程序或者Java的程序。

  in fact, my answer is nothing. 做Java開發(fā)也好,做objectC開發(fā),乃至php什么都好,C不是必須的基礎(chǔ). in other words, 你會(huì)C和不會(huì)都一樣。而為什么有很多人強(qiáng)調(diào)無(wú)論學(xué)什么你都要會(huì)C,這個(gè)論調(diào)在國(guó)內(nèi)很多,他們說(shuō)沒錯(cuò),因?yàn)榭赡芩麄兝蠋熓沁@么說(shuō)的,或者他的學(xué)長(zhǎng)或者學(xué)姐也是這么說(shuō)的。但其實(shí),國(guó)內(nèi)多數(shù)人都沒給出一個(gè)為什么要學(xué)C的理由,其實(shí)看多英文書后,你就知道了,C是一種Thinking, 我并沒有去翻譯這字,因?yàn)門hinking代表很多,不單單是解釋他是一個(gè)想法。thinking包括你的文化,包括你的個(gè)人經(jīng)歷,甚至你對(duì)其他專業(yè)的理解。而我個(gè)人的理解對(duì)C就是,他是一個(gè)做大型程序的基石,而對(duì)于你只是完成一個(gè)普通程序,可要可不要。因?yàn)楝F(xiàn)在的計(jì)算機(jī)英文開發(fā)教材都是屬于解釋性的,什么叫解釋性,就是作者把那些枯燥的東西用他們自己的經(jīng)驗(yàn)和實(shí)力通過最簡(jiǎn)單的語(yǔ)言給你解釋了一下。所以你不需要任何其他基礎(chǔ), 只需要和twitter一樣,去follow以一個(gè)你喜歡的作家,但找到這個(gè)你喜歡的作家要花很多時(shí)間。

  而開發(fā)語(yǔ)言,真的無(wú)太多話可以說(shuō),你只要去記住那些就可以了,OOP就那么點(diǎn)東西,說(shuō)來(lái)說(shuō)去就是繼承,多態(tài),封裝這些。最難的也就是C++,因?yàn)樗皇且粋€(gè)不全面的OOP,或者不完善的OOP,所以他難,因?yàn)闆]完全遵循OOP的規(guī)則或者原理。 而相對(duì)Java就容易很多,因?yàn)榫褪且粋€(gè)純OOP。而了解OOP的人,或者你真的掌握了她的精髓后,你會(huì)發(fā)現(xiàn)她是一個(gè)合理的東西,而不存在難與不難,就等于Thiniking in Java里作者反復(fù)說(shuō)的一些句子,萬(wàn)物皆對(duì)象。而這個(gè)對(duì)象就是我們?cè)诂F(xiàn)實(shí)生活中天天遇到的,再打個(gè)比方,你對(duì)你的另一半有些基礎(chǔ)的要求,比如是男性是必須,然后要20歲以上,太小不行,則就是你的field. 而有了field就是需要一些function, 比如這個(gè)男的需要有錢,所以他能賺錢這個(gè)function是必須的,當(dāng)然能實(shí)行人道這個(gè)function也是必須的。就這么簡(jiǎn)單,OOP基礎(chǔ)就這些,在深入一些,也有很多,花個(gè)2到3天時(shí)間就掌握了,所以不要一開始就問難不難。請(qǐng)記住,在中國(guó)這么艱難的環(huán)境里,你都能生存下來(lái),還有什么可以算得上是難的。

  而如果你有C的基礎(chǔ),其實(shí)還是要看一下ObjectC, 因?yàn)楹芏喽x還是有一定差別,就等于你會(huì)C++,可能也用了C++多年,但你剛接觸Java的時(shí)候,你也要難免有點(diǎn)不適應(yīng),比如繼承里,你不能繼承多個(gè)base class, 而且要使用interface, 而更具體的,邏輯方面的東西更現(xiàn)實(shí)化,比如instanceof(), 例子有很多,但說(shuō)白了就是更方便你快速開發(fā)。既然這里說(shuō)到了快速開發(fā),我在這里就展開這個(gè)話題,作為一個(gè)新手,不要考慮太多,用現(xiàn)有的你的資源去把你的想法去實(shí)現(xiàn),那怕就是VB也好,不要太在意我今天學(xué)的這個(gè)Java是不是過時(shí)了,或者ObjectC是不是太不可移植了。請(qǐng)?jiān)谀隳X海中一定要放棄這個(gè)概念,任何東西都會(huì)過時(shí),但Thinking是不會(huì)變化太大的。而我們要master或者要handle的是Thinking.

  多討論,這個(gè)是我在美國(guó)學(xué)到的另一個(gè)東西。其實(shí)任何人都可以討論,我的另一半是學(xué)生物的,對(duì)計(jì)算機(jī)編程是完全不懂,但我很喜歡問他,你認(rèn)為這個(gè)如何?他經(jīng)常的回答很讓我生氣,比如他自己的項(xiàng)目有時(shí)候,其他人是用Java寫的,他的瀏覽器沒裝可以打開Java程序的東西,他就會(huì)很憤怒,為什么你們這些做程序的不把問題簡(jiǎn)單化。我當(dāng)時(shí)也很氣憤,人家用Java寫有什么不對(duì),但我靜下心來(lái)想想,他就是一個(gè)最終端的用戶,雖然他的要求不符合計(jì)算機(jī)原理,但最起碼他對(duì)這個(gè)程序是感到厭煩了,而那個(gè)用Java寫的人,完全可以用ajax加php做改進(jìn),這樣就把這個(gè)問題讓非程序員更容易理解。最起碼容易打開。所以和任何人去討論,去聊天,你會(huì)得到很多東西。而那些東西是你一輩子在書上學(xué)不到的,但肯定會(huì)讓你的程序更貼近用戶。如果你和可以和你奶奶(前提你奶奶會(huì)電腦)多聊一會(huì),他們也會(huì)給你他們需要什么樣的程序,而不一定要到處找靈感,因?yàn)殪`感就在你身邊。

  最后一點(diǎn)就是討論后的認(rèn)同,國(guó)人很不喜歡認(rèn)同別人,總是會(huì)認(rèn)為自己比別人有本事。但在來(lái)美后,我也開始逐步的去承認(rèn)別人,這在以后的team work中很重要,國(guó)內(nèi)的team work不多,所以很難體會(huì)到,一個(gè)組員,一個(gè)手下,他們都會(huì)有他們的想法,而一個(gè)好的leader甚至manager, 是需要過人的包容力,而這個(gè)包容力的基礎(chǔ)就是去認(rèn)同別人,因?yàn)樗麄儠?huì)在任何的一個(gè)時(shí)間點(diǎn)上說(shuō)出一些你不知道,或者你沒想的提示,而這個(gè)提示可能就是你的軟件項(xiàng)目的轉(zhuǎn)折點(diǎn)。

  本篇完結(jié),我的結(jié)語(yǔ)就是:雖然社會(huì)很讓你無(wú)奈,但作為一個(gè)“人”,做任何事情,都要先尊重和了解身邊的一切,這樣你才能成為一個(gè)人,最少也是一個(gè)對(duì)別人有幫助的人,而程序員就是用程序去幫助人,而不是停留在自我滿足的層面。

it知識(shí)庫(kù)在美做開發(fā)多年,寫給國(guó)內(nèi)iPhone開發(fā)新手,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 日韩午夜视频在线观看 | 国产精品成人嫩妇 | 伊人小婷婷色香综合缴缴情 | 亚洲图片在线视频 | 国产精品久久久亚洲456 | 国产在线99| 91精品欧美一区二区三区 | 国产高清视频一区二区 | 日本99热| 亚洲永久免费网站 | 四虎网站入口 | 国产成人综合在线视频 | 亚洲一级黄色毛片 | 欧美久色| 激情亚洲婷婷 | 国产福利在线视频 | 欧美色综合网站 | 中文字幕亚洲一区二区va在线 | 精品欧美一区二区精品久久 | 大色皇大久久大久久 | 亚洲精品一级片 | 亚洲黄网视频 | 亚洲日本一区二区三区高清在线 | 免费国产h视频在线观看86 | 色婷婷综合在线 | 7色影院| 色老板在线 | 色综合久久加勒比高清88 | 狠狠色伊人亚洲综合网站l 狠狠色伊人亚洲综合网站色 | 男女激情视频国产免费观看 | 国产免费私拍一区二区三区 | 热久久视久久精品18国产 | 亚洲精品中文字幕午夜 | 中文字幕日本精品一区二区三区 | 天天做天天爱夜夜爽 | 中文字幕色综合久久 | 久久久久一 | www99热| 香蕉成人国产精品免费看网站 | 狠狠伊人| 超91精品手机国产在线 |