編程基礎(chǔ)知識(shí) 編程到底難在哪里?
編程到底難在哪里?謝謝你的邀請(qǐng)!作為一名IT行業(yè)從業(yè)者和教育工作者,讓我回答這個(gè)問(wèn)題。首先,編程可分為三個(gè)階段。第一階段是理解編程語(yǔ)言本身的語(yǔ)法。雖然這一部分也很難,大多數(shù)人,即使沒(méi)有任何編程基礎(chǔ),也
編程到底難在哪里?
謝謝你的邀請(qǐng)
!作為一名IT行業(yè)從業(yè)者和教育工作者,讓我回答這個(gè)問(wèn)題。
首先,編程可分為三個(gè)階段。第一階段是理解編程語(yǔ)言本身的語(yǔ)法。雖然這一部分也很難,大多數(shù)人,即使沒(méi)有任何編程基礎(chǔ),也可以在系統(tǒng)學(xué)習(xí)的過(guò)程中掌握它。
第二階段是通過(guò)編程語(yǔ)言完成各種邏輯運(yùn)算,這是編程的難點(diǎn)。此時(shí),我們需要掌握各種算法和數(shù)據(jù)結(jié)構(gòu)。事實(shí)上,編程的問(wèn)題歸根到底是一個(gè)數(shù)學(xué)問(wèn)題,但不是一個(gè)數(shù)學(xué)基礎(chǔ)良好的人就能成功地掌握編程。在這個(gè)過(guò)程中還有一個(gè)轉(zhuǎn)變的過(guò)程。關(guān)鍵在于算法設(shè)計(jì)能力的培養(yǎng),它考驗(yàn)著程序員的邏輯思維能力和抽象能力。
第三階段是通過(guò)編程完成各種資源的整合和運(yùn)作,這也是編程的難點(diǎn)。此時(shí),對(duì)程序員的知識(shí)結(jié)構(gòu)提出了更高的要求,涉及操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)等計(jì)算機(jī)基礎(chǔ)知識(shí)。隨著云計(jì)算和大數(shù)據(jù)的發(fā)展,云計(jì)算平臺(tái)和大數(shù)據(jù)平臺(tái)對(duì)編程的影響越來(lái)越大,因?yàn)槌绦騿T需要利用這些平臺(tái)來(lái)完成資源整合。與算法設(shè)計(jì)相比,雖然這部分難度也比較大,但經(jīng)過(guò)一個(gè)系統(tǒng)的學(xué)習(xí)過(guò)程,程序員的資源整合能力會(huì)越來(lái)越強(qiáng),這部分難度可以通過(guò)努力徹底解決。
對(duì)于許多編程初學(xué)者來(lái)說(shuō),學(xué)習(xí)的最大困難是如何建立自己的編程思想。要樹(shù)立自己的編程思想,可以從編程過(guò)程和編程方法兩個(gè)方面入手。雖然不同的編程語(yǔ)言有不同的編程過(guò)程,但歸根結(jié)底這是一個(gè)抽象的問(wèn)題。為了提高他們的抽象能力,多做實(shí)驗(yàn)是非常有效的。
為什么傳統(tǒng)行業(yè)幾乎都用Oracle,而互聯(lián)網(wǎng)行業(yè)幾乎都不用Oracle呢?
首先,銀行需要絕對(duì)穩(wěn)定??梢晕兴珯?quán)負(fù)責(zé)使用付費(fèi)的非開(kāi)源產(chǎn)品。此外,數(shù)據(jù)庫(kù)制造商將有專(zhuān)門(mén)的維護(hù),以節(jié)省擔(dān)心,努力和安全。
MySQL開(kāi)源產(chǎn)品的穩(wěn)定性沒(méi)有O高,很容易深入開(kāi)發(fā)。然而,MySQL的使用完全取決于您。銀行不會(huì)找一個(gè)特別小組來(lái)維護(hù)隨時(shí)可能發(fā)生的定時(shí)炸彈。此外,銀行有大量的交易,但它不像互聯(lián)網(wǎng)應(yīng)用程序那樣超級(jí)并發(fā)。它們大多由內(nèi)部接口使用,分為兩部分,區(qū)域是不同的服務(wù)器,每個(gè)區(qū)域只存儲(chǔ)自己的相關(guān)數(shù)據(jù)。比如,如果你把錢(qián)從廣東轉(zhuǎn)到山東,原來(lái)的山東賬戶就不會(huì)保存你的記錄。只有轉(zhuǎn)移后,山東數(shù)據(jù)庫(kù)才能有記錄。在依托甲骨文商業(yè)委托的基礎(chǔ)上,我行還將進(jìn)行對(duì)賬,確保數(shù)據(jù)一致性。
但是互聯(lián)網(wǎng)企業(yè)是不同的。超級(jí)并發(fā)和小型計(jì)算機(jī)不再滿足并發(fā)條件。即使Oracle足夠優(yōu)秀,要使用專(zhuān)門(mén)為更高并發(fā)性設(shè)計(jì)的MySQL,您也需要一個(gè)專(zhuān)業(yè)的團(tuán)隊(duì)來(lái)維護(hù)它。穩(wěn)定性不如Oracle,但是分布式集群可以避免這種情況。由于開(kāi)源,MySQL還可以根據(jù)自己的需要定制自己的功能。但大多數(shù)公司并不使用它。小公司也是這么用的。阿里巴巴對(duì)MySQL的重新開(kāi)發(fā),除了可以自己使用,還可以銷(xiāo)售服務(wù)。
另外,除了并發(fā)問(wèn)題,阿里巴巴選擇m而不是O的原因是Oracle太貴,因?yàn)槠髽I(yè)要考慮收支。就連阿里巴巴的利潤(rùn)率也不如銀行