㈠ 如何在網上學習編程,本人想學編程,卻無從
因為我本人就是學習計算機軟體專業的,我本人就從來沒有通過網路這條途徑學習過編程。我要告訴你的一個經驗就是:如果你真的要想掌握好計算機編程技能,那麼必須要做到:一定、且多親自上機實踐才行!!絕對不能夠只是在書本上讀程序、研究程序的語法結構、關鍵字等,那樣絕對是無法掌握編程技能的!!!
要想熟練掌握計算機編程技能(其實學習任何編程語言也同理),那麼首先要有一台屬於自己的電腦、並安裝好操作系統,且安裝好相應的程序編譯開發環境,然後購買一本難度適合自己的編程教材,親自動手上機編寫、編譯、鏈接、直到調試通過教材中的所有源程序(包括每一章的例題、以及每一章後面的練習題)。
只要你真正能夠做到一直堅持下去,我保證你肯定可以熟練掌握好計算機程序設計語言。
至於說如何選擇編程語言,我個人的觀點認為:你可以首先學習 C 語言編程,因為現在 C 語言還是一種比較流行的高級語言。只要你把 C 語言編程學習得精通、熟練掌握了,我堅信你即使再學習其它的編程語言肯定也是非常容易的。因為不同的編程語言,其實編程思路都是一樣的,只是其語法、語句、以及關鍵字不同而已。
㈡ 新手程序員需要掌握的編程學習法
對於新手程序員來說,在學習過程中除了需要有一個良好的學習環境以外,還需要掌握更多的學習方法來發揮主觀能動性。新手程序員學習編程的方法有哪些呢,應該如何進行學習呢?下面電腦培訓為大傢具有介紹。
一、邊學習邊練習,適度刷題
「邊學習邊練習」非常有用,你只需每周花1、2小時的時間,把與本周的3節內容相關的數據結構和演算法都集中起來,但是一定要全部自己寫,IT培訓建議在代碼中實現一次,這將比簡單地查看或聽起來更加有效。
二、多問多互動
最好的學習方式是找到一個人,在學習過程中進行交談和互動,並及時向教師提出問題。但是很多人發現,在離開大學後,沒有學生或教師,是很難獲得有效互動的。
三、打怪升級的學習方法
在學習的過程中,很多遇到最大的問題就是無法一直堅持下去,並且在學習中發現課程越來越無趣,這個時候應該如何讓自己堅持呢?那就是採用打怪升級的學習方法。在枯燥的學習過程中給自己立一個目標,不斷的朝目標前進,昆明北大青鳥認為這樣不僅能夠收獲到更多的知識,並且還會讓自己變得更加有成就感。
四、知識的沉澱
在學習過程中,一定會遇到挫折。如果哪種知識學得不好,就別著急,這是非常必要的,如果想要在學一天、看一次就掌握所有的知識,是非常不可能的。北大青鳥認為學習知識的過程是一個反復、不斷沉澱的過程,只有不斷堅持才能掌握更加的技術。
㈢ 如何在網上學習編程
在網上可以學到很多不同的編程思想、方法、經驗和技巧,有大量的工具和作畝盯品及相關的輔導材料供下載。橋耐塌例如網站「編程課堂」(http://best.yeah.net/)主要以 VB 和 Delph;教學和敏圓交流為主,提供大量實用技巧;網站「現在時編程學園」(http://pshool.yeah.net/)是專門介紹C、VC、VB、Delphi 等的綜合編程網站;網站「 VB 編程樂園 」(http://www.vbeden.com/)提供內容豐富而且實用的編程技術文章、精選控制項、源代碼下載、計算機考試、相關軟體以及編程書籍推薦等等。
㈣ 如何學習網路編程
具體到編程,用java來實現網路編程是很容易的,可以作為網路編程的入門。使用C++和winsock相對復雜一些。
總之伍指燃看實際需要了。
你好初學網路編程者可以從以下幾個步驟開展:
1)下載一個可以互動的學習工具,通過這個與這個工具互動,我們可以及時的學到每個api的結果如果。
對於有c/c++或java基礎的朋友通過一兩個禮拜的時間就可以上手了,另外個人建議初學者可以學習dive into python。
2)掌握網路編程中會用到的幾個基本概念和內涵,比如IP地址,port號,socket等
3)記住和消化網路編程C/S模型,把server和client端編程的常用模式理解和消化
4)花幾天時間學習socket api集,api集可以分為下面幾大類:創建 socket bind listen accept收發 read/recv/recvfrom write/send/sendto關閉 close shutdown參數 getsockopt/setsockopt地址 gethostbyaddr getaddrbyhost,...在學習這些api時候,可以逗毀先關注在函數功能,參數意義上
5)結合python互動平台,實踐socket api的用法,比如socket函數怎麼使用,bind怎麼使用等等。在互動過程中,我們可以變換參數,看看調用結果如何。比如,創建一個tcp socket的語法如下:socket(AF_INET,SOCK_STREAM)創建一個udp socket的語法如下:socket(AF_INET,SOCK_DGRAM)
6)學習socket server端編程實現簡單規約比如echo,time等,然後通過cmd中的telnet來測試。
7)學習I/O模型,比如阻塞、非阻塞和反應式(select,poll,WaitForMultipleObject)等
8)學習Richard Stevens的《Unix網路編程》,深入學習其中的api原理以及服務端設計原理,並通過代碼編寫。
9)下載高性能網路編程框架twisted,筆者強烈推薦,它將使你的網路編程效率提高10倍以上。
10)學習設計模式、操作系統知識比如線程、進程、同步等。
要想真正掌握計算機技術,並在IT行業里干出一番事業來,有所作為,具有一定的編程能力是一個基本條件和要求。打好基礎學編程要具備一定的基礎,總結之有以下幾方面:
(1)數學基礎 從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,出學者有高中水平就差不多了。
(2)邏輯思維能力的培養 學程序設計要有一定的邏輯思維能力,「邏思力」的培養要長時腔虛間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。因此在學習編程過程中,我們不必等到什麼都完全明白了才去動手實踐,只要明白了大概,就要敢於自己動手去體驗。誰都有第一次。
有些問題只有通過實踐後才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。
㈤ 如何學習網路編程
1.利用WinInet函數庫寫了幾個簡單的網路應用程序:簡易登錄、查詢新書RSS等;了解了HTTP協議的一些內容。
2.看孫鑫的VC視頻教程, ,雖然照著視頻能夠寫出實例代碼來,但是僅僅是會用,其中很多原理都不理解,比如說WSA開頭的非同步函數,Winsock2對socket的一些增強或者改進等。
3.一邊上《計算機網路》的課,一邊讀《C++網路編程》。通過計算機網路課我知道了所謂的協議分析是怎麼一回事情,通過wireshark抓包分析,「協議」就如同這個詞本身意思是一樣的,是通信過程中的一種約定,規定了數據包中的每個或每幾個位元組代表了什麼意思;
4.去看《計算機網路高級編程技術》,我初略的翻了翻,看到裡面的基礎、提高、綜合訓練篇、突然反應過來:socket和操作系統提供的系統調用,基本上都是C語言介面的,協議欄位的具體表現,不就是用結構體嗎?協議中的幾個位元組代表什麼與C語言基本數據類型就能對應了起來(-_-!這是缺少實踐造成的遲鈍啊)。
5.了解下Boost.asio,Java的MINA框架,這些都是非同步I/O前攝器模式的實現,當然還有ACE_Proactor
6.閱讀《深入理解MySQL核心技術》和linux程序設計(第3版)》,從把整個知識體系都聯系起來,從socket到完整網路伺服器程序,網路編程才算正式進入了門道。
所以,正常的學習路徑應該是:C/C++語言 -->>計算機網路 -->>協議分析 -->>BSD Socket、OS API ( fork()、pthread_create()、select() ) -->>Reactor、Proactor模式
在這個過程我的體會是,最好是從Linux下或者Unix底下學習,比起Windows,Linux的編程介面設計更很簡潔,使用的基本上都是標準的數據類型,很多源代碼是開放的,而且我比較習慣於看小寫的英文單詞。。。我發現,如果最一開始能夠從整體上了解網路編程的全景,就會知道應該學習什麼,下一步該學什麼,循序漸進才是好的學習方法。
我所理解的「全景」:
--計算機網路種類有很多種:ATM、X.25、Internet(大大小小的區域網互聯而成,乙太網、令牌網等等)
---- Internet通信的協議也有很多種,其中最核心的是TCP/IP協議
---- 網路編程介面也有很多種,BSD UNIX提出了socket,是一種通信機制,是管道概念的擴展
-------- socket有三種屬性:域(或協議族)、類型、協議
-------- 最常用的協議族有AF_UNIX和AF_INET(對應現在的Internet),AF_INET的類型又有兩種:數據流(tcp)和數據報 (udp)
------------ 在<sys/types.h>和<sys/socket.h>定義了socket編程的系統調用:socket()、struct sockaddr、bind()、listen()、accept()、connect()、close()、sendto()、recvfrom()
------------ 其中bind()是用來給創建的socket命名的,如果是AF_UNIX會關聯到文件系統的一個路徑上,如果是AF_INET則會綁定到IP的埠號上;listen()用來保存未處理的客戶請求的隊列;accept()等待客戶端的連接,會創建新的socket用來處理客戶端連接。
------------ 由於歷史原因,不同的計算機使用不同的位元組序來表示整數,Intel和Motorola的處理器的位元組序就不一樣,所以要轉換為網路序(好像Unicode中的Little-Endian、Big-Endian也是這么個情況。。)
------------ 伺服器必然為多客戶服務的,為了提高運行效率,高效利用系統資源,就出現多進程、多線程的服務端程序,這就需要用到fork()和pthread_create()了,再往下就是select()、pull()等多路復用和非同步I/O機制了。
----------------為了簡化網路應用程序的開發,增加代碼的復用性、擴展性、可謂性;出現了Reacotr、Preactor等設計模式,出現了ACE、Boost.asio等框架、進一步簡化網路開發的難度,出現了WinInet、libcurl這樣的面向應用層的函數庫。
㈥ 關於如何學習網路編程
你這個問題有幾個要點要問清楚才能回答你。
1、別人的這個網路設備是否允許你調用它的底層進行編程,如果不允許,啥都別說了,去那家提供設備的公司任職吧。 如果允許,他能給你提供多麼詳細的資料,如果不給你詳細的資料,你即使學會了編程,也別想針對他的設備寫程序。舉個列子,他的API函數link是連接通道,裡面有5個參數,現在人家只給你說link是連接通道,但是5個參數的詳細用法不告訴你,你死也用不了這個函數。
2、你在別人的底層上進行二次開發,最好先確定受眾目標,因為一般來說,客戶都比較喜歡使用設備原廠家提供的管理程序,對三方的不一定接受。
3、如果你確定要做程序開發,我估計你現在的工作很難繼續了,因為這個很耗精力,很難兼顧其他工作的。
最後,如果你確定要學,就學C++上手吧,一般設備提供的SDK都是用C++寫的,調用也是用這個語言,先學這個吧。以後做界面再學其他語言,但是C一定是基礎。
㈦ 用手機如何學編程
要練習敲代碼的話,可以用在線編譯工具啊。
搜「在線編譯器」或「在線編譯工具」就可找到很多。
㈧ 程序員 如何通過網路自學編程
首要之首:不要急於選擇一種語言 新手們有一個常見的錯誤就是猶豫於判斷哪種編程語言是做好的、最該先學的。 我們有很多的選擇,但你不能說那種語言最好。 我們應該理解:空和余說到底,什麼語言並不重要。 重要的是理解數據結構、控制邏輯和設計模式。任何一種語言甚至一種簡單的腳本語言都會具有所有編程語言都共有的各種特徵,也就是說各種語言是貫通的。 我正在攻讀我的計算機學學位,我編程使用Pascal,匯編,和C語言,事實上我從來沒有把它當成職業以求獲得回報。 我一直在自學編程,工作上用不到它,我使用現有的知識,參考各種文檔和書本,學習它們的用法。 因此,不要急於選擇何種編程語言。 找出你想要開發的東西,使用一種能夠完成這項任務的語言,這就可以了。 根據各種開發平台的不同,有很多不同的軟體開發形式可供你選擇:從網站應用到桌面軟體到智能手機軟體到命令行腳本工具。 這篇文章里,我將重點介紹一些很受歡迎的入門教程和資源,它們能幫助你學會如何在各種主流的平台上編程開發。 我先假設你是一個悟性很強的讀者,但對於新手,當我談論程序代碼時還是要按照入門級的水平。 因為即使是你自己看一篇編程入門手冊,如果發現都能理解時,心情自然會很高興,這樣利於你進一步學習。 桌面腳本想要動手在Windows里或蘋果系統里編程,最簡單的方法是從一種腳本語言或宏語言開始,例如AutoHotkey (Windows) 或 Automator (蘋果系統)。 如今一些硬體程序員沖著他們的屏幕大喊大叫,說AHK和AppleScript並不是真正的編程語言。 也許他們說的是對的技術上,這些種類的語言只能做一些上層的編程。 但是對於那些只是想來脫盲、想在他們的電腦里實現一些能自動運行的程序的新手來說,這些語言會是一個絕妙的入門入口而且你會吃驚於它們豐富的功能。 例如,大家都喜愛的Texter就是Adam使用AutoHotkey開發的能獨立運行的Windows應用程序,所以說這種腳本語言遠不是只能開發小規模腳本軟體。 如果你想從AutoHotkey入手,可以參考Adam的指導: how to turn any action into a keyboard shortcut using AutoHotkey(然後,你可以下載 Texter源代碼 看看這個功能齊全的棚肆使用AHK開發的Windows應用程序的內部結構)。 HTML 和 CSS:開發網站,你第一件要知道的事情就是HTML(網頁就是由它組成的)和CSS(一種讓外觀更好看的樣式標記)。 HTML 和 CSS 並不是編程語言它們只是頁面的結構和樣式信息。 然而,在開斗滾始開發web應用程序之前你必須要學會如何手工的編寫簡單的HTML和CSS,web頁面是任何webapp的前端顯示部分。 這個 HTML 指導 是你入手的好地方。 JavaScript:當你可以通過HTML和CSS構建一個靜態頁面後,事情就開始變得有趣了因為到了該學JavaScript的時候了。 JavaScript是一種web瀏覽器上的編程語言,它的魔力就是能在頁面里製造一些動態效果。 JavaScript可以做bookmarklets, Greasemonkey 腳本, 和 Ajax, 所以它是web上各種好東西的關於因素。 學習JavaScript從這里開。 伺服器端腳本:一旦你學會了網頁里的知識,你就要開始對它添加一些動態伺服器操作為了實現這些,你需要把目光轉移到伺服器端腳本語言,例如PHP, Python, Perl, 或 Ruby。 舉個例子,如果想要製作一個網頁形式的聯系方式表單,根據用戶的輸入發送郵件,你就需要使用伺服器端腳本來實現。 像PHP這樣的腳本語言可以讓你跟web伺服器上的資料庫進行溝通,所以如果你想搭建一個用戶可以登錄注冊的網站,這樣的語言正是你需要的。 Webmonkey 是一個優秀的web開發資源網站,裡面有大量的各種web編程語言的指導手冊。 閱讀一下他們的 PHP 初學者指南。 當你感覺差不多了的時候,看看WebMonkeys PHP and MySQL tutorial 學習如何使用PHP跟資料庫交互。 網上最好的要數PHP語言官方的在線文檔和函數參考了。 每個知識點上 (例如strlen function這個)都在後面列出來用戶的評論注釋,這些對於文檔的本身是非常有價值的。 (我很喜歡PHP,但還有很多其他種伺服器端的腳本語言你們都可以選擇。) Web框架:過去數年裡,web開發人員在開發動態網站的過程中不得不一遍又一遍的針對重復遇到的問題寫出重復的代碼。 為了避免這種每次開發一些新網站都會重復勞動一次的問題,一些程序員動手搭建了一些框架,讓框架替我們完成重復性的工作。 非常流行的 Ruby on Rails 框架,作為一個例子,它利用Ruby編程語言,為我們提供了一個專門面向web的架構,普通的web應用程序都能使用它來完成。 事實上,Adam使用Rails開發了他的第一個正式的(而且是嘆為觀止的!)web應用程序,MixTape.me。這就是 他的如何在沒有任何經驗的情況下搭建一個網站。還有一些其他的web開發框架包括 CakePHP (針對 PHP 編程者), Django (針對 Python 編程中), 以及 jQuery (針對 JavaScript). Web APIs: API (應用層序編程介面) 是指不同的軟體之間相互交換的程序途徑。 例如,如果你想在你的網站上放一個動態的地圖,你可以使用Google Map,而不需要開發自己的地圖。 The Google Maps API 可以輕松的讓你通過JavaScript在程序中引入一個地圖到你的頁面上。 幾乎所有的現代的你所知道的和喜愛的web服務都提供了API,通過這些API你可以獲取到他們的數據和小工具,在你的應用程序里就可以使用這些交互過來的東西了,例如Twitter, Facebook, Google Docs, Google Maps, 這個列表遠不止這些。 通過API把其他web應用集成到你的web應用里是現在富web開發的前沿地帶。 每個優秀的主流的web服務API都附帶有完整的文檔和一些快速入手的指導(例如,這個就是 Twitter的)。 瘋狂吧。 命令行腳本如果你想開發一個程序,讓它讀取文字或文件、輸入輸出一些有用的東西,那麼,命令行腳本語言將是個不錯的選擇。 然而它並不像web應用程序和桌面應用程序那樣有吸引力和好看的外觀,但是作為快速開發的腳本語言,你卻不能忽視它們。 很多的在linux平台上運行的web腳本同樣能以命令行模式運行,例如Perl,Python和PHP,所以如果你學會了使用它們,你將能在兩種環境中使用它們。 我的學習道路一直沒離開Peal太遠,我自學Python使用的是這本優秀的在線免費書Dive into Python。 如果成為一個Unix高手也是你學習的目標,那麼你絕對要精通bash這個腳本語言。 Bash是Unix和Linux環境下的一種命令行腳本語言,它能夠為你做所以的事情:從自動備份資料庫腳本到功能齊全的用戶交互程序。 起初我沒有任何使用bash腳本的經驗,但最終我用bash開發了一個全功能的個人代辦任務管理器: Todo.txt CLI。 插件(Add-ons) 如今的web應用程序和瀏覽器都可以通過一些擴展軟體來豐富自己的功能。 由於一些現有的軟體,例如Firefox、WordPress越來越受到開發人員的關注,插件的開發也日益流行,人們都在說But if only it could do THIS 只要你掌握了HTML,JavaScript和CSS,你就可以在任何的瀏覽器里開發你想要的很多東西。 Bookmarklets, Greasemonkey user scripts, 和 Stylish user styles這些軟體都是用的更普通頁面一樣的語言寫成的, 這幾個東西都值得你去研究一些。 更高級的瀏覽器擴展程序,例如Firefox的擴展,它們可以幫助你很多。 開發Firefox的擴展,舉個例子,需要你精通JavaScript和XML(一種標記語言,類似HTML,但具有更嚴格的格式)。 早在2007年我就寫下來 how to build a Firefox extension, 這是我在笨手笨腳的研究網上的一些學習資料後獲得的成果。 很多免費的、受歡迎的web應用程序都提供了擴展框架,例如WordPress 和 MediaWiki。 這些應用程序都是用PHP寫成的,所以只有對PHP熟悉你才能做這些事情。 這個就是 如何編寫WordPress插件。 而想駕馭Google Wave前沿技術的開發人員可以從使用HTML, JavaScript, Java, 和 Python 寫小組件和小工具開始。 我寫的第一個Wave bot是跟著這個 一個下午時間的快速入門指導開始的。 開發桌面上的Web應用程序 學習編程最好的結果是你在一個環境下學的東西可以應用到另外的環境中。 先學習開發web應用程序的好處就是我們有一些方法可以讓web應用程序直接在桌面上運行。 例如, Adobe AIR 是一個跨平台的即時運行平台,它能讓你編寫的程序運行在任何裝有AIR的操作系統的桌面上。 AIR應用程序都是由HTML, Flash, 或 Flex 寫成的,所以它能讓你的web程序在桌面環境中運行。 AIR是開發部署桌面應用程序的一個優秀的選擇,就像我們提到過的 10個讓你值得去安裝AIR的應用程序。 移動應用開發 能在iPhone或者Android智能手機上運行的手機應用程序的開發如今正呈現井噴之勢,所以你也可以夢想一下如何在iTunes應用商店裡通過你的天才程序大賺一筆。 但是,作為一個編碼新手,直接奔向移動開發所經歷的學習曲線可能會很陡,因為它需要你熟悉高級的編程語言,例如Java和Objective C。 然而,你當然應該看看iPhone 和 Android 編程究竟是什麼樣子的。 閱讀這個 簡單的iPhone應用開發例子 可以初步認識一下iPhone程序的開發過程。 Android 程序都是由Java寫成的,這有一個 簡單的視頻教程教你如何開發第一個Hello Android程序(註:可能需要代理才能看這個視頻)。 耐心,刻苦,嘗試,失敗 好的程序員都有一個不達目的誓不罷休的品質,他們會驚喜於通過長期推敲和失敗換來的一點成績。 學會編程會有很好的回報的,但是學習的過程可能會是飽受挫折和孤獨的。 如果有可能,最好找個伴一起陪你做這件事。 想精通編程,這和其他事情一樣,需要堅持,反復嘗試,獲得更多的經驗。
㈨ 0基礎怎麼學編程
0基礎學習編程怎麼學方法如下:
1、對於初學者來說,可以採用視頻+書籍的方式進行學習。這兩種方式形成互補關系。編程教學視頻可以讓你迅速掌握編程,但通常比較生動、淺顯,不成系統。而書本是比較系統,深入,但是枯燥,所以最好的方法是書和視頻結合。當你已經過了入門期之後,看書、看視頻、看博客就可以隨心所欲。
2、自學編程難免遇到這種現象:學了一兩個月,發現自己會的不多。編程在一開始不會有那麼大的反饋,這種現象非常正常!關鍵是你要堅持個三個月到半年的時間,熬過這個艱難的入門期。
3、入門期遇到難題,耗了半天時間還是沒弄懂,可以暫時跳過,知識積累到一定程度,回頭再進行解決你會發現簡單多了。你遇到的那點小問題,已經有無數前輩也曾遇到過,他們總結了並分享在互聯網上了,前人的經驗是你的寶貴資源,要善於利用StackOverFlow,Quora,谷歌等。
4、有些程序員學習編程一上來就想著月薪1W+以上,這樣的學習過程會非常痛苦,很容易放棄。最好是奔著一個小項目而學習編程,當你把作品做出來了,就有成就感,同時基本上具備找工作的能力,直接找個初級的開發崗位。
再進階,你的自學之路功與名都有了。編程是一門手藝,需要反復練習,脫離書本和視頻看是否能獨立實現?學到最後的境界無非就是:我亦無他,惟手熟爾。
㈩ 怎麼在網上在線學習C++編程
去網路,然後搜索C++教程,比如你是新手,你可以搜C++初級教程,C++入門教程等等,或者在一些論壇上看到評論不錯的C++書,把名字復制下來。然後打開訊雷,在右上搜索框內粘貼名字,回車,就回有那本書的電子書了。下好的電子書有時候是PDF等一些電子書格式,按照原方法搜:PDF閱讀器,就可以了。希望對您有幫助