国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
C++到底還能做什么? - 筆記 - 肖舸 - CSDN學(xué)生大本營(yíng) - Powered b...

嗯,這是一位朋友發(fā)到我郵箱里面的,很奇怪,發(fā)到了gmail郵箱,而不是我常用的hotmail郵箱哈。

我呢,試著回答一下,如果回答得不好,叫做肖某人學(xué)藝不精,回去重新學(xué)習(xí)再來(lái)過(guò)哈。呵呵。

一家之言哈,歡迎拍裝。

原文如下:

肖老師您好:
  我現(xiàn)在是一名在校大學(xué)生,在學(xué)校期間自學(xué)C++有兩年的時(shí)間了,看過(guò)C++Primer,stl,inside C++ model(侯捷翻譯的那本),com本質(zhì)論等...
  在學(xué)習(xí)C++的過(guò)程中感覺(jué)C++語(yǔ)言本身的確很強(qiáng)大,而且隨著學(xué)習(xí)的深入,我逐漸感到要想在短時(shí)間了解這門語(yǔ)言的本質(zhì)幾乎是不可能的.因?yàn)槲乙矊W(xué)習(xí)過(guò)javaSE的一些東西,感覺(jué)就java和C#來(lái)說(shuō),語(yǔ)言本身不難,不過(guò)在底層調(diào)用方面有時(shí)候就會(huì)顯得有點(diǎn)費(fèi)力了.
  不過(guò)對(duì)于C++我一直有很多疑問(wèn),所以想請(qǐng)教您,向您學(xué)習(xí)一下:
  1)關(guān)于C++的應(yīng)用:
  曾經(jīng)我以為C++的應(yīng)用比較多的就是用MFC來(lái)編寫各種應(yīng)用軟件,但是,我現(xiàn)在感覺(jué)編寫軟件這方面,用一些其他語(yǔ)言和開發(fā)平臺(tái),要比C++方便和快捷的多,而且也聽人說(shuō),現(xiàn)在幾乎不用MFC或是C++做軟件了.至于網(wǎng)絡(luò)應(yīng)用和跨平臺(tái)方面,現(xiàn)在應(yīng)該是C#和java在這方面的應(yīng)用比較有優(yōu)勢(shì)吧.至于一些其他有關(guān)硬件方面比如嵌入式,單片機(jī)控制系統(tǒng)等方面,用C語(yǔ)言就可以滿足大多是的應(yīng)用了.所以,現(xiàn)在哪方面的工作是用C++來(lái)做的?
  2)關(guān)于找工作的事:
  現(xiàn)在學(xué)C++到底能做什么樣的工作?就像我前面說(shuō)的,因?yàn)椴淮罅私釩++主要的應(yīng)用在哪,所以,也不清楚到,能用C++來(lái)做哪方面的工作.
  3)關(guān)于com:
  我之前聽人說(shuō),C++做到最后就是做com組件開發(fā).情況是這樣的嗎?如果是的話,是不是用com來(lái)做有關(guān)遠(yuǎn)程調(diào)用對(duì)象和接口或是分布式系統(tǒng)等方面的應(yīng)用.如果想做com開發(fā)的話,現(xiàn)在有哪些工作是需要用com組件編程的?
  4)最后:
  雖然我學(xué)習(xí)c++兩年了,不過(guò)感覺(jué),沒(méi)做過(guò)什么像樣的應(yīng)用,因?yàn)槲以谖覀儗W(xué)校的一個(gè)網(wǎng)站的技術(shù)部里做過(guò)網(wǎng)站前臺(tái)開發(fā)的工作,就是html,css這些,感覺(jué)這些語(yǔ)言雖然在學(xué)習(xí)的時(shí)候感到有很多東西不理解,但是通過(guò)做一些簡(jiǎn)單的網(wǎng)頁(yè),逐漸的基本掌握了如何編寫網(wǎng)頁(yè)代碼.所以,也做過(guò)一些專題網(wǎng)站什么的.不過(guò),就是c++這門我學(xué)的時(shí)間比較長(zhǎng)的語(yǔ)言,我沒(méi)有做過(guò)什像樣的應(yīng)用,想練習(xí)可是又找不到合適的方向.
  所以,想讓您給我提點(diǎn)建議,我現(xiàn)在應(yīng)該學(xué)習(xí)或者是做哪方面的東西來(lái)提高自己的C++水平,還有就是在學(xué)習(xí)這門語(yǔ)言時(shí),如何能夠通過(guò)實(shí)踐來(lái)更好的掌握C++.

P.S:
  我的表達(dá)能力有限,可能有些問(wèn)題我描述的不清楚,不過(guò),還是希望老師能辛苦一下,盡量幫我解答這些問(wèn)題.
  謝謝了.

我的回答:

嗯,這位同學(xué)你好,我看了你的問(wèn)題,也有點(diǎn)頭大,說(shuō)實(shí)話,你這個(gè)問(wèn)題我不是沒(méi)想過(guò),我想得比較“野”,說(shuō)白了,雖然我也用C++,但是,想這個(gè)問(wèn)題的時(shí)候,我確實(shí)盡量站在一個(gè)客觀的立場(chǎng)上在想,想出來(lái)的結(jié)論,說(shuō)實(shí)話對(duì)C++不是很有利,我也怕說(shuō)出來(lái)被人拍磚,所以一直沒(méi)說(shuō),呵呵。

不過(guò),你既然問(wèn)得這么細(xì),我想我還是說(shuō)說(shuō)吧,說(shuō)得不好聽,大家就擔(dān)待一下吧。

嗯,惡意拍磚,我拍回去!

這第一個(gè)問(wèn)題,其實(shí)里面就很不好回答了。

你說(shuō)的“我以為C++的應(yīng)用比較多的就是用MFC來(lái)編寫各種應(yīng)用軟件”其實(shí)話沒(méi)說(shuō)完整,在Windows下,這個(gè)大前提不能少,大家開發(fā)Windows的應(yīng)用程序,如果使用VC++的話,建議使用MFC來(lái)開發(fā),因?yàn)樗俏④浱峁┑囊惶證++擴(kuò)充類庫(kù),專門針對(duì)WindowsAPI封裝,開發(fā)Windows程序最方便。

這個(gè)話,倒退10年,是絕對(duì)正確的,因?yàn)槟菚?huì)兒,Linux沒(méi)怎么起來(lái),100個(gè)程序員,估計(jì)有99個(gè)都在為Windows開發(fā)程序,應(yīng)用軟件想當(dāng)然跑在Windows下,這是對(duì)的,不過(guò)現(xiàn)在,使用Linux開發(fā)的人越來(lái)越多,Windows即使在桌面平臺(tái)上,也一般只占據(jù)Client市場(chǎng)而已,Server中早就是Linux一家獨(dú)大了,沒(méi)辦法,老外版權(quán)意識(shí)強(qiáng),但老外也想省錢,Linux不花錢,WindowsServer花錢,就這一點(diǎn),就夠了。國(guó)外大量部署的商用服務(wù)器,其實(shí)是Linux平臺(tái)。

嗯,國(guó)內(nèi)貌似也差不多。

所以,我在年初的演講《明日世界--云端計(jì)算下的程序員需求分析》中強(qiáng)調(diào),MFC可能會(huì)衰落。起碼,沒(méi)有上世紀(jì)90年代那樣,一家獨(dú)大的感覺(jué)了。

這其實(shí)也正是我為什么一直強(qiáng)調(diào)大學(xué)生盡量打好基礎(chǔ),不要太早涉足商業(yè)應(yīng)用開發(fā)的原因,因?yàn)樯逃妙悗?kù),有生命期,今天最火,你學(xué)了,明天等你畢業(yè)出來(lái),人家被淘汰了,你不是做了無(wú)用功?甚至,工作都不好找。不信,有誰(shuí)是專門研究TurboC的graphics開發(fā)的,就是BGI,現(xiàn)在出來(lái)找得到工作不?

其實(shí),MFC最大的問(wèn)題,不是它自己的問(wèn)題,是業(yè)界發(fā)展的一個(gè)普遍結(jié)果。

現(xiàn)在的社會(huì),請(qǐng)問(wèn)大家一句話,純正單機(jī)版程序的應(yīng)用還有多少?大家打開自己的Windows系統(tǒng)看看,有哪些應(yīng)用是純粹單機(jī)版,一點(diǎn)不帶網(wǎng)絡(luò)訪問(wèn)的?

恐怕不多了吧?

現(xiàn)在隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)化應(yīng)用越來(lái)越多,在Server端不好說(shuō),因?yàn)橐蟾咄掏铝?,高性能和高安全性,C/C++開發(fā)還占有一席之地,但是,客戶端,恐怕未必了。

客戶端應(yīng)用,一般都很貼合應(yīng)用客戶的需求,更多的以數(shù)據(jù)庫(kù)服務(wù)為主,目前,我這里再提個(gè)看法,純粹功能性應(yīng)用越來(lái)越少,像暴風(fēng)影音,像光陰魔術(shù)手,這類純功能應(yīng)用其實(shí)是越來(lái)越少,目前應(yīng)用開發(fā)的主流,是利用強(qiáng)大的中心服務(wù)器的處理能力,為用戶帶來(lái)越來(lái)越多的數(shù)據(jù)密集型應(yīng)用體驗(yàn)。

QQ,它的用戶群有多少?MSD和gtalk什么的不說(shuō)了吧?大用戶量,就是大數(shù)據(jù)量,帶來(lái)了全新的溝通體驗(yàn)。

SNS社區(qū),包括我們這個(gè)網(wǎng)站,大家是不是在享受大數(shù)據(jù)量的應(yīng)用體驗(yàn)?

即便是強(qiáng)調(diào)終端用戶體驗(yàn)效果的游戲,目前大家可以比較一下,網(wǎng)游和單機(jī)游戲的比例,就知道了,人們到底喜歡什么樣的應(yīng)用了。

這就帶來(lái)了一個(gè)問(wèn)題,以后的社會(huì)發(fā)展,對(duì)于程序員來(lái)說(shuō),越來(lái)越偏重強(qiáng)中心,弱客戶端的這么一種開發(fā)模式,這其實(shí)就是云計(jì)算的由來(lái)啦。

大家是不是發(fā)現(xiàn),自己用IE的時(shí)候越來(lái)越多了?

但是,這就帶來(lái)一個(gè)問(wèn)題,開發(fā)弱客戶端,還用得著C++這種大型的語(yǔ)言嗎?

我不說(shuō),大家自己想,學(xué)C#和Java容易,還是學(xué)C++容易?

大家別耍酷啊,呵呵,其實(shí)我當(dāng)初就是為了??幔且獙W(xué)C++的,不過(guò),要是站在商用立場(chǎng),站在老板的立場(chǎng),早出人才,快出人才,出便宜人才,嗯,Java和C#,PHP也算,就是不能算C和C++,為啥,學(xué)起來(lái)費(fèi)勁,程序員學(xué)習(xí)成本高,自然價(jià)格也高,同樣的功能,用Java實(shí)現(xiàn),程序員滿地跑,用C++實(shí)現(xiàn),老板抱著程序員大腿哭,恐怕程序員都未必肯應(yīng)聘,太少啦,也太貴啦。

這不是肖某人危言聳聽啊,我也聲明一句,我一點(diǎn)歧視Java和C#這些程序員的意思都沒(méi)有,僅僅是請(qǐng)大家比較一下,Java、C#程序員多,還是C++程序員多。

不過(guò),這并不說(shuō)明C++程序員的優(yōu)勢(shì)啊,這反過(guò)來(lái)證明另外一個(gè)問(wèn)題,大多數(shù)中小型企業(yè),在研發(fā)上投入不會(huì)很大的企業(yè),急于做出成績(jī),快速獲得市場(chǎng)表現(xiàn)的企業(yè),在同等條件下,即Java和C++都能滿足需求的時(shí)候,會(huì)選擇Java、C#、PHP等語(yǔ)言作為公司的主流開發(fā)語(yǔ)言,而不會(huì)選C++。

這對(duì)Java等語(yǔ)言來(lái)說(shuō),其實(shí)是最利好的消息,當(dāng)越來(lái)越多的公司需要這方面程序員時(shí),程序員的市場(chǎng)越來(lái)越大,價(jià)格越來(lái)越高,而C++呢,雖然擺出一副曲高而和寡的樣子,端著架子,但是,由于沒(méi)有太多公司選擇C++作為開發(fā)語(yǔ)言,因此,反而市場(chǎng)越來(lái)越小,找不到工作,即使找到,也得降價(jià)銷售,這就是市場(chǎng)規(guī)律。

這里我要說(shuō)一句,其實(shí)C++程序員,我個(gè)人認(rèn)為,前景并不好,從我個(gè)人經(jīng)歷,和很多朋友的感覺(jué),發(fā)現(xiàn)有問(wèn)題。主要就是不好找工作,工作機(jī)會(huì)太少,沒(méi)有太多的選擇空間,而Java的朋友們,由于選擇空間大,其實(shí)很好談價(jià),我好幾個(gè)Java朋友,薪水比我高的。呵呵。

因此,我的建議,如果以后定位在應(yīng)用程序員,主要做Client業(yè)務(wù),建議不要選擇C++,更多選擇Java和C#什么的吧,工作更好找,還有,我的經(jīng)驗(yàn),薪水與語(yǔ)言無(wú)關(guān),大家千萬(wàn)不要以為C和C++程序員薪水就一定高。高的有,肯定有,但是,不是所有人,也不一定就是你。

嗯,說(shuō)到這里,順便說(shuō)說(shuō)第二個(gè)問(wèn)題,C++找什么工作,我的經(jīng)驗(yàn),游戲,無(wú)論是客戶端還是服務(wù)器,需要C++程序員的,不過(guò),由于目前引擎公司越來(lái)越強(qiáng)勁,很多游戲公司自己不開發(fā)引擎,而是用買的,因此,客戶端這邊,恐怕需求會(huì)越來(lái)越少,主要恐怕以后還是做服務(wù)器需要。

但是也很難講,C++比Java主要就是速度,但是,硬件越來(lái)越快,多核開發(fā)越來(lái)越多,很多網(wǎng)頁(yè)游戲其實(shí)用PHP已經(jīng)夠了,這個(gè),C++程序員的工作空間也受到擠壓。

C不一樣,C呢,在很多時(shí)候,做驅(qū)動(dòng),做嵌入式小規(guī)模應(yīng)用,滿夠用的,而老板為了節(jié)約硬件成本,往往會(huì)挑選比較弱的平臺(tái),Java等腳本語(yǔ)言目前跑不下來(lái),只能用C,嗯,稍微大點(diǎn),用點(diǎn)C++也可以的。

在嵌入式平臺(tái)上,C++貌似還有一點(diǎn)市場(chǎng)。

不過(guò)很難講,目前的arm9已經(jīng)接近當(dāng)年P(guān)2的計(jì)算能力,隨著嵌入式CPU的發(fā)展,嵌入式系統(tǒng)最終走向腳本化,也不是什么難事。

其實(shí),Java等腳本語(yǔ)言,針對(duì)C++最主要的優(yōu)勢(shì)就是沒(méi)有指針,沒(méi)有很多費(fèi)解的東東,學(xué)習(xí)曲線低,程序員容易學(xué)出來(lái),還有就是底層已經(jīng)處理了很多細(xì)節(jié),上層更多地專心與用戶的業(yè)務(wù),這樣,用戶業(yè)務(wù)貼合度好,更容易受到用戶的青睞,還有就是,不處理復(fù)雜數(shù)據(jù)結(jié)構(gòu),大家都調(diào)用基本庫(kù),程序成功率高,bug率低,開發(fā)成本低,公司容易賺到錢。

說(shuō)白了,Java相對(duì)C++,不是技術(shù)在推動(dòng),而是錢在推動(dòng),所以,C++必?cái) ?/p>

com就不說(shuō)了吧,com本質(zhì)上是跨進(jìn)程遠(yuǎn)端調(diào)用,dcom甚至允許跨機(jī)器。但是,大家想想,其實(shí)正是因?yàn)閏om的存在,進(jìn)一步擠占了C++的生存空間,越來(lái)越多的基本C++功能,被以com形式提供出來(lái),最終被Java、C#等其他語(yǔ)言所調(diào)用,擴(kuò)充了其他語(yǔ)言的功能和性能,使原來(lái)僅有C和C++能做的事情,現(xiàn)在Java、C#等做起來(lái)也很好,很快。

其實(shí),我私人認(rèn)為,com更像是C++程序員自己為自己挖的墓坑。

當(dāng)把基本功能支持完善,Java、C#等語(yǔ)言獲得了更好的性能和功能支持,可以通過(guò)com調(diào)用很多C和C++的基本庫(kù),獲得更好的開發(fā)能力的時(shí)候,純UI,純數(shù)據(jù)應(yīng)用,其實(shí)已經(jīng)被Java和C#牢牢占據(jù)了,C++沒(méi)什么事了。

嗯,針對(duì)你最后一個(gè)問(wèn)題,學(xué)習(xí)方向問(wèn)題,我的建議是,基礎(chǔ)的要學(xué),但是,出于好找工作的目的呢,我建議你應(yīng)該學(xué)點(diǎn)html相關(guān),css相關(guān)。

如果不是立志,這輩子就要做一個(gè)C++程序員,(我總覺(jué)得純正的C++程序員有點(diǎn)曲高而和寡,不好找工作),而是很務(wù)實(shí)的,希望畢業(yè)后在程序界迅速找到一份工作,我建議多學(xué)點(diǎn)Java和C#這類腳本語(yǔ)言,對(duì)于各種數(shù)據(jù)庫(kù)的訪問(wèn)做到滾瓜爛熟,嗯,基本的數(shù)據(jù)結(jié)構(gòu)和算法這不說(shuō)了,要熟悉的。

這樣起碼幫助你在畢業(yè)后,能找到飯碗。

不過(guò),這并不是說(shuō)你這輩子不能做C++,當(dāng)找到飯碗,工作穩(wěn)定了,在有空的時(shí)候,是可以繼續(xù)學(xué)習(xí)C和C++的,學(xué)好了,有合適的工作機(jī)會(huì),跳一下也不是不行,說(shuō)不定,收入更高。

嗯,還是那句話,程序員就是程序員,寫得出程序就是程序員。程序員不要在自己腦門上加太多修飾,什么C++程序員,什么Java程序員,什么Windows程序員,什么Linux程序員,這些加了修飾的程序員,其實(shí)不容易存活的。

要能掌握程序設(shè)計(jì)的通理,什么語(yǔ)言,什么平臺(tái),掌握了基本的程序設(shè)計(jì)道理的時(shí)候,其實(shí)都一樣。

大學(xué)生,打好基礎(chǔ),畢業(yè)先抓飯碗,總不好意思工作了還要父母養(yǎng)活。

在飯碗穩(wěn)定的時(shí)候,隨時(shí)注意學(xué)習(xí),特別是注意利用自己的基礎(chǔ)功底,跟蹤主流語(yǔ)言技術(shù),不斷與時(shí)俱進(jìn),方能立于不敗之地。

C++不是永恒的,C不是,Java也不是,C#更不是,沒(méi)有永恒的語(yǔ)言,沒(méi)有永恒的平臺(tái),只有永恒的程序設(shè)計(jì)技術(shù)。

這就是我的看法。

 

嗯,本文寫到這里,還是要補(bǔ)充一點(diǎn):

雖然上面本人寫了很多關(guān)于C++前景堪憂的言論,不過(guò)呢,我本人確實(shí)還是在從事C/C++的開發(fā)工作。我想我并不是對(duì)C++有什么偏見,僅僅是想盡量客觀一點(diǎn),不帶個(gè)人感情色彩,討論一下C++程序員的就業(yè)前景問(wèn)題。

其實(shí)C++我認(rèn)為還是一門非常優(yōu)秀的開發(fā)語(yǔ)言,它與C配合,可以實(shí)現(xiàn)很多底層的調(diào)用,這是Java等語(yǔ)言無(wú)法企及的。

比如我最近完成的一個(gè)高精度計(jì)時(shí)器(http://student.csdn.net/space.php?uid=39028&do=blog&id=32061),實(shí)現(xiàn)了差不多0.0031ms的計(jì)時(shí)精度,就我個(gè)人的能力而言,恐怕只能C/C++來(lái)完成,其他語(yǔ)言也許能做到,但至少我不會(huì)。

我也希望各位C++er能正確看待本文的論點(diǎn),起碼,我們現(xiàn)在還是一起的。呵呵。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
怎樣用Windows入門Python?
現(xiàn)在學(xué)習(xí)編程是學(xué)習(xí)JAVA好還是python好?
軟件相關(guān)技術(shù)及其在國(guó)內(nèi)的應(yīng)用
能說(shuō)下目前各大編程語(yǔ)言的主要應(yīng)用領(lǐng)域嗎?
Android為什么選擇了Java
零基礎(chǔ)學(xué)習(xí)C語(yǔ)言如何入門
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服