?我是一名日語(yǔ)專(zhuān)業(yè)畢業(yè)的學(xué)生篡帕。當(dāng)年因?yàn)樯环陼r(shí),導(dǎo)致大學(xué)畢業(yè)并沒(méi)用相關(guān)工作機(jī)會(huì)屑迂。所以不知道做什么工作合適瑞驱,剛好這時(shí)有培訓(xùn)機(jī)構(gòu)找到我竿音,學(xué)費(fèi)一萬(wàn)五和屎,花了3個(gè)月時(shí)間,培訓(xùn)了JAVA基礎(chǔ)以及SSH框架,數(shù)據(jù)庫(kù)的簡(jiǎn)單操作。出來(lái)后發(fā)現(xiàn)其實(shí)很多很多東西都不懂原理春瞬,面試也是應(yīng)付柴信,背一些面試題。后面就開(kāi)始做一些簡(jiǎn)單的CRUD工作宽气。
當(dāng)時(shí)覺(jué)得這些是很難的随常。應(yīng)該不懂框架的原理。JAVA基本功不扎實(shí)抹竹。數(shù)據(jù)庫(kù)也不清楚线罕。所以一直工作起來(lái)都很困難。動(dòng)不動(dòng)就去百度窃判。后面做了2年JAVA后端钞楼,開(kāi)始慢慢熟悉框架了“懒眨可是對(duì)JAVA語(yǔ)言我自認(rèn)為基本功還不是很扎實(shí)询件,包括數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng)原理唆樊。計(jì)算機(jī)組成原理等計(jì)算機(jī)科班的東西完全沒(méi)學(xué)過(guò)宛琅。所以。我開(kāi)始自學(xué)C語(yǔ)言,然后是數(shù)據(jù)結(jié)構(gòu)逗旁。操作系統(tǒng)原理嘿辟。高數(shù)等知識(shí)舆瘪。接著學(xué)習(xí)了C++,開(kāi)始才知道模板單繼承,多繼承红伦。抽象類(lèi)等英古。類(lèi)該如何設(shè)計(jì)。內(nèi)存模型昙读。棧內(nèi)存堆內(nèi)存等基礎(chǔ)知識(shí)召调。進(jìn)程,線程通信等知識(shí)。網(wǎng)絡(luò)編程中的應(yīng)用層蛮浑,表示層唠叛,會(huì)話層,傳輸層沮稚,網(wǎng)絡(luò)層艺沼,數(shù)據(jù)鏈路層,物理層壮虫。而我們應(yīng)用程序的通信協(xié)議一般都是自己定義的協(xié)議澳厢。比如HTTP,等都屬于應(yīng)用層協(xié)議。而我們的傳輸層則一般是TCP/UDP協(xié)議用的比較多囚似,IP協(xié)議則屬于網(wǎng)絡(luò)層,數(shù)據(jù)鏈路層則是ARP這些地址解析協(xié)議剩拢。一般用于路由器當(dāng)中。而我們的物理層則用來(lái)表示計(jì)算機(jī)的真實(shí)MAC地址饶唤。這些看完了我覺(jué)得自己才真的算是對(duì)計(jì)算機(jī)軟件工程這個(gè)行業(yè)的基礎(chǔ)知識(shí)有了初步的了解徐伐。這個(gè)時(shí)候我再回過(guò)頭來(lái)看JAVA,以及C#.這2個(gè)語(yǔ)言的相似性。都是基于C++的基礎(chǔ)之上而新創(chuàng)建的面向?qū)ο笳Z(yǔ)言募狂。C#是屬于托管語(yǔ)言,可以直接調(diào)用C++代碼办素,也有顯式的指針可以用。但是語(yǔ)法比較丑陋祸穷。而JAVA一般是隱式指針性穿。更多的是用引用來(lái)表示一個(gè)類(lèi)的實(shí)例對(duì)象。JAVA一般是值語(yǔ)義雷滚。所以我們一般看到JAVA函數(shù)傳參是Object obj需曾,這種形式,其實(shí)傳進(jìn)來(lái)的是一個(gè)新的對(duì)象祈远。JAVA執(zhí)行大家都知道呆万,是再另一個(gè)軟件里面執(zhí)行。那個(gè)軟件可以叫JVM车份,或者是虛擬機(jī).把我們的JAVA代碼編譯成字節(jié)碼來(lái)執(zhí)行的谋减。JAVA優(yōu)點(diǎn)是跨平臺(tái)。做服務(wù)器應(yīng)用程序比較方便扫沼。有很多庫(kù)可以用出爹。生態(tài)多庄吼。缺點(diǎn)是有垃圾回收。需要寫(xiě)好回收算法以政。以及內(nèi)存的占用較大霸褒。所以如果是需要做嵌入式應(yīng)用底層,或者內(nèi)存要求嚴(yán)格或者超高性能的場(chǎng)景JAVA并不太適合,至于C#,跟JAVA完全不是同一個(gè)東西.據(jù)我所知.除開(kāi)超高性能外,win上能開(kāi)發(fā)的,基本都可以用C#.至于PHP。本人也簡(jiǎn)單學(xué)習(xí)過(guò)盈蛮,其用來(lái)寫(xiě)小網(wǎng)站是非常適合快速開(kāi)發(fā)的。當(dāng)然也用PHP寫(xiě)facebook也是成功的案例技矮。不過(guò)畢竟是少數(shù)抖誉。關(guān)于Python我用到比較多的就是關(guān)于跨平臺(tái)的時(shí)候項(xiàng)目自動(dòng)化構(gòu)建,是最合適的衰倦。win32就調(diào)用vbs去構(gòu)建,unix系列就用SHELL去構(gòu)建.當(dāng)然了Python寫(xiě)web端也可以.不過(guò)適用場(chǎng)景是不同的袒炉。還有現(xiàn)在比較流行的用go去代替JAVA,C#。去做后端開(kāi)發(fā).也只是聽(tīng)一些人說(shuō)過(guò)性能比JAVA還差樊零。目前這門(mén)語(yǔ)言只適合高并發(fā)這個(gè)模塊用go寫(xiě)我磁。聽(tīng)說(shuō)該語(yǔ)言自帶高并發(fā)功能。以及另一門(mén)語(yǔ)言RUST驻襟,號(hào)稱(chēng)是高性能無(wú)GC的C++的類(lèi)型安全版本語(yǔ)言夺艰。以后有時(shí)間也會(huì)再去了解一下這些語(yǔ)言。之前一路學(xué)C++,學(xué)習(xí)了STL,以及BOOST沉衣。發(fā)現(xiàn)很多東西大同小異郁副。而最近一直再學(xué)習(xí)QT庫(kù)。本來(lái)是想學(xué)習(xí)MFC的豌习〈婊眩可是最近幾年這個(gè)庫(kù)的行情不是很好。所以想從QT入手肥隆。了解些UI庫(kù)既荚。打算這半個(gè)月學(xué)完QT庫(kù)自己做一些項(xiàng)目。