新聞中心
近幾年來(lái),科技行業(yè)有強(qiáng)烈的愿景去教會(huì)所有人編程。

為鼓樓等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及鼓樓網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站建設(shè)、鼓樓網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
“所有學(xué)校的每一個(gè)學(xué)生都應(yīng)該有機(jī)會(huì)學(xué)習(xí)計(jì)算機(jī)科學(xué)”——CODE.ORG
每個(gè)人都應(yīng)該有學(xué)習(xí)計(jì)算機(jī)科學(xué)的機(jī)會(huì)。對(duì)計(jì)算的理解,可以改變你的思考方式,并且它直接給你驚人力量去實(shí)現(xiàn)自己的創(chuàng)意。理解一些概念比如抽象、耦合、普適、復(fù)雜度以及伸縮,能夠改變你思考以及定位問(wèn)題的方式。運(yùn)用通用性的編程工具改變你解決問(wèn)題的方式。
自農(nóng)業(yè)之后,現(xiàn)在軟件比任何其它技術(shù)都更劇烈,更快地改變著世界。不管是在科技行業(yè)還是其他行業(yè),現(xiàn)在它都是業(yè)務(wù)增長(zhǎng)和創(chuàng)新的核心,并且快速改變著 人們的生活方式。軟件已經(jīng)主導(dǎo)了我們獲取知識(shí),存儲(chǔ)及處理信息,發(fā)布及接收多媒體,處理商業(yè)事務(wù),和朋友、同事、社區(qū)溝通的方式。世界上最大的圖書(shū)銷(xiāo)售商 和最大的視頻服務(wù)商都是軟件公司;主要的幾家音樂(lè)公司也是軟件公司;增長(zhǎng)最快的娛樂(lè)公司和電信公司還是軟件公司。那些非軟件公司正越來(lái)越多的依賴(lài)軟件來(lái)優(yōu) 化物流、供應(yīng)鏈、生產(chǎn)流程,和廣告,亦或提供工具給員工去創(chuàng)造更多的價(jià)值。軟件來(lái)到了這樣的一個(gè)臨界點(diǎn),改變我們教授和學(xué)習(xí)知識(shí),借款和貸款,了解和關(guān)心 健康,搜索和消費(fèi)各種服務(wù)的方式。
盡管軟件給我們的生活帶來(lái)了空前的變革,但總有一天,編程將會(huì)變少。對(duì)編程的狂熱以及編程的增長(zhǎng)都是暫時(shí)的,編程是眾多工具的產(chǎn)物?,F(xiàn)在編程是實(shí)現(xiàn) 計(jì)算最好的技術(shù),但是編程自身并不是計(jì)算機(jī)科學(xué)的必要部分。計(jì)算就是處理數(shù)據(jù)并通過(guò)一些算法來(lái)解決問(wèn)題。當(dāng)前編程是我們不二的選擇,但是我們必須創(chuàng)造更好 的工具。將來(lái)一天,不需要寫(xiě)一行代碼就可以處理數(shù)據(jù)以及驅(qū)動(dòng)算法將變得習(xí)以為常。我已經(jīng)迫不及待了。
編程是一項(xiàng)非常專(zhuān)業(yè)化的技能。處理復(fù)雜問(wèn)題自然地是困難的,作為一個(gè)程序員,我經(jīng)常寫(xiě)程序解決各種復(fù)雜度的問(wèn)題。我對(duì)那些非程序員用來(lái)處理簡(jiǎn)單自動(dòng) 化任務(wù)的技術(shù)懷有敬畏之心。我有幸接觸過(guò)一個(gè)邏輯及語(yǔ)言工具,在我腦中模擬一臺(tái)電腦并通過(guò)有著怪異規(guī)則的不常見(jiàn)的語(yǔ)言和它溝通(我不太善于模擬人)。很多 人并不適合編程,但大多數(shù)人還是需要解決復(fù)雜問(wèn)題所帶來(lái)的好處。編程相關(guān)的工具及方法使得通過(guò)編程解決問(wèn)題復(fù)雜化,會(huì)把我們大多數(shù)人擋在通過(guò)計(jì)算解決問(wèn)題 的大門(mén)之外。編程并不容易學(xué)習(xí),并且和人們所希望解決的問(wèn)題也無(wú)多大關(guān)系。人們不應(yīng)該非得通過(guò)編程才能運(yùn)用軟件來(lái)解決問(wèn)題。有那么幾個(gè)工具,我認(rèn)為能夠給非程序員帶來(lái)像編程一樣解決問(wèn)題的能力。
計(jì)算器
自上世紀(jì)70年代推出便攜式計(jì)算器以來(lái),計(jì)算器已經(jīng)發(fā)展了很多??删幊痰挠?jì)算器讓科學(xué)家和工程師能夠解決一些比 普通算術(shù)更復(fù)雜的問(wèn)題(盡管他們可能使用了一些代碼)。圖形化的計(jì)算器幫助他們直觀的理解計(jì)算結(jié)果。自從個(gè)人電腦和筆記本電腦流行以來(lái),軟件化的計(jì)算器界 面已經(jīng)朝著展示用戶所處理問(wèn)題的方向發(fā)展著,而不是不合潮流的累加風(fēng)格實(shí)現(xiàn)方式(一次性從左到右敲一整行的表達(dá)式,而不是每次一個(gè)數(shù)據(jù)項(xiàng)目,一個(gè)操作符, 來(lái)來(lái)回回多次)。創(chuàng)新的設(shè)計(jì)(如Soulver和 Calca)把計(jì)算器內(nèi)嵌其中,并在界面顯示工作狀態(tài),提供改變輸入?yún)?shù)及實(shí)時(shí)查看結(jié)果的能力。
電子表格
電子表格有30來(lái)年的歷史了,但是依然像受書(shū)啟發(fā)而發(fā)明的老祖先一樣基礎(chǔ)和重要。它依然最重要的輕量級(jí)記賬工 具,并且證明是一個(gè)通用的計(jì)算和建模工具,同樣也善于展示表格式的數(shù)據(jù)。表格格式如今依然足夠通用,并可分飾多角,實(shí)時(shí)重算功能有助于問(wèn)題的拆分處理。許 多和數(shù)據(jù)打交道的人有高超的電子表格技術(shù),他們能夠做一些非常非常瘋狂的作品。 更復(fù)雜的,電子表格可以用來(lái)存儲(chǔ)和研究數(shù)據(jù)(特別是數(shù)據(jù)透視表出現(xiàn)之后),幫助人們開(kāi)發(fā)和計(jì)算復(fù)雜的多變量的表達(dá)式,探索模擬和假設(shè)的場(chǎng)景,并實(shí)時(shí)呈現(xiàn)結(jié) 果。電子表格是一個(gè)通用的工具,能做遠(yuǎn)超當(dāng)初電子表格作者能夠想象的事情。從某種程度上來(lái)說(shuō),它非常接近于人們使用的編程工具。
不過(guò)電子表格也有不足之處,特別是以今天對(duì)用戶界面以及處理能力的標(biāo)準(zhǔn)來(lái)看。它在處理多維數(shù)據(jù)的時(shí)候就會(huì)顯得力有不及,你得提前決定維度,否則需要 從頭開(kāi)始??梢酝ㄟ^(guò)使用多個(gè)連續(xù)的單元格以及重復(fù)交叉計(jì)算,來(lái)粗略模擬矢量和并行計(jì)算,但是它們并不能理解你的數(shù)據(jù)模型,也就沒(méi)有能力提供更多的幫助。電 子表格把扁平化二維表格數(shù)據(jù)視圖界面與數(shù)據(jù)本身和計(jì)算數(shù)據(jù)的公式合在一起。字母數(shù)字單元格的地址是不透明且易變動(dòng)的,移動(dòng)數(shù)據(jù)或者改變布局都有可能破壞其 他的單元格或者影響計(jì)算結(jié)果。公式是隱藏起來(lái)的且難以驗(yàn)證其正確性,如果你不是原作者,甚至理解其功能也很困難。
80年代中期有幾個(gè)電子表格項(xiàng)目嘗試解決其中的一些缺點(diǎn),特別是把數(shù)據(jù)與表格化顯示剝離開(kāi)來(lái)。比如 Javelin、Trapeze 以及Lotus Improv,不過(guò)它們已經(jīng)消失在我們的視線中很久了,遺憾的是在軟件市場(chǎng)上并沒(méi)有再看到類(lèi)似的軟件。
個(gè)人數(shù)據(jù)庫(kù)
當(dāng)你在處理復(fù)雜或者多維的數(shù)據(jù)時(shí),有時(shí)候電子表格解決不了問(wèn)題。對(duì)于大部分人們想解決的問(wèn)題,對(duì)數(shù)據(jù)的操作、查 詢(xún)和統(tǒng)計(jì)都是必要的。但是不像電子表格,令我印象深刻的是過(guò)去幾十年間個(gè)人數(shù)據(jù)庫(kù)的受歡迎程度大大降低。個(gè)人數(shù)據(jù)庫(kù)不再流行了嗎?還是說(shuō)現(xiàn)在的我和大家不 在同一個(gè)圈子里面?可能是由于程序員不鼓勵(lì)大家使用個(gè)人數(shù)據(jù)庫(kù)吧,依”專(zhuān)家”的意見(jiàn)。還記得大學(xué)時(shí)候討厭MS Access,實(shí)在是不屑于鼠標(biāo)點(diǎn)點(diǎn)就能構(gòu)建查詢(xún)那些小技能,我是幼稚的,癡迷于SQL的強(qiáng)大能力。我們應(yīng)該把個(gè)人數(shù)據(jù)庫(kù)的功能都教給大家,而不是教大家 編程,至少也應(yīng)該排到編程之前。
我最近發(fā)現(xiàn)MS Access可以很好的用來(lái)開(kāi)發(fā)增刪改查的應(yīng)用,F(xiàn)ilemaker也類(lèi)似。等下次我想構(gòu)建一個(gè)大數(shù)據(jù)量的應(yīng)用的時(shí)候我倒是非常有興趣試試Zoho Creator。盡管這些軟件都發(fā)展了很多,但是如要構(gòu)建真正的應(yīng)用它們還是顯得不夠靈活,僅僅能處理一些簡(jiǎn)單的表單和視圖。
還有好幾個(gè)特定的領(lǐng)域,非程序員也有工具來(lái)處理類(lèi)似編程能夠處理的事情,但只需很少的代碼。游戲開(kāi)發(fā)就是一個(gè)很好的例子,游戲是提供特殊交互的計(jì)算 機(jī)程序。游戲通常是復(fù)雜的程序,由用戶界面主導(dǎo),但是游戲開(kāi)發(fā)項(xiàng)目組卻由美工和設(shè)計(jì)師主導(dǎo),而不是程序員(視游戲需求而定)。美工和設(shè)計(jì)師使用程序員開(kāi)發(fā) 出來(lái)的工具實(shí)現(xiàn)很大部分游戲包含的內(nèi)容,如美術(shù),結(jié)構(gòu),地圖,模型,動(dòng)畫(huà),情節(jié),關(guān)卡設(shè)計(jì),迷宮,對(duì)話,故事。假設(shè)這樣的一個(gè)流程,關(guān)卡設(shè)計(jì)師提供圖紙和 寫(xiě)好的規(guī)則讓程序員用代碼來(lái)實(shí)現(xiàn),一遍遍的重復(fù)相同的流程直到關(guān)卡設(shè)計(jì)師滿意為止,看起來(lái)很冗繁(當(dāng)前大部分的應(yīng)用用戶界面都是這樣實(shí)現(xiàn)的)。游戲領(lǐng)域不 是這樣的,程序員先開(kāi)發(fā)游戲引擎和關(guān)卡設(shè)計(jì)工具,然后設(shè)計(jì)師就可以在一個(gè)非常接近真實(shí)游戲的環(huán)境里面設(shè)計(jì),并能夠?qū)崟r(shí)地把設(shè)計(jì)裝載到游戲引擎中運(yùn)行起來(lái)。
遺憾的是現(xiàn)在的界面設(shè)計(jì)工具不適合非編程人員使用,甚至是很多程序員。自鼠標(biāo)發(fā)明以來(lái),鼠標(biāo)點(diǎn)來(lái)點(diǎn)去這樣的小伎倆是被“真正的”程序員輕視的,就像 匯編程序員看不起早期的Fortran擁護(hù)者,C程序員看不起Java程序員,Vi/Emacs用戶看不起依賴(lài)IDE開(kāi)發(fā)的程序員一樣。那些已經(jīng)掌握高難 度工具或者流程的人總是很難接受新的更強(qiáng)大的事物。
長(zhǎng)時(shí)間以來(lái),GUI的構(gòu)建工具就是一坨屎,現(xiàn)在依然是。它們通常只是簡(jiǎn)單的顯示將要實(shí)現(xiàn)的界面效果,一方面不足夠強(qiáng)大使得程序員可以用它實(shí)現(xiàn)他們所 想要實(shí)現(xiàn)的功能,另外一方面又復(fù)雜且充斥著各種編程概念,使得非程序員難以使用。程序員自然而然地回歸到編寫(xiě)代碼實(shí)現(xiàn)界面的方式,因?yàn)樗麄冃枰鲆恍┕ぞ?做不到的事情。這樣做是錯(cuò)誤的,雖然可以理解。代碼帶來(lái)一個(gè)視覺(jué)概念與思維方式的不一致的嚴(yán)重問(wèn)題,特別是代碼是過(guò)程式的,如果是申明式的還好些,你構(gòu)建 你正設(shè)計(jì)的界面。重新編譯、發(fā)布并檢查界面變動(dòng)實(shí)在是一個(gè)漫長(zhǎng)的開(kāi)發(fā)過(guò)程。我完全理解這種做法,但是設(shè)計(jì)師在Photoshop設(shè)計(jì)好作品,然后讓程序員 用代碼再次從頭開(kāi)始實(shí)現(xiàn)作品實(shí)在是一個(gè)人力的極大浪費(fèi)。我們的GUI工具必須得提高,使得設(shè)計(jì)師設(shè)計(jì)GUI界面,隨后程序員來(lái)接管界面與后臺(tái)的交互(Spark Inspector和Reveal預(yù)示未來(lái))。
其它一些提供給非程序員類(lèi)編程能力的有批處理器(如Photoshop),多節(jié)點(diǎn)且分層的合成工具(如Shake、 Blender),蘋(píng)果公司多節(jié)點(diǎn)圖片處理以及顯示工具Quartz Composer,為Mac OS錄制腳本的Automator,用于科學(xué)和工程設(shè)計(jì)分析的Mathematica、Matlab、和LabVIEW,收集聚合互聯(lián)網(wǎng)內(nèi)容及API數(shù)據(jù)的Yahoo! Pipes和IFTTT,內(nèi)容管理和展示工具wikis。特別值得一提的是HyperCard(1987-2000),迄今為止最有影響力的應(yīng)用設(shè)計(jì)環(huán)境。我依然清晰的記得遠(yuǎn)在掌握編程的基礎(chǔ)概念之前就能夠構(gòu)建棧及寫(xiě)HyperTalk代碼。我做了一些自己覺(jué)得驕傲的事情,看到我們和父輩(在計(jì)算機(jī)出現(xiàn)之前接受的教育)做相同的事情。如果你錯(cuò)過(guò)了,請(qǐng)讀一讀reminiscence。超鏈接、互聯(lián)網(wǎng)、wikis,都繼承于HyperCard,LiveCode也是其中一個(gè)分支。
因此我們有應(yīng)用于數(shù)學(xué)的分析及計(jì)算工具,糟糕的用戶界面設(shè)計(jì)器,以及用于游戲、圖形、黑客的特定領(lǐng)域工具。下一代能夠讓程序員和非程序員都不用寫(xiě)代 碼就能完成應(yīng)用功能的產(chǎn)品應(yīng)該快速的增長(zhǎng),他們不幫你寫(xiě)代碼,只是使得寫(xiě)代碼不再必要。我希望這樣的工具趕快出現(xiàn),完成那些現(xiàn)在用編寫(xiě)代碼方式實(shí)現(xiàn)的功 能,讓大家都能夠構(gòu)建各種有用、高質(zhì)量的應(yīng)用。特別地,我們將達(dá)到一個(gè)更高的境界,這些工具有自我改進(jìn)功能,非程序員可以用工具構(gòu)建出新的工具,從而構(gòu)建 更多的應(yīng)用,包括更出色的工具。
那些六位數(shù)的工程師并不認(rèn)為把Photoshop作品與一些指令合起來(lái)構(gòu)建一個(gè)可用的用戶界面是一件浪費(fèi)時(shí)間的事情,從這可以看出解決此類(lèi)問(wèn)題有很重要的意義。如果你碰巧是一個(gè)程序員且我的言論讓你感覺(jué)不快,請(qǐng)想想如果你不再需要花一半的時(shí)間去把PSD轉(zhuǎn)化為HTML, 你將能夠創(chuàng)造多少更多的價(jià)值。是的,我知道前端開(kāi)發(fā)并不容易,它確實(shí)很復(fù)雜。但是絕大多數(shù)的復(fù)雜性都是由我們所使用的工具引起的,而這些工具并不是解決問(wèn) 題所必需的。高深的軟件工程技能和晦澀難懂的業(yè)務(wù)知識(shí)顯得如此重要,那是因?yàn)闃?gòu)建一個(gè)用戶界面需要幾千行的代碼。如果有一天不再需要那么麻煩,你就可以把 你的聰明才智用到更有意義的事情上面。
以前那些嘗試幫助非程序員寫(xiě)代碼的項(xiàng)目大多都不成功,尤其是通用型的那種。感謝現(xiàn)在正使用我們的界面并提出改進(jìn)建議的數(shù)十億的用戶,最近從他們那里 我們學(xué)習(xí)到了很多關(guān)于用戶界面的東西。開(kāi)發(fā)創(chuàng)建型工具的挑戰(zhàn)在于提供用戶一個(gè)功能強(qiáng)大的界面但又不能復(fù)雜得讓用戶不知所措。然而在任何領(lǐng)域都有那么一些專(zhuān) 家在攻克不可能與簡(jiǎn)單之間的壁壘,就像工具能夠讓曾經(jīng)要求專(zhuān)業(yè)知識(shí)和技能的人才能完成的事情變得普通人也能夠處理一樣。我們見(jiàn)證了業(yè)余的音樂(lè)和視頻在數(shù)量 和質(zhì)量上的爆發(fā)式增長(zhǎng),這都得益于生產(chǎn)音樂(lè)和視頻的工具變得如此的好,如此的簡(jiǎn)單,如此的便宜。隨著我們?cè)O(shè)計(jì)復(fù)雜業(yè)務(wù)界面的能力提高,我們將構(gòu)建出更好更 簡(jiǎn)單的可以讓非程序員也能設(shè)計(jì)和實(shí)現(xiàn)更多軟件的工具,我對(duì)此表示樂(lè)觀。在這個(gè)過(guò)程中,有些人可能成為發(fā)展的奠基者,但更多的人只需要使用工具來(lái)幫他們完成 工作。
程序員總是傾向于為程序員開(kāi)發(fā)工具。為擁有較高專(zhuān)業(yè)技能的用戶開(kāi)發(fā)工具確實(shí)是件更容易的事情。但是非程序員能夠使用的工具也能夠?yàn)槌绦騿T提供幫助。 減少對(duì)駕馭計(jì)算的認(rèn)知壓力,將有利于程序員騰出更多的時(shí)間和精力去更快地解決更多的復(fù)雜問(wèn)題。像虛擬世界里的成功員工一樣,能夠處理一些份外之事。我們依 然需要程序員,經(jīng)驗(yàn)豐富的工程師以及充滿創(chuàng)造力的問(wèn)題建模、算法和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、難關(guān)攻克、流程管理相關(guān)的實(shí)踐者。但他們會(huì)像今天的農(nóng)民一樣,只占總?cè)丝?的一小部分,足以支撐全民的食物供給。
一個(gè)人人會(huì)編程的未來(lái)固然是好的,但現(xiàn)在代碼只是駕馭計(jì)算的一個(gè)方法而已。當(dāng)我們的技術(shù)達(dá)到每個(gè)人都擁有用來(lái)思考和創(chuàng)造的工具并且很少需要編碼的時(shí)候,我們將能更好去攻克一些社會(huì)性的難題。程序員們現(xiàn)在就可以去構(gòu)建那個(gè)技術(shù)了。
教會(huì)更多的人寫(xiě)代碼是偉大的進(jìn)步,但一個(gè)很少需要寫(xiě)代碼的未來(lái)會(huì)更好。
原文鏈接:http://alexn.id.au/2013/10/30/the-end-of-coding/
譯文鏈接:http://blog.jobbole.com/51168/
新聞標(biāo)題:真的需要一個(gè)人人都會(huì)編程的未來(lái)么?
標(biāo)題網(wǎng)址:http://m.5511xx.com/article/cogpijd.html


咨詢(xún)
建站咨詢(xún)
