• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            longshanks

              C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              14 Posts :: 0 Stories :: 214 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(10)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

                根據(jù)觀察,我發(fā)現(xiàn)有兩類程序員。一類程序員喜歡技術,會認認真真地學習一種語言,設法掌握語言的使用要領和方法。他們關心的是語言的功能,以及功能的運用。對于語言的缺陷有相當?shù)娜萑潭龋⑶乙矘芬饨邮苷Z言的缺陷,只要語言能夠提供足夠強大的功能。
                另一類程序員則相反,他們更側重于用語言實現(xiàn)某些具體的業(yè)務。對于他們而言,語言的功能強大與否沒什么關系,只要別妨礙他們在軟件中實現(xiàn)業(yè)務。
            對于前者,語言的功能至關重要。他們需要一種語言幫助他們最大限度地發(fā)揮智慧和創(chuàng)造力,更快、更好、更高效地構造穩(wěn)定、可靠、快速、可擴展、可復用的軟件
            而對于后者,語言的簡單至關重要。他們需要一種語言幫助他們最大限度地發(fā)揮智慧和創(chuàng)造力,更快、更好、更高效地將業(yè)務轉變成軟件的功能
                如果認同一類程序員,而貶損另一類,那就太狹隘了。這兩種程序員對于軟件開發(fā)而言,都有各自重要的地位。更重要的是,這兩類程序員是互補的。前者的能力適合開發(fā)可擴展的基礎服務和組件,他們是技術專家。而后者則恰好符合業(yè)務實現(xiàn)專家的特征。
                然而,我們傳統(tǒng)的組織形式卻將這兩類程序員壓縮在一個共同的空間中執(zhí)行開發(fā)工作。也就是讓他們使用同一種(或同一層次的)語言和技術開發(fā)軟件。
                現(xiàn)在的麻煩是,沒有哪一種語言既簡單、方便,又功能強大。如果選用功能強大的語言,比如C++,那么技術專家滿意了,他們構造出漂亮優(yōu)雅的軟件。但對業(yè)務 專家是個災難。他們發(fā)現(xiàn)自己已經不知不覺地陷入了語言復雜性的泥潭,而艱難地試圖抓住業(yè)務功能的枝干。而反之,選用使用方便,但功能弱小的語言,對于業(yè)專 家是個福音,他們可以專注于業(yè)務實現(xiàn),心滿意足地完成工作。但技術專家卻無法按他們的想法達到諸多技術性和軟件工程性的要求,比如性能、可維護性、擴展性 等等。
               最終,多數(shù)企業(yè)會選擇一種“中性”的語言,功能基本完備,但不很強大,學習和使用相對簡單,但又不是最簡單的。這樣的折中一般會基本“擺平”這兩類程序 員,但也有很多時候讓兩類程序員都不滿意。大多數(shù)情況下,即便兩類程序員都滿意了,卻在客觀上使得兩類程序員都無法發(fā)揮最大的工作效率,從而無法使開發(fā)效 率最大化、最優(yōu)化。

               解決這類問題最直接的方法就是讓這兩類程序員使用各自適合的語言,在各自擅長的領域開發(fā)軟件。技術專家使用C++之類功能強大,卻不易掌握的語言,而業(yè)務 專家則使用簡單易用的語言,比如腳本語言、宏語言,甚至是某種特定用途的專用語言(DSL)。技術專家開發(fā)基礎服務平臺和組件,業(yè)務專家則運用簡易的語言 使用基礎服務和功能,構建業(yè)務系統(tǒng)。這種優(yōu)化組合往往會產生1+1>2的效果。

                對于語言的選擇,技術專家無外乎C++、Ada之類的“全能”通用語言,新興的D也可能成為更加適合的候選人。業(yè)務專家,可以使用腳本語言,如 python、ruby、javascript等等“粘合劑”語言。目前尚有一種新的發(fā)展方向,是運用專門的專用領域語言(DSL)。這類語言可以非常貼 近業(yè)務領域的邏輯概念,語法不一定完備,但足以完成特定的業(yè)務工作。比如某種“記賬”語言,就可以用來構造財務軟件的業(yè)務邏輯,直接使用財務術語和概念, 最大可能地消除與業(yè)務無關的語言要素,達到最簡化的目的。

                這兩類程序員的差異不一定是先天造成的,但這種差異足以對傳統(tǒng)的軟件開發(fā)組織形式提出挑戰(zhàn)。因此,當我們在抱怨一門語言如何如何功能不濟,或者如何如何復雜難用,那么請審視一下開發(fā)體系,或許一種語言已經被用在不適合的程序員,以及不該用的地方了。

            posted on 2007-11-22 09:56 longshanks 閱讀(2995) 評論(13)  編輯 收藏 引用

            Feedback

            # re: 兩類程序員 2007-11-22 10:24 西門有悔
            呵呵。比較贊同。

            我感覺自己屬于后者。因為我不是學計算機的。

            我更樂意用MATLAB這樣的科學計算軟件來表達我的思想。  回復  更多評論
              

            # re: 兩類程序員 2007-11-22 15:24 <a href=http://minidx.com>minidxer</a>
            這個……應該一般公司都會區(qū)分的吧。搞研發(fā)的和作業(yè)務的  回復  更多評論
              

            # re: 兩類程序員 2007-11-22 18:42 Ray
            嗯,觀點不錯,但有待推敲,

            不過,這個是博主的原創(chuàng)嗎?為什么提到Ada?
            還有,為什么提到腳本語言卻選擇了最復雜的幾種腳本語言啊?  回復  更多評論
              

            # re: 兩類程序員 2007-11-22 23:55 Guonic
            我絕對屬于前者   回復  更多評論
              

            # re: 兩類程序員 2007-11-23 09:38 金慶
            精通C++,再掌握一兩門腳本,那不就好了?  回復  更多評論
              

            # re: 兩類程序員 2007-11-23 11:46
            ada是個好東西.  回復  更多評論
              

            # re: 兩類程序員 2007-11-23 16:20 Corner Zhang
            :) 精通C/C++,匯編,及它們的熟練運用,對現(xiàn)代計算機體系就夠相當?shù)牧私?
            on loading...  回復  更多評論
              

            # re: 兩類程序員 2007-11-24 16:16 oomusou
            寫得極好
            我也正有此想法

            業(yè)務語言的代表應該是matlab,一個很簡單的語言,但卻非常的強大,這種語言的強大主要是靠library在強

            另外一種業(yè)務語言的代表就是Verilog,IC design全靠這種

            其實還有一種中間的語言: C#
            要強沒C#那麼強,但也有八九分,但.net framework超強,憑藉著這個強有力的library做很多業(yè)務都很簡單,windows, web, embedded, office....可以寫一堆東西...

            沒吹捧C#的意思,只是我覺得大概可以分三類而已
            1.C++ 超強語言
            2.C# 語言還可以,某些領域還不錯
            3.matlab, VFP, Verilog...語言不強,但專屬領域超強

              回復  更多評論
              

            # re: 兩類程序員 2007-11-25 10:04 李亞
            屬于前者...
            個人覺得自己比較懶的原因讓自己成為前者...  回復  更多評論
              

            # re: 兩類程序員 2007-11-26 12:21 小名阿鐵
            樓主的觀點和我之前向的很是相同.
            一種面向底層(實現(xiàn)),一種面向服務(基礎).
            他們都是平等的,都是對社會有貢獻的.
            所以無論干什么(底,高)層,程序員都是平等的.  回復  更多評論
              

            # re: 兩類程序員 2007-11-26 15:29 @王一偉
            來這里的都會選前者的

            每種程序員的競爭力核心不一樣,不能只狹隘的吧所有的東西歸結到程序語言本身上。

            很少有人的工作是完全純凈的某一個狹小的領域的,混合型工作是工作的主流,各個層面工作的比例不同造就了我們在這里討論的幾種程序員的工作重心不一樣,核心競爭力也就不一樣 呵呵  回復  更多評論
              

            # re: 兩類程序員 2007-12-19 21:30 ffl
            個人超喜歡C++,sheme,ruby,matlab。  回復  更多評論
              

            # re: 兩類程序員 2008-01-07 10:52 kong
            同意樓主的劃分。
            個人觀點是:在這個產業(yè)鏈里面其實是很復雜的,開發(fā)企業(yè)應用的話,第一類人就是處于產業(yè)鏈的上游,用來開發(fā)核心庫,IDE ,組件,等等,而這類人是瞧不起產業(yè)鏈下游的人的,這個大家都知道,《程序開發(fā)心理學》里面也提到了這點,試想,使用自己開發(fā)的庫的人是滿足自己虛榮心理的。。。

            第一類人喜歡純凈的工作,所以多呆在研究院,基礎平臺開發(fā),預研等地方,或是做網站開發(fā)(yahoo,baidu之類的),不喜歡把自己的精力投到過多的業(yè)務邏輯上面,這樣感覺很沒趣味,這便是技術型主導的人。

            第二類人是對問題并不想透徹了解的人,而業(yè)務很容易掌握,所以就投身到開發(fā)上面去了。
            真正的懶人是第一種,對繁瑣的業(yè)務邏輯不關心也不感興趣,對更改業(yè)務而更改代碼實在不感興趣,他只需了解技術核心就夠了,純技術的公司也是有不少的。

              回復  更多評論
              

            久久久久亚洲av无码专区| 欧洲人妻丰满av无码久久不卡| 久久亚洲电影| 一级女性全黄久久生活片免费 | 精品一区二区久久| 国产99久久久国产精免费| 久久久黄色大片| 国产国产成人精品久久| 性做久久久久久免费观看| 国产一区二区精品久久| 国产综合免费精品久久久| 国产亚洲欧美成人久久片| 久久久久国产| 久久综合狠狠综合久久97色| 久久久久亚洲av无码专区导航| 品成人欧美大片久久国产欧美... 品成人欧美大片久久国产欧美 | 亚洲国产欧美国产综合久久| 久久香蕉一级毛片| 精品久久久久久久久午夜福利| 久久香综合精品久久伊人| 久久无码一区二区三区少妇| 久久婷婷五月综合97色一本一本| 欧美日韩中文字幕久久久不卡 | 少妇高潮惨叫久久久久久| 久久青青草原精品国产不卡| 国产精品青草久久久久婷婷| 久久婷婷五月综合97色直播| 狠狠色丁香久久婷婷综合| 综合人妻久久一区二区精品| 久久性精品| 久久精品成人一区二区三区| 国产2021久久精品| 色综合久久中文综合网| 久久精品国产亚洲综合色| 99久久精品国内| 97久久天天综合色天天综合色hd | 精品无码久久久久久午夜| 欧美噜噜久久久XXX| 91精品国产乱码久久久久久| 久久久久久无码Av成人影院| 久久精品国产99国产电影网 |