国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

我的PHP退役了

瀏覽:114日期:2022-09-12 10:50:20

對(duì)于我的個(gè)人業(yè)余項(xiàng)目和未來(lái)的編程創(chuàng)收活動(dòng),PHP作為我的一種編程語(yǔ)言的選擇,已經(jīng)從此退役了。作出這個(gè)決定并不容易,但是對(duì)于我熱愛(ài)的編程事業(yè)的延續(xù),這是必要的。你知道,我可不是僅僅因?yàn)闊釔?ài)編程才做程序員,因?yàn)槲也粫?huì)干其它的。

歷史

一切都開(kāi)始于1999年,我8年級(jí)。互聯(lián)網(wǎng)真正開(kāi)始顯示出魅力,我想編程。學(xué)習(xí)了基本的HTML,我可以做出網(wǎng)頁(yè),但我想讓這些網(wǎng)頁(yè)有更多的交互功 能。Perl成為了選擇,嵌入Apache里作為CGI。Perl最初不是做這個(gè)的,對(duì)于一個(gè)對(duì)Unix,Linux,Apache和HTTP是如何工作 的一無(wú)所知的孩子,我不可能配置它們、讓它們跑起來(lái)。

最終我找了一個(gè)web主機(jī),上面所有的東西都已經(jīng)配置好了,我就這樣可以神奇的使用了。算是吧。我花了數(shù)月琢磨Perl,但這個(gè)東西實(shí)在讓人困惑。有誰(shuí)還記得那些正則表達(dá)式和大堆的代碼來(lái)解析請(qǐng)求變量、獲得一個(gè)$POST 和 $GET數(shù)組?對(duì)我來(lái)說(shuō)絕對(duì)是天書(shū),我拷貝粘貼,假裝知道自己在干什么。有誰(shuí)還記得恐怖的Matt’s Script Archive這個(gè)腳本嗎?

# From Matt’s Script Archive if ($ENV{’REQUEST_METHOD’} eq ’GET’) { @pairs = split(/&/, $ENV{’QUERY_STRING’});} elsif ($ENV{’REQUEST_METHOD’} eq ’POST’) { read(STDIN, $buffer, $ENV{’CONTENT_LENGTH’}); @pairs = split(/&/, $buffer);} foreach $pair (@pairs) { local($name, $value) = split(/=/, $pair); $name =~ tr/+/ /; $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('C', hex($1))/eg; $name =~ tr/0//d; $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('C', hex($1))/eg; $value =~ tr/0//d; # Build a hash with $name and $value}

數(shù)月后,我風(fēng)聞?dòng)幸环N語(yǔ)言叫PHP。你只需要向服務(wù)器上傳一個(gè).PHP文件,一切都搞定了。你直接能訪問(wèn)表單域里的變量,它們可以跟在URL后面提交。不須用正則表達(dá)式分析環(huán)境變量。相當(dāng)?shù)拿匀恕?/p>

不僅訪問(wèn)GET 和 POST 變量是如此的容易,連接數(shù)據(jù)庫(kù)也是要命的簡(jiǎn)單。所有的都是在Windows上?!愿望很快就成了現(xiàn)實(shí)。有人不久寫(xiě)出了WAMP的安裝包——因?yàn)榘惭b Apache和MySQL仍然不是一個(gè)很輕松的事。感覺(jué)就像是在天堂里了。最終,我開(kāi)始編寫(xiě)能把數(shù)據(jù)存入數(shù)據(jù)庫(kù),取出數(shù)據(jù),并操作它們的web應(yīng)用了。

當(dāng)然,現(xiàn)在知道的什么SQL注入攻擊,XSS攻擊,CSRF攻擊,session注入攻擊或其它的流行的安全漏洞問(wèn)題,當(dāng)時(shí)一無(wú)所知(公平的說(shuō),我肯定,當(dāng)時(shí)整個(gè)行業(yè)都不太清楚這些東西)。

但我很快的就開(kāi)始編程了,瘋了似的。我開(kāi)發(fā)論壇,我開(kāi)發(fā)基礎(chǔ)的網(wǎng)站生成器,日志和內(nèi)容管理系統(tǒng)。我喜歡這些。總有一些新的東西要學(xué),總有一些新的東 西要做。爸爸的公司給了我很多便利,特別是他們的軟件開(kāi)發(fā)組。那是一個(gè)在休斯敦的小web開(kāi)發(fā)公司,我有機(jī)會(huì)在里面和很多比我年長(zhǎng)的程序員一起工作,之后 我開(kāi)始能獨(dú)自承擔(dān)大的網(wǎng)站開(kāi)發(fā)。整個(gè)大學(xué)期間都在做這個(gè),甚至開(kāi)發(fā)了一個(gè)總共有16862行代碼的PHP系統(tǒng),提供給一個(gè)非盈利組織使用(在那時(shí),我已經(jīng) 知道了常見(jiàn)的網(wǎng)站漏洞,并進(jìn)行了修補(bǔ))。

Rails和Django并沒(méi)有吸引走我。我非常了解PHP,我有自己的框架,能夠很快的讓東西開(kāi)發(fā)完成并跑起來(lái)。

就這樣,我經(jīng)歷了MVC框架變革過(guò)程。作為一個(gè)PHP開(kāi)發(fā)者,我的工作情況越來(lái)越好(更好的待遇,更好的職位),但慢慢的我發(fā)現(xiàn),在我自己的業(yè)余時(shí) 間里,寫(xiě)出的代碼非常的好,可是在工作時(shí)間接觸那些公司的代碼卻很糟糕。不是一般的糟。沒(méi)法再糟了。做這些業(yè)余項(xiàng)目讓我保持清醒,因?yàn)楣镜哪切┏绦蛟谔?醒我,讓我痛苦不堪。

熱情枯竭

這就是為什么PHP從我的業(yè)余項(xiàng)目和新的創(chuàng)收活動(dòng)中退役的原因。我疲倦了PHP。熱情耗盡了。我感覺(jué)對(duì)這種語(yǔ)言已經(jīng)達(dá)到了最高水平,如果不轉(zhuǎn)向新的語(yǔ)言,對(duì)這種語(yǔ)言我就沒(méi)什么可做的了,我可不想落入這種狀態(tài)。

我作為一個(gè)職業(yè)PHP開(kāi)發(fā)人員掙了很多錢(qián),我計(jì)劃繼續(xù)下去。但我的業(yè)余項(xiàng)目和個(gè)人業(yè)務(wù)創(chuàng)收上將會(huì)使用其它的語(yǔ)言和框架。

此外,PHP并不強(qiáng)調(diào)好的整潔的編碼規(guī)范。有很多地方它實(shí)際是違背好的編碼規(guī)范的。結(jié)果,你就看到了到處都是大堆的恐怖的PHP程序,跟這些程序打 交道簡(jiǎn)直就是噩夢(mèng)。新程序員可以通過(guò)閱讀一些過(guò)時(shí)的速成教程很快學(xué)會(huì)這種語(yǔ)言,他們寫(xiě)出的很爛的代碼,打包到產(chǎn)品里,這樣的水平一年就能掙到6.5萬(wàn)美 元。我親眼看到過(guò)這種事情發(fā)生。PHP的易用和流行就像吸引蒼蠅一樣吸引了大量的初級(jí)開(kāi)發(fā)人員。

初級(jí)的程序員會(huì)認(rèn)為他們把代碼格式化一下,加一些注釋,他們的代碼就整潔了。他們錯(cuò)了,他們格式化的恰恰是些爛代碼。我在工作上整天遇到這樣的代碼。

我作為PHP熱愛(ài)者的日子結(jié)束了。那么,下一步怎么辦?

Scala

一年前,當(dāng)以JVM為基礎(chǔ)的語(yǔ)言(Clojure,Groovy,Scala,等等)開(kāi)始流行的時(shí)候,我注意到了Scala。看起來(lái)很有趣,但我很 擔(dān)心從PHP轉(zhuǎn)向一種不熟悉的語(yǔ)言。在過(guò)去的12年里,我知道所有的PHP的特征和妙處,而對(duì)于新語(yǔ)言我不掌握任何情況。現(xiàn)在,我不再顧慮這種擔(dān)心了,因 為我對(duì)學(xué)習(xí)新的東西更感興趣。

我懷疑我是否有足夠的智慧掌握這種新語(yǔ)言。并發(fā)?PHP上從來(lái)不擔(dān)心這種事情,Apache處理了所有類型的線程。Actors?靜態(tài)類型?變量上的不可變值?真正的命令式編程?使用PHP從來(lái)不需要考慮這些東西。

我買了一本這種語(yǔ)言的創(chuàng)始人Martin Odersky,Lex Spoon 和 Bill Venners 寫(xiě)的《Scala編程(Programming in Scala)》。極好的書(shū),我饒有興趣的讀著這本書(shū)。我的編程的熱情又回來(lái)了。

業(yè)余項(xiàng)目

那么,我的下一個(gè)業(yè)余項(xiàng)目會(huì)發(fā)生怎樣的變化?對(duì)于任何一個(gè)決定學(xué)新語(yǔ)言的人,這可是個(gè)不幸的消息,從金錢(qián)上從時(shí)間上都是不幸的。下一個(gè)項(xiàng)目將會(huì)暫 停,直到我感覺(jué)能像使用PHP那樣使用這種新語(yǔ)言后,我才會(huì)重新啟動(dòng)。現(xiàn)在不是時(shí)候。我本來(lái)計(jì)劃是在六月完成Kwolla 2,七月初上線。現(xiàn)在這個(gè)時(shí)間計(jì)劃是不能遵守了。

我還有另外一個(gè)項(xiàng)目打算使用Scala。我在評(píng)估各種框架,發(fā)現(xiàn)Thrift 不可思議的有意思的東西。進(jìn)入這個(gè)未知的領(lǐng)域同樣讓我產(chǎn)生了驚恐,但同時(shí)也有興奮。

英文原文:I’m Retiring from PHP

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 措勤县| 太谷县| 临洮县| 遂昌县| 深州市| 磴口县| 星子县| 浑源县| 兰溪市| 伊吾县| 洛浦县| 化德县| 察哈| 廉江市| 余干县| 大埔区| 磐安县| 安化县| 凤庆县| 甘泉县| 汾阳市| 铁岭县| 蛟河市| 陇西县| 平陆县| 垫江县| 涟源市| 临海市| 清涧县| 泰来县| 桑日县| 民权县| 通州区| 兰溪市| 西吉县| 平潭县| 广东省| 都安| 扬州市| 社会| 互助|