国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Sawin軟件研發(fā)之窗:主動程序員與被動程序員

TheEdge推薦 [2007-6-10]
出處:IT168
作者:Hoplite


我覺得這個世界上的程序員可以分為兩種:“主動程序員”和“被動程序員”。“主動程序員”可以自己選擇開發(fā)方式,開發(fā)語言和框架,“被動程序員”被動接受公司指定的語言和開發(fā)方式。其實在現(xiàn)實生活中,這種分類并不絕對,一個程序員可能在不同的時候擔(dān)當(dāng)不同的角色,“被動程序員”也可能享有有限的主動權(quán)。這么分類并不以程序員本身的知名度,財富多少,是否自己創(chuàng)業(yè)還是受雇于人有關(guān)。

  David Heinemeier Hansson 受雇與 37Signal ,但是仍然可以自己選擇建立自己的 Rails 框架來完成項目,他應(yīng)該算是個“主動程序員”。Firebird數(shù)據(jù)庫的領(lǐng)導(dǎo)者同時也是 Interbase 數(shù)據(jù)庫的創(chuàng)始人。Jim Starkey 將自己的公司賣給了 Mysql AB 而不得不給Mysql干活,從某方面說,他應(yīng)該是個“被動程序員”。大多數(shù)第三世界國家的程序員應(yīng)該屬于“被動程序員”,他們編程只是為了一份養(yǎng)家糊口的工作,他們無權(quán)選擇自己喜歡的編程語言或者框架,因為這是公司給他選擇的,因為如果選了其他,他可能就找不到工作了。曾經(jīng)有個即將離職的同事讓我給他推薦一個比較好的編程框架,可以很容易完成一個網(wǎng)站的制作,我給他推薦了 Zope, 還有 Rails, 他聽我的介紹覺得不錯 ,當(dāng)我告訴他必須學(xué)習(xí) python 和Ruby 編程語言時,他顯得很驚愕,“那能找到工作嗎?”。這話其實也表達了大多數(shù)國內(nèi)程序員的想法??纯凑衅妇W(wǎng)站就知道,現(xiàn)在最需要的程序員是Java  程序員,最需要了解的框架是 Struts。如果不會你很難得到面試的機會,所以就算你不會也要在自己的簡歷中“修飾”一下。

  有些自己創(chuàng)業(yè)的人可以自己選擇喜歡的編程語言和框架,當(dāng)然那畢竟是少數(shù)。如果我能夠選擇的話,我肯定不用 Java 來做網(wǎng)站應(yīng)用。因為它完成一個簡單的工作太麻煩了,很難快速適應(yīng)需求的變化。當(dāng)然我也不會去用 PHP,因為我已經(jīng)習(xí)慣了面向?qū)ο蟮木幊谭绞搅恕N野l(fā)現(xiàn)一個奇怪的現(xiàn)象:大多數(shù)轉(zhuǎn)向?qū)W習(xí) Ruby on rails 框架的人都是來自 Java陣營的程序員,而轉(zhuǎn)向Python 框架Zope,django 的程序員大多有ASP,PHP 背景。因為 Ruby是一個真正的面向?qū)ο蟮恼Z言,它同時具備了腳本語言的特點,而 Python 首先是一個腳本語言,它具備了一些 OO 的特征。Java程序員很難忍受走回頭路,所以他們選擇了一個比Java更面向?qū)ο蟮恼Z言 Ruby ,而PHP,ASP程序員沒有那么重的思想負(fù)擔(dān),他們選擇Python 可能是因為它的代碼更 Beauty ,遠(yuǎn)比他們以前寫的“意大利面條”式的PHP,ASP 代碼要干凈的多。

  無論是 python, 還是 Ruby這些非主流程序語言開發(fā)的框架,使用起來都異常的簡便,他們可謂是真正從程序員角度考慮的框架。為什么 Ruby 一出,攪的 Java的世界一片混亂,我想原因還是出在 Java 這里,當(dāng) Java 程序員想當(dāng)然地認(rèn)為程序開發(fā)應(yīng)該如此麻煩的時候,Rails的出現(xiàn)讓他們立刻覺得被這些所謂的 Java 流行框架和 Sun 給欺騙了,這種欺騙是如此之深,以至于他們中間有的人“頭也不回”的離開了Java, 轉(zhuǎn)而攻擊 Java 的種種不是。這其中比較有名的人就是 Bruce Tate ,這位老兄寫了兩本轟動 Java世界的書,Spring: A Developer‘s Notebook 和 Better, Faster, Lighter Java(該書可是獲得 Jolt 大獎的,恰好我還都讀過),隨著 Rails 的流行,這位仁兄立刻叛逃出 Java 陣營,寫了 Beyond Java一書,著重介紹了一些非Java 框架,比如 Smalltalk 的Seaside和Rails。
Java 為什么這么復(fù)雜,我想了很久,得出這么個結(jié)論:這是因為 Sun 希望它那么復(fù)雜。為什么這么說呢?Sun不是一個好的軟件公司,它最擅長做的是制定規(guī)范,這很類似Java 編程中的 Interface, 經(jīng)常編寫 Java 程序的人,會發(fā)現(xiàn)Interface 可能是出現(xiàn)最多的一個詞匯了,任何框架中都充滿了Interface—接口,大多數(shù)編程書都推薦面向接口編程(當(dāng)然這不是Java的錯,是設(shè)計模式要求的,不過 Java將此發(fā)揮的最好)。首先定義接口,然后針對接口編寫不同的實現(xiàn),至少提供默認(rèn)的實現(xiàn)。Sun 也是如此,看看 J2ee 的規(guī)范包含了多少 J打頭的技術(shù),JDBC,JNI,JCA,JDO,JPA .... ,現(xiàn)在的 JCP 組織更加如此,每隔一段時間,就有大量的規(guī)范問世,Draft的,還是 Final 的,充斥著Java 世界,這是Sun希望的,每定義一個規(guī)范,就會有很多廠商來實現(xiàn)它,Java 的軟件市場就做大了,這樣Sun 就可以靠授權(quán),認(rèn)證拿更多的錢,你看 Sun 的股票那么低迷,而卻擁有那么雄厚的流動資金,原因再明白不過了,只要 Sun 還擁有Java ,它就擁有了一切。

  Sun 希望 Java 變得復(fù)雜,就如同程序員希望 Perl代碼難看一樣,這樣做是可以帶來好處的。Java 的復(fù)雜性也帶來了產(chǎn)業(yè)鏈上其他行業(yè)的繁榮,比如咨詢,在 Php ,Perl 流行Internet 的年代,網(wǎng)站開發(fā)似乎還不需要咨詢師,包括 C/S 盛行的時候,企業(yè)開發(fā)也不需要咨詢師,然而隨著 J2EE 逐步主宰企業(yè)級開發(fā),咨詢行業(yè)也開始興旺起來。企業(yè)大把大把的把錢投入到開發(fā)咨詢中,究竟效果如何,不得而知。我想對大多數(shù)程序員,尤其是那些有自己想法的程序員來說,請求咨詢公司,還不如自己去了解來得清楚。軟件開發(fā)咨詢師在我看來,有點象是“律師”—“代表貪婪的公司,讓這個世界變得更糟糕一些”(中Alex的對白)。如果說國外的咨詢師是希望通過主觀的努力來解決客觀存在的開發(fā)復(fù)雜性的話,那么國內(nèi)的咨詢行業(yè)可能把原本復(fù)雜的軟件開發(fā)變得更加復(fù)雜了。我不相信他們,我寧可選擇某個軟件的培訓(xùn),而不希望有人來從頭到尾指點你如何開發(fā),因為國內(nèi)咨詢師的水平比你從書本上了解的高不到哪里去,公司又何必花費這筆冤枉錢呢。

  那么如果你是個“主動程序員”,你會跟著 Sun 的指揮棒走嗎?我想離開 Java 世界,你選擇的機會應(yīng)該很多,但是前提是:你愿不愿意離開 Java。因為大多數(shù)人覺得改變現(xiàn)狀其實并不是個好事情,學(xué)習(xí)一個新語言和框架意為著你過去所有的經(jīng)驗就消失了,這其中有風(fēng)險。對大多數(shù)程序員來說,編程其實就是份工作,跟賣盒飯,裝機器沒什么區(qū)別,只要搞好本職工作就可以。試圖改變現(xiàn)狀的人很痛苦,了解差異的人也是如此,就如同 Neo在接受紅藥丸和藍(lán)藥丸。

  我在當(dāng)年學(xué)習(xí) Perl 的時候曾經(jīng)買過一本《Learningperl》,書的作者曾經(jīng)這么說,學(xué)習(xí) Perl 是為了讓自己把更多的時間用在去滑雪, PHP  的創(chuàng)始人 Rasmus Lerdorf也曾經(jīng)這樣表示過,他希望自己能夠減少盯著電腦的時間,可是這么多年過去了,他發(fā)現(xiàn)自己還是要繼續(xù)盯著該死的電腦。其實我對選擇框架語言也并沒什么興趣,我只是希望能夠以簡單的方式完成工作,而把時間省下來去聽聽音樂,看看電影。實際上我跟不希望改變現(xiàn)狀的人沒什么不同,他們不希望學(xué)習(xí)新的東西,因為現(xiàn)有的東西很熟悉了,學(xué)習(xí)新框架,還不如把時間放到玩上去,我的目的一樣,我學(xué)習(xí)只是希望自己的工作更輕松一點,這樣可以用更多的時間來玩。所以每當(dāng)我看到各種技術(shù)論壇上充斥著Java, .net , ROR ,Python之類的爭吵,我都覺得很好笑。其實為了維護一個語言而爭吵最沒有意義。編程語言就和英語,計算機一樣,就是個工具,選擇它們只是為了盡可能簡單地完成工作,提高生活質(zhì)量。為了語言而語言,為了框架而框架都是沒必要的。“主動程序員”可以選擇自己的方式來工作,這是大多數(shù)人做不到的。如果有可能,我也希望做一個“主動程序員”。

轉(zhuǎn)載網(wǎng)址:http://www.sawin.cn/doc/SP/SPExperience/TheEdge318.htm

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
學(xué)什么編程語言比較好?
語言簡評:比較Perl、PHP、Python、Java和Ruby
Perl、PHP、Python、Java和Ruby的比較
程序員看好!這五大編程語言最應(yīng)該學(xué)
十年后將要消失的五種編程語言
2021年收入最高的編程語言
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服