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