導航:首頁 > 程序命令 > 程序員門派

程序員門派

發布時間:2025-07-29 17:39:38

㈠ 給程序員同學的喝茶建議

字數1500 預計閱讀時間5分鍾

程序員界有一句特別牛的話,叫
"Write the code . Change the world"
現實世界中還有一個與程序員同學日常生活息息相關的詞叫"996"

什麼是996呢?它是指從早上九點工作到晚上九點,一個星期工作六天。光看這個解釋,就感覺到工作強度大了吧。而實際情況是,大部分程序員的工作時長比996更長,加班到凌晨一兩點,是家常便飯,偶爾還要通宵加個班。

除了工作時間長以外,程序員同時還要面對比較大的工作壓力。因為他們經常會面臨項目周期的壓縮和項目需求的變化。除此以外還經常需要處理很多突發的問題,可以說身心都處在高強度之中。同時因為工作環境的原因,程序員每天還要面對電腦的輻射。

有些同學為了提神選擇了喝咖啡或者喝茶。另外有些同學提神的同時還想要養生就選擇了只喝茶。中國可是茶之大國,茶的選擇是多種多樣的,不像國外的選擇很單一,例如歐美主要是紅茶,日本主要是綠茶。中國的六大茶類就像六大門派一樣,個個出類拔萃。

那我們程序員同學該喝什麼茶呢?

就提神來這一效果說,茶葉和咖啡能提神,都是因為咖啡因在起作用。咖啡因有個特點是它帶給我們的口感是苦的。我們所有的茶葉裡面都含有咖啡因,所以基本上所有的茶都是可以提神的。

那想要提神效果好,該喝什麼茶呢?就實際效果來說綠茶的提神效果是比較好的。

那想要提神效果特別好,該如何選擇呢?從理論上講,咖啡因含量越高的茶,提神的效果越好。先從地理位置上說,科學研究表明地理位置上越往南方,茶葉中咖啡因的含量越高。所以要想提神效果更好,可以試試雲南的綠茶「滇青」或者普洱生茶。

要是記不住那許多茶的名字,我們還可以從口感上來判斷,因為咖啡因帶給我們的口感是苦的,所以越苦的茶提神效果就越好。
所以想要提神的時候,喝任何茶都是可以的。若是想要更好的提神效果就可以選擇綠茶、普洱生茶或者是比較苦的茶。綠茶是我們日常生活中接觸最多的茶類,沒有選擇的時候就喝喝綠茶問題不大的。

我們選擇了綠茶,是白天喝還是晚上喝?以我們程序員同學的邏輯思維來說,這個問題是必須而且是值得思考的,因為要是漏掉了一種情況,是很有可能出BUG的呀。

先給一個結論,白天喝綠茶是沒問題的,晚上要盡量少喝綠茶。因為按照我們中國的古老傳統智慧,綠茶是涼性的。白天屬陽,陽氣盛,喝涼性的茶,是沒問題的。而夜晚屬陰,特別晚上十一點到凌晨一點是一天中陰氣最盛的時候,我們熬夜也常常到這個時候。如果我們熬夜時喝涼性的茶就會加重身體的寒氣,長時間晚上喝涼性的茶,身體失去陰陽平衡就會慢慢的出現問題。所以晚上熬夜的時候要少喝綠茶。這個時候應該喝溫性的茶,例如喝紅茶或普洱熟茶。

前面提到了電腦輻射的問題,喝茶能抗輻射你信不?科學研究表明還真有這回事。因為茶中有三種特性物質,分別是:茶多酚,咖啡因和茶氨酸。其中茶多酚是有很明顯的抗輻射性的。個中原理不在於它能阻止人體對放射性物質的吸收或促進人體對放射性物質的排出,而是因為茶中的茶多酚是「自由基清除劑」,能避免輻射產生的過量自由基對生物大分子的損傷。此外,茶多酚也能調節與輻射有關的酶類,還可以減緩免疫細胞的受損,提高造血功能。

另外茶多酚含量大致呈現出這樣的規律:綠茶>白茶>黃茶>青茶>紅茶>黑茶。所以喝茶能抗輻射,想要抗輻射效果更好,可以選擇多喝點綠茶。

說完了這么多科學道理,最後總結一下給程序員同學的喝茶建議是:綠茶在白天喝,晚上喝紅茶或普洱熟茶。紅茶或普洱熟茶全天都可以喝。

最後的最後送一段話給大家,
茶有三種特性物質,茶多酚,咖啡因和茶氨酸。
茶多酚能抗癌抗輻射
咖啡因能提神利尿
茶氨酸能鎮靜助眠
相信以程序員同學的研究能力,一定能找到最適合自己的茶。

㈡ 【程序員·隨身聽】玄學:機械鍵盤

大家好,感謝收聽【程序員·隨身聽】。

這一期准備講一講程序員群體中的一種玄學:鍵盤,具體來說,是機械鍵盤。還有一種玄學,是耳機。如果說鍵盤是程序員的武器,那麼耳機就是程序員的鎧甲,不過,這一期我們先不講耳機了。

先闡釋一下啥叫玄學,玄學是指那些不可知,不可思議,科學不能解釋,不能涉及的學說。

這樣來說,似乎玄學帶有貶義。不過,事先聲明,本期中的玄學並沒有貶義的意思,而是帶有一種膜拜,或者說,想要親近,卻不得要領,沒有途徑,而帶有一種酸葡萄心理的感情色彩。

說到這里,可能有些聽者琢磨出來點味道,好傢伙,原來你不是圈裡人啊。

對啊,我不是圈裡人,默哀三秒鍾,一,二,三,然後擦乾眼淚繼續說。

到這里,作為厚道人,我得說,如果您想通過本期音頻,得到關於機械鍵盤的指導型知識,就得失望了,因為我也想得到這方面的知識。如果您知道,還希望您能夠通過微博告訴我。我是真的想知道啊。在此,先聲謝過。

那麼,我說點什麼呢?才疏學淺的我,只是想把這個話題拋出來,談一談自己的一些觀察和看法。如果有幸能夠拋磚引玉,得到高人指點,到時候任督二脈一通,我再做一期指導型的音頻。

那麼,我們開始進入正題。

鍵盤作為電子產品的輸入設備,比滑鼠要出現得早。這很正常,因為進入圖形交互系統的時代,我們才有滑鼠的需求嘛。直至如今,鍵盤仍是我們在電子產品輸入內容上,不可或缺的設備。

我們知道,一般來說,鍵盤有兩大類,薄膜鍵盤和機械鍵盤。還聽說一種,叫靜電容鍵盤,靜電容鍵盤太少見,我根本沒見過,網路上說,靜電容鍵盤是利用電容容量的變化來判斷按鍵的開和關,在按下按鍵後,開關中電容容量發生改變,從而實現觸發,整個過程不需要開關的閉合。正是由於無物理接觸點就可以實現敲擊,因而磨損更小,使用壽命更長。更穩定、迅速、全鍵無沖突、無比靈敏。通常在大型醫療設備上能夠見到,也可作為比較昂貴的高端游戲外設。

在靜電容鍵盤還沒有進入主流前,我們就不說它了,回到薄膜鍵盤和機械鍵盤上。它倆的區別,簡單來說,薄膜鍵盤的鍵,表面看起來是一個個的,其實,每個鍵帽是依託在一整張薄膜上的,按下一個鍵,薄膜上就壓下去一個點到印刷電路板上,發出電信號。而機械鍵盤,那真是一個鍵,就是一個電信號的開關。所以,你就知道,為啥機械鍵盤要比薄膜鍵盤貴很多了,因為從工程學上講,機械鍵盤的結構就比薄膜鍵盤復雜多了。

雖然,一般,機械鍵盤比薄膜鍵盤貴,但吊詭的是,早起的鍵盤可都是機械鍵盤。我小時候玩的小霸王學習機,就是那個一開機就發出詭異的聲音——「小霸王,其樂無窮啊」,那就是機械鍵盤的。那時候還覺得敲鍵盤挺費力的。但如果,我們仔細觀察下鍵盤的發展歷史,就不奇怪了,就跟汽車一樣,早期的汽車,純手工打造,零件都是匠人一個個做出來的,但隨著汽車行業的發展,追求產業化,模塊化,純手工打造的汽車必然退出主流汽車市場。鍵盤也是如此,隨著技術發展,產業化的進步,薄膜鍵盤應運而生,一下子降低了成本,還增加了便攜性。為什麼還增加了便攜性呢,因為由於機械鍵盤每個鍵都是一個個小開關,它需要一定的體積,而薄膜鍵盤只是一個按的動作,因此薄膜鍵盤能夠做的很薄。為啥蘋果的 MacBook 系列能那麼薄?所以,即使它的鍵盤體驗被稱為敲鐵板,它也不可能換成機械鍵盤,只能在薄膜鍵盤的基礎上,想辦法提高鍵盤的舒適感。

按理說,機械鍵盤在薄膜鍵盤的沖擊下,就要退出歷史舞台了,就像軟盤被U盤取代,機械鍵盤的好兄弟,機械滑鼠(就是肚子里裝著一個滾球的滑鼠)被光電滑鼠取代。但是,有時候,有些看似過時的產品,還能苟延殘喘,甚至是復活。就像純手工打造的汽車,可能還是有它的小眾市場。歷史上,這樣的事例也不少見,比如說拍立得,前段時間,我的朋友還用拍立得給自家的娃拍照留念;比如說廣播,要知道電影電視的興起,那可是把無線電廣播沖擊的奄奄一息,但現在廣播在汽車的普及下,在新的生活節奏下,又生機盎然。我作為程序員,都要在蜻蜓FM做廣播了。

這里插一句,關於小眾產品的復活,大家可以看一下愛奇藝上王自如的脫口秀,《科技相對論》,其中第一季的第三期就專門說的小眾產品的復活。

書歸正傳,繼續說我們的鍵盤。機械鍵盤為什麼能夠復活呢?我覺得,一個原因很重要,那就是有很多工作,都是要長期伏案於鍵盤之前的。像編輯,像程序員,一天敲鍵盤幾個小時那都是少的。鍵盤作為生產力工具,那就相當於戰士的武器,誰不想要一把得心應手的武器呢?這時,我們就懷念起機械鍵盤那獨特手感和反饋感,甚至那噼里啪啦的敲擊聲。這就是我認為機械鍵盤復活的重要原因。

另外,程序員作為一個群體,也有自己的文化。文化是虛的,是需要在具體事物上表達的。作為程序員的一個重要生產力工具,鍵盤必然被程序員賦予了文化符號。為了個性化的彰顯,為了追求差異化,甚至僅僅是為了鄙視另一個程序員,就這樣,機械鍵盤就在薄膜鍵盤的勢力包圍中,強勢回歸。

現在的機械鍵盤,不僅種類很多,顏值擔當的也很多,甚至有很多絢麗奪目的小功能,什麼呼吸燈,跑馬燈,夜間背光等等。我們接下來就說說機械鍵盤的門派。

在機械鍵盤的江湖,有四大門派,輕快如風的紅軸,內外兼修的茶軸,囂張直爽的青軸,直來直去的黑軸。

門派之別,來源於對武術的不同見地,但畢竟都是武術,有相同的根源。那機械鍵盤的共同原理是什麼呢?

首先,不管是什麼軸,它的機械軸都是由開關帽、開關帽固定卡、彈簧、觸點金屬片和底座構成,還有一部分的機械軸里還有跳線。這幾個部件中,最關鍵的部位是開關帽,彈簧和觸點金屬片,它們的不同導致了觸發的壓力,手感和按鍵的壽命不同。先說彈簧,彈簧的圈數越少,彈簧的反饋壓力就越大,黑>青>茶>紅,再說開關帽,開關帽作用於觸點金屬片,按壓導致觸點金屬片連接或者斷開迴路,發出電信號,開關帽作用於觸點金屬片時產生阻力,阻力就會讓我們感受到傳說中的段落感,再加上開關帽不同的嵌套結構,作用到底座的鍵程不同,會帶來不同的節奏感,紅軸和黑軸就是直上直下的感覺,而茶軸和青軸則有一定的阻尼感。然後說說觸點金屬片,機械鍵盤單軸壽命是2000萬次到8000萬次不等,如果一個鍵被用壞了,一般來說,就是觸點金屬片損壞了,可以說觸點金屬片決定了機械鍵盤單軸的壽命。(要知道,薄膜鍵盤的壽命一般來說是30萬次,如果一個鍵,你一天按100次,30萬次就代表著這個鍵你能用3000天,小十年呢,機械鍵盤單軸幾千萬次,可以說,在你厭煩它之前,是用不壞的)說完最關鍵的三個部件,最後說說鍵帽,鍵帽是我們敲鍵盤是最直接觸摸到的,一般是不同質地的塑料,鍵帽上的字有很多工藝,比如絲印,激光雕刻,激光刻蝕,熱升華,二色成型,絲印是最容易讓字摩擦刮花甚至消失的。

熱鬧的江湖只有四種門派么?當然不是,除了紅黑茶青,還有綠軸,橙軸,白軸,灰軸,甚至怪軸,它們有的是不同於上面幾種軸的力度,有的是用於空格鍵這樣比較特殊的按鍵上,它們都比較稀有,有的已經停產,比如白軸,有的是廠家定製款,比如雷柏的橙軸,所以,這個江湖還是很熱鬧的。

講完了機械鍵盤的基本情況,我們來說說玄學部分吧,那就是機械鍵盤的體驗。

有人說,青軸是鍵盤里的春天,因為青軸觸發深度最深,段落感最強,噼里啪啦的聲音最大,打字的時候清脆爽快,像沐浴在春風中敲架子鼓。據說,使用青軸容易被你四周的人揍。。。

有人說,黑軸是公認的游戲軸,玩游戲黑軸是不二之選,因為黑軸沒有段落感,直上直下,一觸即發,打一盤游戲,盡顯激情。

又有人說,茶軸是鍵盤中的紳士,優雅冷靜,它全面兼顧,介於打字和游戲之間,相較於青軸,段落感弱了很多,相對於黑軸,又不是直上直下,因此,也有人會覺得它中庸沒有個性。

最後說,紅軸,紅軸一般推薦給女生,因為它和黑軸一樣直上直下,打字輕快,同時,它壓力系數最小,毫不費力。

聽到這里,不知道你能不能明晰的分出四種軸的不同,其實,真讓你感受四種軸,可能沒有那麼明顯的不同,如果把那些更小眾的軸加上,如白軸,橙軸,灰軸,綠軸,你更加區分不出來。但是被人表達後,人為的強化了不同。這就產生了玄學。玄學的詭譎之處在於,你要根據這些體驗去選你想像中的鍵盤,大概率的可能性是與你的想像不同。就是說,聽起來很有道理,指導起事情來,可能要抓瞎。所以,我覺得買鍵盤,還是要買有眼緣的,當個外貌協會也不錯,有機會呢,還是要去感受一下,覺得喜歡就好,沒必要根據四種軸的文化定位來選。即使你選了黑軸,該團滅還是會被團滅的。

關於上面說的體驗,沒有接觸過如此多的種類,或者沒有長時間在鍵盤上碼字的體驗,可能很難有共鳴。你也可能會覺得這些人好矯情啊,不就是碼字敲鍵盤么,說的神神叨叨,故弄玄虛。是啊,是有些故弄玄虛,文化不就這樣么,虛虛實實,人類就是這樣一種喜歡聽故事的動物啊,把你心目中的神抽絲剝繭,還原歷史情境,他還會讓你感動的起雞皮疙瘩么?所以,我們還是把機械鍵盤理解為一種程序員可愛的文化吧。

總結一下來說,機械鍵盤,相對於薄膜鍵盤,在體驗上沒有質的飛越,打字也不一定更快,也不省力,可能只是釋放了本能中對節奏的渴望,但是卻給程序員帶來了很大的愉悅,創造了話題,也是程序員文化中不可或缺的一部分。

感謝您的收聽。

編程中VB跟VC指的是什麼 請詳細說清楚...

VB即Visual Basic編程語言
1991年,美國微軟公司推出了Visual Basic(可簡稱VB),目前的最新版本是VB 2008 Beta2(VB9)中文版。
Visual 意即可視的、可見的,指的是開發像Windows操作系統的圖形用戶界面(Graphic User Interface,GUI)的方法,它不需要編寫大量代碼去描述界面元素的外觀和位置,只要把預先建立好的對象拖放到屏幕上相應的位置即可。
Basic 實際上是一個短語的縮寫,這個短語就是 Beginners all_purpose symbolic instruction code ,其中文意思為「初始者通用符號指令代碼語言」。
Visual Basic 6 有學習版、專業版和企業版三種版本,以滿足不同的開發需要。學習版適用於普通學習者及大多數使用 Visual Basic 開發一般 Windows 應用程序的人員,但是;專業版適用於計算機專業開發人員,包括了學習版的全部內容功能以及Internet控制項開發工具之類的高級特性;企業版除包含專業版全部的內容外,還有自動化構件管理器等工具,使得專業編程人員能夠開發功能強大的組骨子裡分布式應用程序。
Visual Basic 是一種可視化的、面向對象和採用事件驅動方式的結構化高級程序設計語言,可用於開發 Windows 環境下的各類應用程序。它簡單易學、效率高,且功能強大可以與 Windows 專業開發工具SDK相媲美。在Visual Basic環境下,利用事件驅動的編程機制、新穎易用的可視化設計工具,使用Windows內部的廣泛應用程序介面(API)函數,以用動態鏈接庫(DLL)、對象的鏈接與世隔嵌入(OLE)、開放式數據連接(ODBC)等技術,可以高效、快速地開發Windows環境下功能強大、圖形界面豐富的應用軟體系統。隨著版本的提高,Visual Basic的功能也越來越強。5.0版以後,Visual Basic 推出了中文版,與前個版本相比,其功能有了很大提升。
但是,功能再強大,Visual Basic 仍然有一個缺點:在沒有MSVBVM**.DLL的計算機上必須安裝所需的DLL文件。用它可設計操作系統,不過,比較困難。
在21世紀初,Microsoft 公司推出 Visual Studio .NET 2003,它與 Visual Basic 之間有了重大變化,Visual Studio 為各種編程工具做了一個平台,Visual Basic.NET 可在這種平台上運行。相對於傳統VB,有很大的不同。VB .Net,首次使用.Net構架進行可視化編程,並且能很好地與COM構架兼容,Visual Studio .NET 2003 應用 .NET Framework 1.1 。
2005年 Visual Studio 2005 則運用了 NET 2.0 的技術,更加的方便了程序員的工作。可是新的程序對系統配置要求也較高,需要微軟.Net Framework 2.0以上的.Net構架支持。
2007年12月,微軟(Microsoft)推出了Visual Studio 2008 Beta 2 發生了重大的變化(見附圖)在代碼輸入的時候,可以比VB2005快很多,在非特殊的情況下,VB2008都會自動開啟 自動完成關鍵字 這個命令 而且支持最新的 .NET Framework 3.5 SP1 Beta

VC即Visual Basic編程語言
一、VC是什麼?學VC是學什麼?
首先VC是一個軟體(IDE集成開發環境)(編譯、編輯、調試)
C和C++。但C++中的有些特性是不用的,例如I/O流,多態繼承
WindowsSDK(軟體開發工具)
VC的靈魂:MFC(微軟基礎類庫)
ATL(ActiveX模板類庫)
其他的SDK,如OpenGL,DirectX,ActiveMoive,DrawDib(WinG)
VC是許許多多技術的綜合,就好像少林72般絕技,一般在應用中學會其中很少一部分就夠了。我們的現在目的,其實不過是學一套少林長拳。這套長拳應包括:
1、養成一種嚴謹的軟體開發習慣,熟悉軟體工程的基本原則。
2、C語言基礎
3、C++最基本內容:類、繼承性、封裝性、多態性的概念
4、如何用向導建立一個程序框架
5、設計菜單
6、設計工具條
7、設計和使用對話框,熟悉最常用的對話框控制項:按鈕、靜態文本、編輯框等
8、知道怎樣新建類、成員函數、成員變數、消息處理函數。
9、了解最常用的Windows消息:如WM_PAINT(重繪窗口),滑鼠按下、彈起、移動,初始化對話框,等。
10、了解最簡單的GDI(圖形設備介面):寫文字、畫框、畫點、畫線、畫圓,設置畫筆、畫刷。
11、熟悉最常用的MFC類:
CWnd
CDocument
CView
CDC
CDialog
CWinApp
CGdiObject及子類
CString、CPoint、CRect、CSize等簡單數據類型
CFile
以上提到的這些內容,是每個人都會用到的內容。
二、MFC簡介
上述主要內容都是與實際操作關系非常密切的,在此不可能講清楚;而且,這些在一般的書里都會講到。我主要將最重要的MFC介紹一下。
MFC是對WindowsAPI的封裝,大大簡化了我們的工作;學VC主要就是要學MFC,大約有100多個類,但常用的也就二三十個。應該象背4級單詞一樣將這些常用類搞懂;當然不要死記,要通過看幫助、看例子、動手練習來學會它們;而且,並非每個類的內部的所有函數都要學會,要日積月累。如果真的想成為高手,做個筆記本把自己認為重要的類、函數記下來,隨時學習,也是很好的突擊方法。
下面介紹最重要的MFC。
CWnd:窗口,它是大多數「看得見的東西」的父類(Windows里幾乎所有看得見的東西都是一個窗口,大窗口裡有許多小窗口),比如視圖CView、框架窗口CFrameWnd、工具條CToolBar、對話框CDialog、按鈕CButton,etc;一個例外是菜單(CMenu)不是從窗口派生的。該類很大,一開始也不必學,知道就行了。
CDocument文檔,負責內存數據與磁碟的交互。最重要的是OnOpenDocument(讀入),OnSaveDocument(寫盤),Serialize(讀寫)
CView視圖,負責內存數據與用戶的交互。包括數據的顯示、用戶操作的響應(如菜單的選取、滑鼠的響應)。最重要的是OnDraw(重畫窗口),通常用CWnd::Invalidate()來啟動它。另外,它通過消息映射表處理菜單、工具條、快捷鍵和其他用戶消息。你自己的許多功能都要加在裡面,你打交道最多的就是它。
CDC設備文本。無論是顯示器還是列印機,都是畫圖給用戶看。這圖就抽象為CDC。CDC與其他GDI(圖形設備介面)一起,完成文字和圖形、圖像的顯示工作。把CDC想像成一張紙,每個窗口都有一個CDC相聯系,負責畫窗口。CDC有個常用子類CClientDC(窗口客戶區),畫圖通常通過CClientDC完成。
CDialog對話框
CWinApp應用程序類。似於C中的main函數,是程序執行的入口和管理者,負責程序建立、消滅,主窗口和文檔模板的建立。最常用函數InitInstance():初始化。
CGdiObject及子類,用於向設備文本畫圖。它們都需要在使用前選進DC。
CPen筆,畫線
CBrush刷子,填充
CFont字體,控制文字輸出的字體
CBitmap點陣圖
CPalette調色板
CRgn區域,指定一塊區域可以用於做特殊處理。
CFile文件。最重要的不外是Open(打開),Read(讀入),Write(寫)
CString字元串。封裝了C中的字元數組,非常實用。
CPoint點,就是(x,y)對
CRect矩形,就是(left,top,right,bottom)
CSize大小,就是(cx,cy)對(寬、高)
三、用好MSDN和例子
作為提高,推薦看的例子有:
nHello最簡單的程序框架
nScribble滑鼠繪圖。教程:編程基礎,GDI
nDiblook圖像處理最簡單範例
nMFCIE網際網路瀏覽器
nEnroll資料庫
nDaoviewDao(數據訪問對象)範例。樹型和列視控制項
nCubeOpenGL範例,畫一個不斷旋轉的方塊
nHierSvrOLE伺服器
nOclientOLE包容器
nDrawcli滑鼠繪圖。也包括OLE。
nWordPad寫字板。OLE
四、幾點經驗
A.為什麼要用Windows而不是DOS編程
Windows編程並不比DOS編程難很多,只是在剛剛接觸的時候感到頭緒繁多,不知從何下手。實際上,如果你會C語言,你會發現Windows編程的難度並不比當年學C語言時大。DOS編程要想成為高手,也需要學習幾百個函數(無論是TC、BC、MicrosoftC),並要深入了解匯編語言級的DOS功能調用。而現在在Windows下,付出相同的工作量,你卻可以獲得幾倍的收益。如果你以前熟悉DOS編程,現在再搞Windows編程,只要兩個星期肯定會感到巨大的優越性:在DOS下,每一件事都要自己干,而且還有64K內存、顯示精度等的限制,實在是事倍功半了。
B.為什麼要用VC而不是其他Windows編程語言
n大多數大型軟體(包括Windows自己)都是用C、C++編的,所以可以利用的源代碼特別多。例如Photoshop,就有VC的編程介面。的其他的語言都不如VC有歷史優勢。而且VC的開發工具特別多,從控制項公司到硬體開發商,其產品很少敢不提供VC介面的。
nVC適合組織大工程(VB就不行)
nBorlandC++或C++Builder也很不錯,並不比VC差。但BC的版本兼容性不好,從3.1到4.0就出現「代溝」,而且VC提供了極為豐富的文檔和範例,VC的參考資料也遠比BC多。並且VC與其他的VisualStudio成員可以協調工作,對軟體工程有利。
n
C.開始不要學WinAPI編程,但以後最好學學WinAPI
特別要注意,開始不要買講WindowsSDK編程的書。一個臭名昭著的例子就是「HelloWorld」。各種計算機語言在入門課中往往都給出一個例子,顯示一行文字「HelloWorld」,無論是在Basic、C、Pascal,甚至匯編中,這個最簡單的小程序都幾行就可以寫完。但在早期的Windows編程中,剛才講到的「HelloWin」這個有名的例子就要組織一個工程、寫上幾百行代碼才能實現。這就嚇跑了很多想學Windows編程的人。實際上,在Windows下顯示「Helloworld」,最簡單的方法只要5行就夠了:
#include「windows.h」
voidWinMain()
{
MessageBox(NULL,」HelloWorld!」,」MyFirstWindowsApplication」,MB_OK);
}
當然這個程序只建立了一個最簡單的對話框,但這已經夠了。
如果你沒有SDK編程的經驗,學VC就是要利用MFC繞過Windows編程的許多細節。有好的工具為什麼不用呢?現在你在VC寫一個」HelloWorld」,只要寫一行代碼就可以了。
voidCYourView::OnDraw(CDC*pDC)
{
//…….其他的代碼
pDC->TextOut(100,100,」HelloWorld!」);
}
但MFC不是萬能的,WinAPI和VC中有很多功能在MFC中並不能反映出來。在入門後,要想發揮VC的完全能力,WindowsAPI還是非常重要的。而且,這些API在其他Windows語言中也用得到。
學語言,與練武道理也差不多。VC、VB、Dlphi、VFP,以及其他的Windows編程語言,都屬於同一個門派:Windows門,雖然招式不同,但內功都是一樣的,這就是WindowsAPI(應用編程介面),大概是兩千個函數。任何武功,招式即使再復雜,通常也能在很短時間內記下來;但內功就不是一朝一夕的事。而且,各門派的內功不同,Unix、Linux門有Uinx的內功,Apple(蘋果)門有Mac的內功,java更是自成一派。我們這里說的學VC,只是學招式,學招式一個月差不多就夠了,聰明的兩個星期就可以掌握。光學招式,嚇唬人是夠了,但和高手一過招,非出醜不可。要想精通VC,必須熟悉WindowsAPI。

㈣ 軟體業的技術路線是什麼

技術路線和管理路線始終是每個程序員糾結的問題,也是各大論壇經常被辯論的問題。

然而一個有趣的現象是,在現實生活中,人們多願意承認自己不精通某項技術,卻很少有人願意承認自己不能做管理。技術方面有問題多能夠校正自我,而管理方面有了問題卻總認為是對方的錯,總之領導怨員工,員工怨領導,鬧得不可開交。

在中國傳統的官本位的思想中,不能不說管理路線佔了絕對性的優勢,尤其是在穩定的外企,管好管壞極難衡量的情況下。

做技術苦啊,相比於管理路線,有如下的弱勢:

首先,IT業的技術變化太快,弄的技術人員疲於奔命。年輕人可以每天晚上幾個小時的看新技術的書籍,而年紀偏大的你上有老下有小,做飯,洗衣,陪老婆,照顧老人小孩,逛超市,每天能有一個小時的學習時間十分不易了。如果是你已經很熟悉的領域,你自然可以用較少的時間就能達到年輕人較長時間看完的東西(理想狀態下),然而公司的項目所用的技術方向可不是隨你心願的。如果你是一個Java高手,碰巧公司買的一個第三方的庫是用C++寫的,需要對其進行封裝,如此艱巨的任務,工程師中你的薪水最高,你不入地獄誰入地獄啊。你總不能說:我只負責Java的部分,C++的別來找我吧。

也許你經常聽領導說:「編程主要靠思想,語言和平台無所謂」。然而如果你跳槽的時候,卻經常聽到面試官這樣說:「好像你沒有太多這方面的經驗嘛」,你卻不能以我很有編程的思想來回答。此矛盾之處著實使人困惑許久。技術路線還是分很多的方向的,正如武林有很多的門派。語言,操作系統等屬於內功,然而只有內功卻不足以行走江湖,必須還要有一定的套路,如Debug tool,profile tool,出現問題後的分析辦法,編程時候的各種習慣,一些非常管用的技巧等,都是因語言和平台不同而不同。雖然對於初級的工程師來說,這些不是很重要,然而工作三年五年之後,是否能夠熟練運用這些套路來准確的定位問題和解決問題,卻是區別你是初級工程師,還是高級工程師的一個標志。當然當你在上升到項目經理的時候,又可以只談編程思想的時候了。一句實話,一個要飯的不要因為聽富人說吃青菜養生就見肉也不吃。周易中,同樣在乾卦,同樣元亨利貞,初九則應潛龍勿用,九五則可飛龍在天了,不同的位,同樣的話,意義不同。

其次,沒有優先知情權。當任務到來的時候,美國那面的老大一般是先發郵件給項目經理的。項目經理會進行一系列統籌考慮後再選擇發給那些人。作為同項目經理同一級別的技術人員,是否提前或同時,甚至晚於與其他技術人員收到郵件,取決於你技術外的能力(你的reputation, 你和項目經理的關系等)。上面的文章也說過了,在外企,郵件是一門很大的學問,也決定了從屬關系。把本來你擅長的任務先發郵件給他人,從而變成了他人的任務,也不是不可能的事情。當然當美國老闆過來的時候,陪同和展示成果的,也多是管理人員的事情,雖然裡面全是你的心血。

其三,沒有資源支配權。項目經理一般可以支配多種資源的,如買硬體,Team building的經費,培訓的機會等。但是相同級別的技術人員卻沒有。

其四,沒有績效評定權。任何員工的績效都是基本由其report得頂頭上司起決定作用的。相同級別的技術人員可能會有一些評價做參考,但是你不會知道和你平級甚至下級的薪水和績效。

最後,沒有人事任免權。一個員工是否能夠進某個項目組,也基本是項目經理起決定作用的。一般的外企都會有推薦的制度,而通常會發現一般狀況下(被推薦人不是明顯的差),管理路線的人推薦到其他組的人比較容易錄取(同組推薦沒有推薦費啊)。大家總要多少照顧個面子嘛,萬一哪天要向對方的組推薦自己的人呢?

基於上述幾點,經濟基礎決定上層建築,你也就怪不得基層員工對你僅僅是因為技術而產生的尊敬,而對manager則是因為既威且信而產生的敬畏了。也許其實是你的建議是正確的,大家卻都同意按照manager的來做;也許你一把年紀還要和年輕人因一個小小的設計爭得面紅耳赤,而他在manager面前總是yes, ok, i am 100% agree;也許你因一項新技術不很精通而被新人鄙視;也許就沒有也許。

當前的中國是浮躁的,以上的原因造成大批大批的人湧入管理路線的獨木橋,也造成了一些不合格的管理者走上了管理崗位。也許有這樣的現象,明明在國外僅夠做高級工程師的在中國做了Team lead,卻在和普通工程師爭功勞;在國外僅夠做Team lead的,在中國做了manager,卻不能很好的領導多層化的組織結構。

這種情況是悲劇的,卻不僅僅在軟體業,包括高校(系主任更容易拿項目),包括醫院(院長更容易申請經費),包括研究所。

這也是為什麼總有轉管理,轉售前,轉銷售,甚至轉其他行業的論調的原因了。

其實技術路線也有它的好處,你可以埋頭認認真真研究自己感興趣的技術,兩耳不聞窗外事。而由於一直沒有放下技術,跳槽也相對容易的多,畢竟在中國,號稱會管理一個團隊的一抓一大把,而真的很有經驗的技術人員卻不是很多。

作為軟體工程師,我們應該找到一條屬於我們自己的路。

㈤ 如何成為一個高效,快樂,健康的程序員

只需每天做一些小改變,就可擺脫病痛、保持健康.....學會去積累工作經驗和成果就會變得高效......具備這些小習慣就會保持快樂……
一:高效
互聯網發展日新月異,社會科技每天都在發生著翻天覆地的變化,而程序員已經成了這個時代的龐大群體,各種各樣的程序員數不勝數,我們每天上下班,不 論你是坐公交還是乘地鐵,在你的身邊一定有程序員。本人我就是其中的一員,本人主修java語言,從事java類開發工作。由於本人工作時間不長,經驗尚 淺,都是學著前輩高人的路子,在慢慢前行,下面我給大家分享下,如何從菜鳥成長為高效程序員。要想成為一個高效的程序員,不是一朝一夕的事,而是貴在堅 持,程序員的工作都是在不斷淘汰舊的東西,接受新的,我們必須學會去積累工作經驗和成果。所謂高效程序員,就是邏輯思維敏捷,學習能力強悍,敲代碼速度絕 對是要快,代碼規范嚴謹,善於總結經驗,視野開闊,不局限於某一門專屬編程語言,能夠舉一反三。

築基階段:
1.敲代碼速度要快,要求手指靈活,盡量減少輸入出錯。這個是基本功,不然何以達到一定的代碼量。
2.精通幾個常用的代碼編輯工具。(注意,這里說的是編輯工具,除了常用的eclipse,myeclipse,jBuilder等IDE工具外,還必須掌握文本編輯工具,如notepad++,vim)。
3.掌握Linux系統中常規命令。(這個是所有程序員都必須掌握的基本功)。
4.隨時隨地的做筆記。(這個就不解釋了,反正善於總結經驗不會錯了,可以推薦使用有道筆記)。
5.學會一些主流的代碼管理工具的使用。(如SVN,gitHub,maven等)
初級階段:
6.熟悉並精通某種編程語言的基礎和特性。(java語言必須掌握corejava基礎部分)
7.善於給自己寫一些工具,拿來即用的那種。(如資料庫連接,文件讀寫操作等等)
8.掌握web開發的常用技術。(如HTML,CSS,javascript,Ajax,JSP,jQuery)
9.掌握常用資料庫的基本操作。(如oracle,mysql)
中級階段
10.掌握一些主流開源框架,設計思想。(如,spring MVC ,Struts2+hibernate+spring/SSH ,EJB等)
11.掌握設計模式,學會使用一些開發模式。
12.掌握Linux中的shell編程
14.學會使用資料庫的DDL,DML,以及存儲過程。
15.熟悉項目的整個生命周期,從需求到上線中的各個階段。
16.關注技術網站和社區,開拓思路,汲取他人的優序經驗,同時分享自己經驗。(如csdn ,oschina等)
17.熟悉整個項目周期的中的各類文檔。
18.定期給自己策劃一個項目,練手。
高級階段
19.關注科技,了解IT界動態,學會發現和創新。
20.開始學習項目管理相關知識,學會如何成為一個優秀的項目管理人。
21.適時給自己買一些書籍,給自己大腦及時充電。
22.經常參加一些培訓講座,開拓視野。
23.關注政策,了解時代互聯網發展趨勢,學習和創新。
本人現階段還處在初級階段,剛剛摸到中級階段的門檻,能力有限,暫時想到的就是這么多。這里23條方子助你成為一個高效程序員。其實IT界已然成了一大江湖,IT江湖門派之多,編程流派何其多,可能每個人踏足IT江湖都身懷絕技吧,上面的23條也許不一定適合你,但是我還是希望它能幫助大家,大家共同努力。

閱讀全文

與程序員門派相關的資料

熱點內容
光遇怎麼從國服轉安卓 瀏覽:361
sdk數據加密 瀏覽:987
python什麼編譯器最好 瀏覽:404
pythonjpeg庫 瀏覽:104
c盤加密找不到tpm是怎麼回事 瀏覽:592
蘇州市加密軟體收費標准 瀏覽:486
php指定月份天數 瀏覽:650
單板文件夾的作用 瀏覽:649
安卓手機陌生電話攔截怎麼解除 瀏覽:757
python安裝包區別 瀏覽:800
手機qq使用伺服器地址是什麼 瀏覽:908
安卓加速器app什麼好用 瀏覽:784
程序員競聘演講稿 瀏覽:516
在maya中如何退出多邊形編譯 瀏覽:878
瓷器款pdf 瀏覽:990
怎麼讓安卓手機界面豎屏 瀏覽:907
利用命令方塊快速填滿發射器 瀏覽:570
安卓8核處理器如何 瀏覽:685
python口訣for 瀏覽:506
手機126郵件伺服器怎麼填 瀏覽:934