自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

所有編程皆為 Web 編程

開(kāi)發(fā) 前端 開(kāi)發(fā)工具
大部分人想去做Web編程的原因是,他們不夠聰明,因此也做不了別的事。 他們不懂編譯器、并發(fā)性、3D或類(lèi)繼承。他們根本不明白我為什么要使用接口或者抽象類(lèi)。他們不理解虛函數(shù)、指針、引用、垃圾回收、終結(jié)器、傳引用與傳值的 區(qū)別、C++的虛擬析構(gòu)函數(shù)、或者C#的結(jié)構(gòu)體與類(lèi)之間的差別。他們對(duì)進(jìn)程也一無(wú)所知。

Michael Braude對(duì)Web編程大受追捧表達(dá)了他的不屑:

大部分人想去做Web編程的原因是,他們不夠聰明,因此也做不了別的事。 他們不懂編譯器、并發(fā)性、3D或類(lèi)繼承。他們根本不明白我為什么要使用接口或者抽象類(lèi)。他們不理解虛函數(shù)、指針、引用、垃圾回收、終結(jié)器、傳引用與傳值的 區(qū)別、C++的虛擬析構(gòu)函數(shù)、或者C#的結(jié)構(gòu)體與類(lèi)之間的差別。他們對(duì)進(jìn)程也一無(wú)所知。更別提瀑布、螺旋、敏捷了!他們從來(lái)沒(méi)看過(guò)需求文檔,也從來(lái)沒(méi)寫(xiě)過(guò) 設(shè)計(jì)文檔;他們從沒(méi)畫(huà)過(guò)一張UML圖,甚至聽(tīng)都沒(méi)聽(tīng)說(shuō)過(guò)有“順序圖”這種東西。

不過(guò),他們確實(shí)有些手段:他們知道怎樣匆匆拼湊一個(gè)ASP.NET網(wǎng)頁(yè),向數(shù)據(jù)庫(kù)發(fā)一些(寫(xiě)得很糟糕的)SQL指令,填上一個(gè)數(shù)據(jù)集,然后用網(wǎng)格控件展示出來(lái)。他們也就會(huì)這些了吧。而且,他們?cè)谂靼走@些東西的時(shí)候,很可能也沒(méi)費(fèi)多長(zhǎng)時(shí)間。

因此,請(qǐng)恕我冒犯——我才不想當(dāng)Web程序員呢!我有兩個(gè)理由。***,那對(duì)我太沒(méi)有挑 戰(zhàn)性了。第二,因?yàn)榻^大多數(shù)互聯(lián)網(wǎng)公司的工程師都很糟糕,更準(zhǔn)確地說(shuō),因?yàn)槟悴槐厝プ聊ド願(yuàn)W的東西就能成為一個(gè)Web開(kāi)發(fā)者。在我看來(lái),互聯(lián)網(wǎng)正讓我們變 得越來(lái)越***。拼湊出一個(gè)網(wǎng)頁(yè)真的不需要你有那么聰明。

我真心希望大家都錯(cuò)了,希望不必所有的東西都“轉(zhuǎn)向Web”。因?yàn)槿绻孢@樣的話(huà),將來(lái)的某一天,我要么會(huì)不情愿地接受這種無(wú)聊的轉(zhuǎn)變,要么只能換一個(gè)職業(yè)了。

Web開(kāi)發(fā)沒(méi)有挑戰(zhàn)性,所以吸引了不夠格的軟件開(kāi)發(fā)者?讓我們姑且不討論這種荒謬的觀(guān)點(diǎn)。即使過(guò)去真是這樣,如今的情況也已經(jīng)不同了。

我其實(shí)不想在Michael面前扮演“壞人”,告訴他這個(gè)壞消息:對(duì)于越來(lái)越多的用戶(hù)來(lái)說(shuō),桌面應(yīng)用軟件已經(jīng)完蛋了。幾年來(lái),大部分桌面應(yīng)用軟件都被Web應(yīng)用代替了。隨著網(wǎng)絡(luò)瀏覽器進(jìn)化得越來(lái)越強(qiáng)大和健壯,每天都有更多的桌面應(yīng)用被取代。

你希望不必所有的東西都“轉(zhuǎn)向Web”?醒醒吧!這已經(jīng)發(fā)生了!

任何學(xué)習(xí)計(jì)算機(jī)歷史的學(xué)生都可以告訴你,Web應(yīng)用成為主流正是“最不強(qiáng)大原則”(The Principle of Least Power)所預(yù)示的:

計(jì)算機(jī)科學(xué)界過(guò)去花了40年的時(shí)間,致力于讓語(yǔ)言盡可能地強(qiáng)大。時(shí)至今日,我們必須感 激那些讓我們選擇不是***大的解決方案(而選擇最不強(qiáng)大的方案)的原因。計(jì)算機(jī)語(yǔ)言越不強(qiáng)大,你對(duì)用那種語(yǔ)言存儲(chǔ)的數(shù)據(jù)能做的事情就越多。如果你以一種簡(jiǎn) 單的陳述形式來(lái)書(shū)寫(xiě),任何人都可以寫(xiě)一個(gè)程序去分析它。比方說(shuō),一個(gè)呈現(xiàn)天氣信息的網(wǎng)頁(yè)使用RDF(譯者注:資源描述框架,一種用于描述Web資源的標(biāo)記 語(yǔ)言)來(lái)描述數(shù)據(jù),用戶(hù)可以把它裝進(jìn)一個(gè)表格,也許再做一下平均計(jì)算,繪制圖表,然后結(jié)合其他信息做出某種推斷。另一種極端的做法是,天氣信息通過(guò)巧妙的 Java小程序描繪出來(lái)。盡管這種方式可能做出很酷的用戶(hù)界面,但它完全不能被分析。找到這個(gè)頁(yè)面的搜索引擎將無(wú)法判斷那是什么數(shù)據(jù)或者那些數(shù)據(jù)有什么 用。要想知道一個(gè)Java小程序是做什么的,唯一的辦法是親眼目睹它運(yùn)行起來(lái)。

互聯(lián)網(wǎng)恰恰是做最簡(jiǎn)單(或者說(shuō)最傻)而靠譜之事的具體表現(xiàn)。如果這嚇到了你(讓你感到不安了),那么我要小聲地告訴你,你沒(méi)有理由成為一名程序員。

所有應(yīng)用都應(yīng)該成為Web應(yīng)用嗎?當(dāng)然不是??傆幸恍┲匾睦?,有些種類(lèi)的軟件跟網(wǎng)絡(luò)也毫無(wú)關(guān)系。但是,這些是少數(shù)情況,是一些特殊應(yīng)用。它們固然是重要的小生態(tài)環(huán)境,但不管怎么說(shuō),就只是“小生態(tài)”。

如果你希望盡可能多的用戶(hù)來(lái)使用你的軟件,絕沒(méi)有比把它做成Web應(yīng)用更好的方法了。對(duì)于現(xiàn)存軟件來(lái)說(shuō),互聯(lián)網(wǎng)是***效、最普遍、最直接的分發(fā)網(wǎng) 絡(luò)。任何用戶(hù)只要能連上網(wǎng),有一個(gè)瀏覽器,不管他身處世界的任何一個(gè)角落,只須點(diǎn)兩下鼠標(biāo)就能與你寫(xiě)的軟件開(kāi)始交互了。哪怕是最蹩腳的Web應(yīng)用,它的受 眾面和傳播度都是令人震驚的;而且還在每天擴(kuò)大著……我也曾因此杜撰了“阿特伍德定律”:任何可以用JavaScript來(lái)寫(xiě)的應(yīng)用,最終都將用JavaScript來(lái)寫(xiě)。

從工程的角度來(lái)看,用JavaScript來(lái)寫(xiě)Photoshop、Word或Excel毫無(wú)意義。但是,這是不可避免的。這事會(huì)發(fā)生的。實(shí)際上,這事已經(jīng)在發(fā)生了。環(huán)顧一下你的四周吧。

作為一名軟件開(kāi)發(fā)者,最讓我開(kāi)心的是編寫(xiě)有人使用的軟件。如果你的軟件委身于一個(gè)二進(jìn)制的EXE文件,它必須被購(gòu)買(mǎi)、授權(quán)、運(yùn)送、下載、安裝、維護(hù) 和升級(jí),你的技藝又有什么意義呢?考慮到程序員與用戶(hù)之間的所有這些傳統(tǒng)障礙,軟件行業(yè)居然還能生存下來(lái),這真是一個(gè)奇跡!然而,在華麗而嶄新的Web應(yīng) 用世界里,那些制約已經(jīng)不復(fù)存在。邊界沒(méi)有了。軟件可以無(wú)處不在!

Web編程還遠(yuǎn)遠(yuǎn)沒(méi)有達(dá)到***的境地。其實(shí),還有點(diǎn)亂!沒(méi)錯(cuò),隨便會(huì)寫(xiě)點(diǎn)代碼的人就能三下兩下地搞出一個(gè)糟糕的Web應(yīng)用;也確實(shí),99%的Web 應(yīng)用都似狗屎一堆。但是,這也意味著,相當(dāng)“聰明”的程序員們正在將他們的成果展現(xiàn)在成百上千(或者成千上萬(wàn),甚至幾百萬(wàn))的用戶(hù)面前,而這在互聯(lián)網(wǎng)盛行 之前是絕無(wú)可能的。在我看來(lái),讓代碼遭受冷落、讓它們就此孤獨(dú)終老,沒(méi)什么比這更讓人感到悲哀的了!把軟件按照Web應(yīng)用的形式重整一下,即使軟件本身并 不怎么樣,這也使得程序員們能夠把他們的軟件展現(xiàn)在某個(gè)地方的某人面前。

如果受眾面和技藝方面的觀(guān)點(diǎn)不足以說(shuō)服你,那就從商業(yè)的角度來(lái)考慮一下吧。Mark Fletcher曾經(jīng)給出過(guò)一份創(chuàng)業(yè)規(guī)則,其中就有這么一條:

你在做一個(gè)Web應(yīng)用,對(duì)吧?這不是20世紀(jì)80年代了!縱然你的競(jìng)爭(zhēng)對(duì)手把(桌面)應(yīng)用軟件做得別致優(yōu)雅,你那簡(jiǎn)陋而寒酸的Web應(yīng)用也仍然會(huì)比它更加成功。

要不了多久,所有編程都將是Web編程。對(duì)于普通的在職程序員來(lái)說(shuō),如果你不認(rèn)為這是一個(gè)值得慶賀的理由,你也許應(yīng)該轉(zhuǎn)行了。

原文出處: codinghorror   譯文出處: 陸其明(@豆巴陸其明)

責(zé)任編輯:林師授 來(lái)源: 新浪博客
相關(guān)推薦

2010-11-25 09:06:37

Web開(kāi)發(fā)函數(shù)式編程

2017-08-07 15:19:30

編程語(yǔ)言快速

2009-07-29 17:45:09

ibmdwWebREST

2009-07-31 16:26:28

ibmdwREST

2009-11-09 10:43:51

WCF Web編程模型

2023-08-09 08:29:51

SpringWeb編程

2019-04-22 09:58:25

C語(yǔ)言Web操作系統(tǒng)

2024-01-10 09:26:52

Rust所有權(quán)編程

2023-02-15 14:04:35

ChatGPT編程

2015-01-06 09:43:55

編程語(yǔ)言

2010-08-18 09:14:34

編程語(yǔ)言

2013-01-21 13:18:26

IBMdW

2009-05-08 09:32:27

JavaWeb編程框架

2013-02-25 09:31:35

Web編程語(yǔ)言

2017-11-22 08:47:02

2023-01-04 11:40:41

編程語(yǔ)言Web開(kāi)發(fā)

2010-03-03 16:19:29

Python Sock

2021-03-03 12:20:42

網(wǎng)絡(luò)安全DLL編程

2013-04-01 15:38:54

異步編程異步編程模型

2010-11-17 11:31:22

Scala基礎(chǔ)面向?qū)ο?/a>Scala
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)