當前位置:編程學習大全網 - 編程語言 - 為什麽大多數程序員無法獨立完成桌面軟件

為什麽大多數程序員無法獨立完成桌面軟件

提問人表示疑惑:大多數程序員是否有能力獨立完成壹個稍顯復雜的桌面軟件?圖片來自互聯網,與本文無關在此,我們挑選出兩種觀點中的代表性回答。程序員謝旭陽表示:壹個做桌面程序的程序員應該很容易做壹個“稍顯復雜的桌面軟件”。這就好像壹個做Web的程序員做壹個“稍顯復雜的網站”也是很容易的。當然這個“復雜”只是指功能等技術邏輯上的復雜,如在UI方面還有更高要求,那應該由專門的美工來負責,而在推廣營銷方面還應與市場人員配合。而壹位擁有十年開發經驗的程序員給出了否定觀點的回答。程序獵人:程序員也有分工:桌面程序、網絡程序、移動終端程序、大型機編程、小型機編程、單片機編程……即便同是做桌面程序開發,在不同操作系統下,代碼寫法也有很大不同。術業有專攻,壹直鉆研其他領域的人,哪怕是高手也可能對桌面程序的運行機制和構建方法不熟悉,從而無法獨立完成這個任務。即使在壹個專做桌面軟件的公司裏,也可能有大部分程序員無法獨立編寫壹個稍顯復雜的桌面軟件。“程序獵人”不僅給出了回答,還對背後的原因進行了深層次的分析。他認為,做事情兢兢業業、並且做事時肯主動動腦思考前因後果、願意主動擴大自己工作責任範圍的人總是很少,他稱這類人為“主動哥”。大多數人都習慣於只做被分配的任務,並按照被吩咐的做法去做,對擴展自身工作範圍和知識沒有什麽興趣,僅在被分配了新的工作內容時才去學習,他稱這類人為“被動哥”,並表示這個世界的大部分財富是“被動哥”創造的,大部分工作是他們完成的。他們中不乏好人、熱心人,但因為求知欲的缺乏會導致他們長期保持在某壹狀態。而以Windows桌面編程為例,如果壹個“被動哥”被分配只需編寫壹些函數調用其他人開發好的API,並通過其他人寫好的框架來做測試,那麽他很可能在完全勝任工作的前提下不了解任何Windows桌面程序從頭建立的方法。自然就不可能獨立完成壹個桌面軟件了。從大工業生產來看,這壹點對公司是有利的,因為工作的成敗將不僅僅取決於某幾個員工,而且隨時可以替換任何壹個被動哥,也就意味著隨時可以找到成本更低的人才。日本很多軟件公司中的程序員都是這種狀況。相對來說,中國的壹些看似不太成熟的公司反而好些,裏面的人什麽都得做,哪怕是超級被動哥也什麽都會了。另壹方面,主動哥往往容易得到上級的賞識,很快便從程序員升級為設計者、架構師、管理者、顧問……長此以往沈澱在程序員階層的大多是被動哥,那麽大多數程序員無法獨立做出壹個像樣的東西也就不足為奇。另外,這位熱心網友還介紹了目前軟件公司普通程序員的工作情況,以下是他的文字摘錄:大部分情況下,普通程序員並不負責設計,僅負責編寫代碼並進行最小限度的單元測試,同時在被要求的情況下撰寫相關文檔。這類程序員常常是對著詳細設計書進行代碼翻譯工作,對於壹個有思想有抱負的人來說很枯燥乏味。我曾經見到過快要達到偽代碼級別的設計書。如果拿在手裏的不是打印出來的紙張,隨便寫個宏什麽的,基本都能把代碼生成出來的。但也不排除設計書做的不完整或者質量低下的情況,這時候就需要向設計者發問,並承擔壹部分設計工作,這種情況相對會有趣壹些。但對知識不豐富且沒有設計經驗的人來說,這項工作是個噩夢。尤其跨國協作時,要用外語探討時,有些外語不好的人就徹底繳械了,三天兩頭請外語好的人吃吃喝喝的……當然還有另外的壹些高級程序員,進行著分工更高層壹些的工作。比如:設計師、架構師、顧問等。作為設計師,相對接近程序員壹些。要把架構師定下來的東西更進壹步細化,設計成程序員能實現的東西。當然對於壹些小公司和小項目,以上角色互有穿插,甚至壹人全兼。作為架構師,往往要做出很多艱難的抉擇——是使用這種技術還是那種、是用這種平臺還是那種平臺、是犧牲功能還是犧牲性能?作為顧問,其實很多真正喜歡悶頭搞技術的人壹不小心當了顧問之後都大驚:我這跟搞推銷的有啥區別?啥時候才能讓我再次打開久違的IDE(集成開發環境)或者記事本(拽點的人用Vim),敲兩行代碼啊。因為顧問的主要工作是研究客戶的業務,並提出壹個可以滿足客戶業務需求的IT解決方案。他們對IT技術可以說無所不知但又對任何壹種都不深入。(當然也有壹些超人,在完成任務的基礎上自行抽時間鉆研某方面技術。遇到這種人,就膜拜吧。)讓普通技術人員眼花繚亂的各種名詞是他們忽悠客戶最好的武器。然後就是去客戶現場忍著各種不爽做講演了。對於程序員新手如何提高開發能力,這位擁有十年開發經驗的熱心網友建議“做個‘主動哥’而不要做‘被動哥’”。首先,大量的實踐練習絕對是必須的。而實踐之外重要的壹點,是多動腦思考,哪怕工作本身不需要頭腦,也不要停止思考。想壹想做這件事的前因後果,有什麽可以改進的地方或者提高效率的地方。長此以往,經過同樣的時間,妳會比“被動哥”多學會很多東西,並具備很多能力。簡而言之,要提高開發能力,就要做到勤奮和善於思考。

  • 上一篇:誰能給總結下無限恐怖中州輪回小隊所有成員
  • 下一篇:電腦初學者應該怎麽學習電腦啊?希望先行者給點建議!謝謝了
  • copyright 2024編程學習大全網