由招聘要求看趨勢(shì) - VC++程序員路在何方
作者: 闕榮文
日期: 2016.5.31
以桌面應(yīng)用程序?yàn)橹鞯臅r(shí)代已經(jīng)過(guò)去,所以 Windows 平臺(tái)和 MFC 不再是熱點(diǎn),微軟自己也不再推廣 MFC.
客戶端應(yīng)用以基于瀏覽器為主,正在向移動(dòng)平臺(tái)遷移,所以 js/jQuery, HTML5, iOS swift, Android java 成為主打的客戶端開(kāi)發(fā)技術(shù).
服務(wù)器端 HTTP 相關(guān)技術(shù)的重要性大大提升: SSL, nginx, php, java server script, C# server script(依然有相當(dāng)一部分服務(wù)器選擇 .net,而且從理論上來(lái)說(shuō) .net 并不一定需要綁定 Windows 平臺(tái)).
Linux 平臺(tái)用作服務(wù)器優(yōu)勢(shì)是很明顯的,所以要求熟悉 Linux 平臺(tái)的使用和 shell 腳本.
同時(shí) Linux C/C++ 成為開(kāi)發(fā)服務(wù)器后臺(tái)復(fù)雜業(yè)務(wù)的不二之選,比如游戲服務(wù)器.
C++ 沒(méi)有死,反而在自己擅長(zhǎng)的領(lǐng)域內(nèi)大放光彩.但是老派的 Windows VC++ 程序員只能在一些陰暗的角落里如視音頻,圖形圖像,某些行業(yè)定制軟件等茍延殘喘.
這不是誰(shuí)的錯(cuò),時(shí)代在發(fā)展.
不過(guò)不要灰心,我們也有優(yōu)勢(shì):基礎(chǔ)好,起點(diǎn)高.
編程,從本質(zhì)上來(lái)說(shuō)都是想通的,所謂"平臺(tái)相關(guān)"的一些東西其實(shí)都是很表層的內(nèi)容.
調(diào)試程序的經(jīng)驗(yàn),設(shè)計(jì)模式的運(yùn)用,模塊劃分的感覺(jué),程序結(jié)構(gòu)的構(gòu)造這些經(jīng)驗(yàn)和知識(shí)是寶貴的,不會(huì)因?yàn)榍袚Q平臺(tái),甚至不會(huì)因?yàn)榍袚Q編程語(yǔ)言而失去作用,相反,對(duì)于程序設(shè)計(jì),它們總是最重要,最難以掌握的東西.
從 Windows 到 Linux,作為程序員我覺(jué)得最不適應(yīng)之處是編程工具用不順手.多年使用 Visual C++ 的經(jīng)歷,我已經(jīng)被微軟慣壞了,一離開(kāi) Visual Studio / MSDN 就感覺(jué)不會(huì)寫代碼(尤其是 MSDN,相信很多人有同感:-)
只要突破這層障礙很快就能找回往日的感覺(jué).
至于 Linux 平臺(tái)編程純技術(shù)上的知識(shí)其實(shí)很容易掌握,花不了多少時(shí)間:
一是我再次說(shuō)編程都是相通的,有 Windows 平臺(tái)下的線程,進(jìn)程,IPC,文件描述符等基礎(chǔ),掌握 Linux 相關(guān)的知識(shí)簡(jiǎn)直太容易了.因?yàn)?Linux 環(huán)境下這些概念更清晰,系統(tǒng)調(diào)用接口更簡(jiǎn)潔.
二是無(wú)處不在的 man page.
三是一冊(cè)<<UNIX環(huán)境高級(jí)編程>>在手,天下我有.
奮起直追跟上時(shí)代,轉(zhuǎn)到 Linux 平臺(tái):
1. 日常使用 Linux 系統(tǒng),在日常使用中熟悉它.
2. 了解 Linux shell 編程的基本語(yǔ)法.
3. 熟悉開(kāi)發(fā)環(huán)境需要用到的: vim, gcc/g++, makefile, gdb.
4. 安裝,配置常用的 HTTP 服務(wù)器: Apache/Nginx
5. 再看一遍 <<UNIX編程藝術(shù)>>
6. 做一個(gè)工程練練手,稍微大一點(diǎn)的,至少包含10個(gè)以上源文件,比如自己寫一個(gè) HTTP 或者 FTP 服務(wù)器.
還有一個(gè)感受就是在 Linux 平臺(tái)下做開(kāi)發(fā)有更強(qiáng)的動(dòng)力(被需求逼的)去學(xué)習(xí)和了解第三方庫(kù),這是在 Windows 平臺(tái)下開(kāi)發(fā)時(shí)比不了的.通過(guò)學(xué)習(xí)這些高質(zhì)量的庫(kù)源碼我們可以真真切切的看看高手們是如何設(shè)計(jì)的,他們的編程風(fēng)格是什么樣,當(dāng)他們面臨和我們同樣的問(wèn)題時(shí)解決思路是什么樣...熟讀唐詩(shī)三百首,不會(huì)作詩(shī)也會(huì)吟.多讀高手的代碼,學(xué)習(xí)他,揣摩他,慢慢的我們也會(huì)成為高手.