㈠ 編程如何自學
編程有好多種的,但是萬變不離其宗。如果想要學習編程的話,首先需要給自己確定一個方向。另外,編程語言也分為很多種,目前常見的有C、C++、C#、GO、JAVA還有近兩年非常火的python。
自學的話,可以先從網上找一些基礎的入門視頻課程,無論哪種語言,或多或少都會有一些免費的學習課程,從0基礎開始,一般剛開始都是先介紹這種編程語言的來歷、發展史以及它的作用,後邊慢慢的就是一步一步教你配置開發環境(一般都是用現成的IDE,即集成開發環境),俗話說興趣才是最好的老師,為了激發學習者更加濃厚的興趣,一般環境安裝好以後都會帶領著學員開發一個極其簡單且極具代表性的程序,就是人們老說的hello world!當看著自己寫的代碼成功運行並且變成exe可執行程序的時候,相信學員在那一刻都會自信心爆棚,且滿滿的成就感。
當學到一定階段以後,就建議購買幾本紙質書籍來進行學習。也許你會有疑問,現在網路這么發達,為什麼要看紙質的書籍呢?這是因為紙質的書籍在觀看的時候更容易讓人靜下心來,而學習,心情平靜的時候才是最佳的學習狀態。如果你一直用電腦看視頻,腦海中難免就會有這樣的想法:看完這一節課我聽會兒歌、看完這節課我追會兒劇……這樣是極其不利於學習的,即便看完之後立馬再接著看課程也很難找到剛開始的那種狀態。所以如果想踏下心來學習,紙質書籍是必不可少的。
最後祝願您早日學成,成為編程大神!加油!期待有一天能用上您開發出來的軟體。
㈡ 自學程序員的步驟
1、自學演算法。因為編程語言實現了它們自己的排序和搜索,所以自學成才的程序員總是傾向於學習如何使用它們,而不是去了解它們的工作原理。
2、自學計算理論。這是關於計算機如何解決問題,以及編程語言如何構建的一門科學。從有限狀態機到 Λ 演算,在這一類中,有一大堆重量級的主題。
3、自學純數學。傳統的計算機科學涉及范圍廣泛的重要數學主題,包括線性代數、微積分、概率論和統計學。
4、自學大〇符號法(Big O notation)。這個改編自數學領域的工具,讓開發人員能夠描述並比較不同演算法的整體性能。
很多新手都是初生牛犢不怕虎,因為不了解編程領域,便不假思索地定了一些很高的目標,比如想進大廠,想做有復雜度的項目,想短時間學習一門語言並找到工作。
理想非常充實,而現實卻很骨感。可能低估了進入該行業的難度。不是您可以僅憑意圖快速完成學習過程的。
一定要先易後難,一步一來,例如,首先了解語法,嘗試編寫一個demo,接著了解高級特效,實現高級特性,然後自己脫離教程寫一些代碼,最後做項目,大概是這樣的一個邏輯。
實際上,對於新來者來說,完成這些步驟並不容易。別看學習基本語法並不難,但是如果想入門,可能會遇到很多問題,例如環境配置在安裝和使用IDE之後,代碼語法錯誤,編譯錯誤和執行 錯誤對於新手來說很難解決。如果不藉助外力,基本上是無從下手的。
㈢ 如何自學成為程序員
如何學習自學編程的方式最好的莫過於在網路上面查找資源。
目前,網路上電腦資源多不勝數。其中有很多都是基礎到精通的視頻教程。通過視頻講解。讓你明白重點知識。你通過查找一套適合自己的視頻。然後看完是基本。
這里推薦幾個可以在線學習的好網站:慕課、極客學院、傳智播客、如朋網、網易公開課等等做筆記在進行看視頻的過程中,一定注意要記筆記。
對視頻中重點的部分進行截圖,並加以文字解釋。就形成了自己的筆記。這些筆記對於你來說很重要。通過記筆記的形式,你就不需要重新觀看視頻了。只需要復習的時候查看筆記就夠了,這樣就大大的節約了時間。
下面介紹一個記筆記的好軟體:CherryTree多練習代碼在視頻中講解的代碼,我認為你至少需要自己寫三遍以上。在寫代碼的時候,就用到了上面寫的筆記了。通過看筆記截圖,即可自己慢慢摸索寫出來代碼。當然練習到一定程度,就需要你適當的做個項目。鞏固自己的知識。
程序員必備技能
1、熟練開發工具
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。
而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。
其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
2、熟知資料庫
為什麼資料庫是如此重要?作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。
雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。
3、了解操作系統
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。
Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。懂得網路協議TCP/IP。
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課。
網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,深入掌握TCP/IP協議是非常必要的。
至少,需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
4、明白DCOM/CORBA/XML/WEBServices存在的意義
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。
XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布式計算的基石之一。
5、不要將軟體工程與CMM分開
大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合。
編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。
6、需求理解能力
程序員要能正確理解任務單中描述的需求。
在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
7、模塊化思維能力
作為一個優秀的程序員,他的思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。
這樣做可以使代碼能重復利用,減少重復的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。