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

為軟件王國(guó)立法:從硬件產(chǎn)業(yè)的內(nèi)幕說起

原創(chuàng)
開發(fā)
你知道嗎?硬件產(chǎn)業(yè)中有著很多生產(chǎn)中的小秘密。有一個(gè)叫做IEEE的硬件工程師秘密組織掌握著這些秘密,而這個(gè)秘密他們還沒有跟軟件工程師們分享過。這是個(gè)能夠令軟件產(chǎn)業(yè)飛速發(fā)展的秘密,并充分發(fā)揮程序員的聰明和創(chuàng)造性。

51CTO編者注:本文作者Paul Kimmel是codeguru網(wǎng)站上VB Today欄目的專欄作家,有著二十多年的項(xiàng)目經(jīng)驗(yàn),涉及到硬件和軟件的方方面面。Paul這么多年的項(xiàng)目經(jīng)驗(yàn)令他了解到,硬件產(chǎn)業(yè)中有著很多生產(chǎn)中的小秘密,而這些秘密如果跟軟件工程師們分享的話,是會(huì)帶來很多好處的。以下是譯文:

20多年來,我參與過很多的項(xiàng)目。現(xiàn)在,我是一名作者、專欄作家和顧問,從而能夠了解到更多我以前不可能參與的項(xiàng)目。最普遍、顯而易見的一個(gè)現(xiàn)象是,有大量從頭開始開發(fā)的軟件甚至沒來得及面世,就胎死腹中了。就算是那些現(xiàn)在已經(jīng)被用戶使用的軟件,也很少能夠在規(guī)定時(shí)間內(nèi)、嚴(yán)格按照預(yù)算或是預(yù)期的功能,滿足用戶的要求。

傳統(tǒng)觀念一直認(rèn)為軟件工程是很難開展的,每一個(gè)應(yīng)用軟件都是宇宙中全新的一個(gè)創(chuàng)造。所以,它就一直都是這種狀況,并將一直持續(xù)下去。

可悲的是,這種傳統(tǒng)觀念其實(shí)是一個(gè)謬論。

有一個(gè)叫做IEEE的硬件工程師秘密組織,他們有一個(gè)沒有跟軟件工程師分享過的小秘密。這個(gè)秘密就是用戶的權(quán)力、自由和選擇這幾個(gè)因素,必須被去掉。為什么他們沒有把這個(gè)秘密共享出來?因?yàn)榇蠖鄶?shù)的軟件工程師,都沒有通過一個(gè)標(biāo)準(zhǔn)化的測(cè)試,沒有學(xué)到他們的秘密握手(secret handshake),也沒有通過大幅的減薪來表明他們的決心。

不同于其它一些更加開放的組織,IEEE獨(dú)自把持著一些能夠讓軟件產(chǎn)品廉價(jià)、可靠、快速的要訣,而這一切是大多數(shù)軟件項(xiàng)目經(jīng)理做夢(mèng)都想不到的。

二十年行業(yè)經(jīng)驗(yàn)

在過去的20年之中,我一直在為企業(yè)、為程序員們做咨詢和寫作工作。在那一段時(shí)間里,我參與到了一些不需要與電腦直接打交道的項(xiàng)目中。這使我不得不具體地去了解這些不同設(shè)備的硬件規(guī)格,也正因?yàn)槿绱耸梗夷軌蛄私獾接布a(chǎn)中的許多小秘密:設(shè)備制造商很少從零開始制造產(chǎn)品。他們生產(chǎn)的硬件基本都是使用現(xiàn)成的部件進(jìn)行組裝,然后放到個(gè)花哨的盒子里。沒有幾個(gè)用戶會(huì)去研究它的原理,也沒幾個(gè)用戶會(huì)去看這些東西的設(shè)計(jì)藍(lán)圖。最終用戶所知道的是僅僅是這東西很炫,它能做很多工作,可以洗衣服,可以播放音樂,可以錄制電視等等諸如之類。其實(shí)說白了,硬件產(chǎn)品就是一些用了一遍又一遍的零件,只是換了幾個(gè)不同的漂亮盒子而已。

當(dāng)一個(gè)電子工程師(或者其它不是程序員的工程師)從大學(xué)畢業(yè)獲得了工程師學(xué)位之后,他們就加入IEEE(你可以上維基百科查一下IEEE這個(gè)縮寫,不過這并不重要。)(其實(shí)每個(gè)人都可以當(dāng)程序員,心理學(xué)專業(yè)的都可以給編寫代碼。)當(dāng)他們加入到IEEE以后,他們就相當(dāng)于拿到了一個(gè)保證書,確保他們可以拿到不錯(cuò)的薪水;用不著自己去另外創(chuàng)造,因?yàn)橛鞋F(xiàn)成的部件;也用不著白手起家去自己創(chuàng)業(yè)。

一旦這些畢業(yè)生加入IEEE以后,他們就可以領(lǐng)取到一本27頁的小冊(cè)子。這本小冊(cè)子包含了所有被IEEE定義為“可用”的芯片、零件、電阻、電容和電路。將來要用到的部件則必須從這本小冊(cè)子里選取,偶爾也會(huì)有新的東西需要被補(bǔ)充進(jìn)這本小冊(cè)子,但這必須通過高級(jí)委員私下投票決定,隨后每個(gè)從業(yè)者都會(huì)有領(lǐng)到一份新的小冊(cè)子。必須指出的是,只有高級(jí)的IEEE委員才能往這個(gè)“可用”的部件名單里添加內(nèi)容,而且這種機(jī)會(huì)也少之又少。

然而在軟件領(lǐng)域,情況就完全不是這樣了。只要有鍵盤,你就可以發(fā)明新的東西,并通過互聯(lián)網(wǎng)、電子郵件、版本控制系統(tǒng)等,很快讓你的發(fā)明出現(xiàn)在用戶的桌面上。但軟件開發(fā)人員所具備的創(chuàng)造力卻導(dǎo)致了混亂。如果要寫一本軟件開發(fā)的小冊(cè)子的話,那可能27,000,000頁都寫不完。軟件工程的困難之處也正是沒有誰能一錘定音,在開發(fā)過程中人人都有發(fā)言權(quán),而且每個(gè)人都可以各持已見。

硬件產(chǎn)品是如何制造的

51CTO編輯推薦:IT硬件名人堂:40年經(jīng)典產(chǎn)品和背后的故事(組圖)

在設(shè)計(jì)制造硬件時(shí),硬件工程師首先得像做晚餐時(shí)從雞肉、豬肉、牛肉或魚以及一堆蔬菜里選食材一樣,對(duì)相關(guān)的材料進(jìn)行選擇,然后才能組建好硬件。這樣,只要有需要,硬件工程師就能隨時(shí)組裝好成品。

不好意思,或許這個(gè)比喻可能會(huì)讓人犯迷糊,接下來我們?cè)偌?xì)說吧。

硬件工程師有幾點(diǎn)是必須牢記的。首先,他們必須把器件組裝到體積有限的一個(gè)殼子里;其次,他們只有很有限的器件可用;第三,這些器件都要被安裝到花哨的塑料包裝盒里,在電視上或是餐廳里為產(chǎn)品打廣告,人們往往會(huì)被漂亮的外包裝吸引而去購買它。這些漂亮的產(chǎn)品以極快的速度生產(chǎn)和制造出來,以至于IEEE協(xié)會(huì)和制造硬件的工程師們都不再關(guān)心這些硬件系統(tǒng)本身的功能是否完全切中消費(fèi)者的需求。

大規(guī)模生產(chǎn)漂亮硬件產(chǎn)品的關(guān)鍵,其實(shí)就是不要去創(chuàng)造新的部件,即使你用的這個(gè)部件只有百分之一的功能是真正需要的,只要你能按不同的方案重組這些部件,再換個(gè)酷點(diǎn)的包裝(如果可以的話,再把硬件的大小比之前做得小一點(diǎn))就可以做成全新的產(chǎn)品了。(1978年我有一個(gè)可以播放78 RPM的唱片的Zenith 收錄機(jī),可以用來播放音樂。2009年,我又有了一個(gè)很薄的iPod(對(duì)不起了,使用Zune的朋友們),它也只不過是播放音樂。人們只是想出了如何少使用幾種零件,但是其實(shí)這些零件大部分1978年的時(shí)候就已經(jīng)有了。

軟件是如何開發(fā)出來的

繼續(xù)我那個(gè)做飯的比喻。相比硬件開發(fā),在軟件開發(fā)時(shí),可能每個(gè)工程師都會(huì)有種饑餓感,那種感覺就像是埃塞俄比亞大饑荒,找不到現(xiàn)成可用的部件。沒有魚、豬肉、牛肉、雞肉和蔬菜這些食材,也沒有廚房、沒有器具,甚至可能連吃飯的時(shí)間都沒有定下來。而在吃飯的時(shí)間內(nèi),工程師們還在討論分子是如何構(gòu)成蛋白質(zhì)。(說了這么多,我不餓都不行了。)

其實(shí),目前的這種狀況,真的不是程序員的過錯(cuò)。程序員是聰明而富有創(chuàng)造性的,只不過他們?nèi)狈σ粋€(gè)可以控制他們的人,或者所謂“大祭司”。程序員有點(diǎn)像是在一個(gè)沒有法律、誰吼得大聲誰就贏的國(guó)度里干活,每個(gè)人有太多的自主權(quán),結(jié)果聰明反被聰明誤。比如51CTO之前發(fā)表過的從菜鳥到大師,細(xì)看程序員的五種層次一文中也說道,90%的代碼是由10%的程序員寫出來的。這一方面說明大師級(jí)程序員的重要性,但對(duì)于軟件產(chǎn)業(yè)而言,卻未必是一件好事。

真理就是……

軟件開發(fā)最終也還是會(huì)變成現(xiàn)成組件的拼裝。不同派別的程序員不用再問自己:我應(yīng)該使用ADO.NET、SQL、LINQ、XPO,還是其他方法來對(duì)數(shù)據(jù)庫進(jìn)行插入和讀出操作。到那時(shí),會(huì)有一個(gè)統(tǒng)一的數(shù)據(jù)庫操作層供所有這些人調(diào)用。這樣,我們的選擇范圍就可以縮小一些,也能夠接受比原來較少的薪酬。向我們軟件工程里的大祭司們起誓保守秘密吧,從此軟件項(xiàng)目就變成了組裝活,不會(huì)再出現(xiàn)失敗的情況。難道不能這樣嗎?

與此同時(shí),盡量用現(xiàn)成的代碼去編寫程序,盡量用已知的、夠用的技術(shù)來實(shí)現(xiàn)所需的功能,不用管它是否會(huì)帶進(jìn)很多不需要的功能從而把整個(gè)程序弄得一團(tuán)糟。還可以再換上幾個(gè)漂亮點(diǎn)的界面,這樣就能很容易做出了一堆很酷的新軟件。

原文:Hardware’s Dirty Little Secret, or Why Software Can be Mass Produced

作者:Paul Kimmel

【編輯推薦】

  1. 從菜鳥到大師,細(xì)看程序員的五種層次
  2. 程序員,你修煉到了第幾層?從中學(xué)生到CEO的演化史
  3. TopCoder國(guó)際編程大賽 中國(guó)程序員奪冠
  4. 09年程序員數(shù)量明顯下降 應(yīng)用程序數(shù)量反大增
  5. 哪種程序員最幸福?編程語言快樂指數(shù)榜
責(zé)任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2024-11-08 14:14:24

2011-12-15 22:13:30

手機(jī)平板電腦移動(dòng)互聯(lián)

2024-05-07 14:01:53

2013-04-17 10:55:34

虛擬化

2024-06-28 09:25:51

2022-02-07 14:27:19

虛擬貨幣加密貨幣支付

2021-01-05 17:57:47

物聯(lián)網(wǎng)安全

2010-09-16 10:46:47

2011-11-28 10:10:24

手機(jī)手機(jī)設(shè)計(jì)

2013-04-17 15:52:46

H3CSDN

2013-05-10 09:49:51

軟件軟件專利專利保護(hù)

2012-12-24 22:58:07

測(cè)試網(wǎng)絡(luò)測(cè)試

2018-02-27 12:41:21

Serverless邊緣計(jì)算存儲(chǔ)

2012-03-19 21:06:52

Android

2010-05-05 09:52:06

Unix BSD

2010-05-24 17:23:41

Linux SNMP

2021-03-17 09:51:31

網(wǎng)絡(luò)編程TCP網(wǎng)絡(luò)協(xié)議

2018-11-30 11:19:02

DNS根服務(wù)器網(wǎng)絡(luò)

2010-11-24 11:15:40

Qualcomm實(shí)施云計(jì)算

2022-07-04 14:41:42

TikTok數(shù)據(jù)安全
點(diǎn)贊
收藏

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