歡迎訪問(wèn)我的博客倔幼,同步更新: 楓山別院
基于Java 8
什么是編程
既然大家在學(xué)習(xí)編程顷蟆,那么我相信其實(shí)大家心里對(duì)編程是有一定的理解的饲齐。通俗的講钉凌,編程就是按照我們的意圖,對(duì)計(jì)算機(jī)編寫命令箩张,讓計(jì)算機(jī)運(yùn)行這些命令甩骏。
首先明確一點(diǎn),計(jì)算機(jī)只是個(gè)機(jī)器先慷,他目前沒(méi)有任何的理解能力饮笛,僅僅是個(gè)能運(yùn)行命令的工具而已。它是一個(gè)榆木腦袋论熙,死腦筋福青,只能按照你的命令運(yùn)行。
我覺(jué)得程序員更像是一個(gè)計(jì)算機(jī)的“馴獸師”脓诡,就像馬戲團(tuán)的馴獸師一樣无午,教導(dǎo)動(dòng)物去做一些表演,區(qū)別就是程序員教導(dǎo)的是一臺(tái)機(jī)器祝谚。所以我們的工作宪迟,就是發(fā)出一個(gè)一個(gè)的“口令”,讓我們的“動(dòng)物”能按照我們的意圖“表演”交惯。
因此次泽,我們學(xué)習(xí)編程,就是學(xué)習(xí)計(jì)算機(jī)能都“聽(tīng)懂”的命令而已席爽。只要熟悉了計(jì)算機(jī)能聽(tīng)懂的的語(yǔ)言意荤,那么我們就可以指揮計(jì)算機(jī)按照我們?cè)O(shè)計(jì)好的程序進(jìn)行“表演”啦。
很多很多的命令就組成了一個(gè)程序只锻。
比如你想托朋友幫你辦個(gè)手續(xù)玖像,你寫了一封信,告訴他齐饮,先干啥捐寥,再干啥笤昨。。上真。咬腋。。最后干啥睡互,一步一步的讓你朋友幫你辦理根竿。
寫一個(gè)程序,就是寫一個(gè)命令組成的“信”就珠,你要讓計(jì)算機(jī)看懂寇壳,就要按照它的語(yǔ)言的書(shū)寫規(guī)范來(lái)寫這個(gè)“信”,教它一步一步給你辦理妻怎。
同樣的壳炎,假如你用外星語(yǔ)言寫信托朋友給你辦事,估計(jì)是辦不成的逼侦。
什么是Java
其實(shí)計(jì)算機(jī)的世界匿辩,跟我們?nèi)祟惖氖澜缡怯泻芏喙餐ǖ摹?/p>
現(xiàn)在世界上最流行的人類語(yǔ)言,就是英語(yǔ)了吧榛丢。其次是普通話铲球,法語(yǔ),日語(yǔ)等等晰赞〖诓。“hello”,“你好”掖鱼,都表達(dá)同一個(gè)意思然走,就是一句你好的問(wèn)候,只是寫法和發(fā)音不同而已戏挡。
Java也只是計(jì)算機(jī)世界中的一種語(yǔ)言而已芍瑞,計(jì)算機(jī)的語(yǔ)言。其他的比較流行的褐墅,還有C拆檬,Python,Go掌栅,Rust等等秩仆,非常多的語(yǔ)言码泛。
人類誕生出不同的語(yǔ)言猾封,那是因?yàn)榈赜蛟颍煌牡胤阶匀徽Z(yǔ)言不同噪珊。
那么計(jì)算機(jī)為什么會(huì)有這么多種語(yǔ)言晌缘?
計(jì)算機(jī)語(yǔ)言的誕生齐莲,其實(shí)是有多種目的的。
第一個(gè)比較重要的磷箕,是不同的語(yǔ)言擅長(zhǎng)的領(lǐng)域不同选酗。好多計(jì)算機(jī)語(yǔ)言的發(fā)明,都是因?yàn)橛腥擞X(jué)得這種語(yǔ)言在做某種工作的時(shí)候不好用岳枷,所以就自己發(fā)明了一個(gè)芒填。比如我們要學(xué)習(xí)的Java,比較擅長(zhǎng)開(kāi)發(fā)網(wǎng)站的服務(wù)器端軟件空繁。C語(yǔ)言就比較擅長(zhǎng)開(kāi)發(fā)與操作系統(tǒng)相關(guān)的軟件殿衰。
第二個(gè)原因就是,有些語(yǔ)言是某個(gè)公司發(fā)明的盛泡,其他公司可能與該公司有競(jìng)爭(zhēng)關(guān)系闷祥,所以不想用對(duì)手發(fā)明的語(yǔ)言,于是自己又發(fā)明了一個(gè)傲诵。比較著名的就是Google與Oracle因?yàn)閍ndroid系統(tǒng)使用Java語(yǔ)言的官司了凯砍。
不同語(yǔ)言擅長(zhǎng)的領(lǐng)域不一樣,所以我們?cè)陂_(kāi)發(fā)軟件的時(shí)候拴竹,也要考慮要使用什么語(yǔ)言比較好悟衩。
為什么會(huì)有這種差別呢?
如果我讓你造一臺(tái)車殖熟,你會(huì)不會(huì)所有的零件都自己造局待?從打造螺絲釘開(kāi)始?那么要猴年馬月才能造出來(lái)啊菱属。
現(xiàn)實(shí)中钳榨,我們可以委托給一個(gè)車企代工,因?yàn)樗麄兌家呀?jīng)有相應(yīng)的生產(chǎn)線了纽门,所以可以非常方便快捷的把車造出來(lái)薛耻。
相反,你肯定不會(huì)把造車的請(qǐng)求委托給生產(chǎn)方便面的企業(yè)吧赏陵?跨行業(yè)了饼齿,他們不擅長(zhǎng)制造。
編程語(yǔ)言也是這樣的蝙搔,不同的編程語(yǔ)言就像不同的企業(yè)缕溉,擅長(zhǎng)的領(lǐng)域不同。
Java在網(wǎng)頁(yè)服務(wù)端系統(tǒng)開(kāi)發(fā)的生態(tài)非常完備吃型,這是其他語(yǔ)言比不了的证鸥。
好多開(kāi)源的軟件你可以直接拿來(lái)用,不用自己從“螺絲釘”開(kāi)始打造,汽車的零部件已經(jīng)都幫你造好了枉层,你自己組裝改造一下就可以了泉褐。