對(duì)于剛?cè)腴T軟件開發(fā)的小白,可能會(huì)有很多的疑問,軟件開發(fā)是什么?一款軟件是怎么設(shè)計(jì)開發(fā)出來的?軟件開發(fā)具體是做什么的?需要掌握哪些技能?下面讓我簡(jiǎn)單的大伙聊聊軟件開發(fā)。
什么是軟件開發(fā)?
軟件其實(shí)就是實(shí)現(xiàn)具體功能的程序。
什么是程序?
程序其實(shí)就是完成一些列動(dòng)作的過程描述。這個(gè)過程是由計(jì)算機(jī)語言進(jìn)行編寫的。
什么是計(jì)算機(jī)語言?
計(jì)算機(jī)是沒辦法直接理解我們?nèi)祟惖恼Z言,當(dāng)我們需要計(jì)算機(jī)輔助我們執(zhí)行一些操作,比如一些簡(jiǎn)單的算術(shù)運(yùn)算(加、減、乘、除),則需要通過計(jì)算機(jī)語言將我們程序翻譯成計(jì)算機(jī)能夠理解的指令集.,而指令集是計(jì)算機(jī)能夠直接理解和執(zhí)行的。
計(jì)算機(jī)語言有哪些?
機(jī)器語言:由0和1組成的二進(jìn)制指令集,能夠直接被計(jì)算機(jī)CPU識(shí)別的執(zhí)行,所以通過機(jī)器語言編寫的程序執(zhí)行的效率是最高的,但是開發(fā)的難度也是最大的,現(xiàn)在的主流軟件開發(fā)不會(huì)直接使用機(jī)器語言進(jìn)行軟件代碼的編寫。
匯編語言:通過一些指定的關(guān)鍵字代替0,1編碼,比如mov,push,pop等,與機(jī)器語言相比相對(duì)降低了開發(fā)的難度,也更易于理解,但是開發(fā)起來也是相當(dāng)?shù)睦щy,而且不易于調(diào)試。
高級(jí)語言:
現(xiàn)在的軟件開發(fā)基本都是通過高級(jí)語言進(jìn)行開發(fā),例如C、C 、Java等,相對(duì)于前面提及到開發(fā)語言,雖然高級(jí)語言執(zhí)行效率沒有前面提到的兩種開發(fā)語言高(計(jì)算機(jī)沒辦法直接理解高級(jí)語言編寫的程序需要將高級(jí)語言編寫的程序翻譯成計(jì)算機(jī)能夠理解的指令集),但是高級(jí)語言比較符合人類語言的模式,更易于開發(fā)和維護(hù),所以現(xiàn)在主流的軟件開發(fā)都是基于高級(jí)語言進(jìn)行的。
什么是java?
java是一種編程語言,我們可以用java語言編寫特定的程序,將程序交給計(jì)算機(jī)去執(zhí)行輔助我們完成任務(wù)。
為什么我們要使用java?
java語言有很多重要的特點(diǎn),現(xiàn)在我們簡(jiǎn)單的聊一下
可移植:java是一種跨平臺(tái)運(yùn)行的語言,java語言之所以能夠跨平臺(tái)運(yùn)行是因?yàn)閖ava程序是運(yùn)行在java虛擬機(jī)上面的(JVM),我們可以簡(jiǎn)單的這樣理解JVM以及對(duì)各種操作系統(tǒng)做了適配,我們編寫的代碼可以通過java的編譯器編譯成字節(jié)碼,而各操作系統(tǒng)平臺(tái)有相對(duì)應(yīng)的jva字節(jié)碼解析器將其解析成該平臺(tái)能夠執(zhí)行的機(jī)器碼,所以java語言可以跨平臺(tái)運(yùn)行。
垃圾回收:所謂的垃圾回收,其實(shí)是對(duì)程序運(yùn)行時(shí)程序占用內(nèi)存的回收,java作為一種高級(jí)語言,提供了內(nèi)存自動(dòng)回收的機(jī)制(GC),能夠幫我們自動(dòng)清理沒有引用的對(duì)象釋放掉其占用的內(nèi)存資源,這塊現(xiàn)在只是簡(jiǎn)單的提一下,后面會(huì)詳細(xì)的描述java語言垃圾回收機(jī)制以及怎么進(jìn)行GC優(yōu)化我們程序使用的內(nèi)存。
面向?qū)ο螅簀ava是一種面向?qū)ο蟮木幊陶Z言,非常的適合大型軟件的開發(fā)設(shè)計(jì)。
軟件生態(tài):java經(jīng)過了十幾年的發(fā)展,其軟件生態(tài)已經(jīng)非常的完整,良好的開源社區(qū)支持,文檔支持。相對(duì)應(yīng)的開發(fā)工具,開發(fā)框架也是非常完善的
經(jīng)過上面的介紹希望能給剛接觸軟件開發(fā)的同學(xué)會(huì)有一些幫助,后面這個(gè)系列文章會(huì)不停的更新,例如java學(xué)習(xí)路線、軟件開發(fā)流程、java基礎(chǔ)、框架、中間件、微服務(wù)等
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。