九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

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

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


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

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

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

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

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

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

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

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

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

聯(lián)系客服