㈠ 請問各位哥哥姐姐現在要想學計算機,應該學什麼專業呢
我始終認為,對一個初學者來說,IT界的技術風潮是不可以追趕的,而且也沒有能力去追趕。我們時常看見自己的DDMM們把課本扔了,去賣些價格不菲的諸如C#, VB.Net 這樣的大部頭,這讓我感到
非常痛心。
而許多搞不清指針是咋回事的BBS站友眉飛色舞的討論C#裡面可以不用指針等等則讓我覺得好笑。
C#就象當年的ASP一樣,「忽如一夜春風來,千樹萬樹梨花開」,結果許多學校的信息學院成了「Web
學院」。
96,97級的不少大學生都去做Web了。當然我沒有任何歧視某一行業的意識。我只是覺得如 果他們
把追趕這些時髦技術的時間多花一點在基礎的課程上應該是可以走得更遠的。
幾個誤區
初學者對C#風潮的追趕其實也只是學習過程中經常遇到的幾個誤區之一。我將用一些實際的例子
來說明這 些現象,你可以按部就班的看看自己是不是屬於其中的一種或者幾種:
認為計算機技術等於編程技術:
有些人即使沒有這個想法,在潛意識中也有這樣的沖動。讓我奇怪的是,許多信息學院的學生也
有這樣的念頭。認為計算機專業就是編程專業,與編程無關的,或者不太相關的課程他統統都不管,
極端的學生只要書上沒帶「編程」兩個字他就不看。
其實編程只是計算機技術應用過程中一種復雜性最低的勞動,這就是為什麼IT業最底層的人是程
序員(CODER)。計算機技術包括了多媒體,計算機網路,人工智慧,模式識別,管理信息系統等等這
些方面。
編程工作只是在這些具體技術在理論研究或者工程實踐的過程中表達演算法的過程。編程的人不一
定對計算機技術的了解就一定很高。而一個有趣的現象是,不少大師級的計算機技術研究者是不懂編
程的。網上的炒作和現實中良好的工作待遇把編程這種勞動神秘化了。其實每一個程序員心裡都明白
,自己這些東西,學的時候並不比其它專業難,所以自然也不會高檔到哪裡去。
咬文嚼字的孔乙己作風:
我見過一本女生的《計算機網路原理》教材,這個女生象小學生一樣在書上劃滿了橫杠杠,筆記
做得滿滿的,列印出來一定比教材還厚。我不明白的是,象計算機網路原理這樣的課程有必要做筆記
?我們的應試教育的確害了不少學生,在上《原理》這一類課程的時候許多學生象學《馬列原理》一
樣逐字背誦記憶。
這乃是我見過的最愚蠢的行為。所謂《原理》,即是需要掌握它為什麼這樣做,學習why,而不是
how(怎樣做)。極端認真的學生背下乙太網的網線最大長度,數據幀的長度,每個欄位的意義,IP報
頭的格式等等,但是忘了路由的原則,忘了TCP/IP協議設計的宗旨。總之許多人花了大量的時間把書
背得滾瓜爛熟卻等於什麼也沒學。
在學習編程的時候這些學生也是這樣,他們確切的記得C#語法的各個細節。看完了C#教程後看《T
hinking in C#》(確實是好書),《Inside C#》,《C# reference》,this C#,thatC#……,然後
是網上各種各樣的關於C#語法的奇聞逸事,然後發現自己又忘了C#的一些語法,最後回頭繼續惡補…
…。有個師弟就跟我說:「C# 太難了,學了這里忘了那裡,學了繼承忘了模板。」我的回答道:「你
不去學就容易了」。我並沒有教壞他,只是告訴他,死摳C#的語法就和孔已己炫耀茴香豆的茴字有幾
種寫法一樣毫無意義。你根本不需要對的C#語法太關心,動手編程就是了,有不記得的地方一查MSDN
就立馬搞定。我有個結論就是,實際的開發過程中對程序語法的了解是最微不足道的知識。這是為什
么我在為同學用Basic(我以前從沒有學過它)寫一個小程序的時候,只花了半個小時看了看語法,然
後再用半個小時完成了程序,而一個小時後我又完全忘記了Basic 的所有關鍵字。
不顧基礎,盲目追趕時髦技術:
終於點到題目上來了。大多數的人都希望自己的東西能夠馬上跑起來,變成錢。這種想法對一個
已經進入職業領域的程序員或者項目經理來說是合理的,而且IT技術進步是如此的快,不跟進就是失
業。但是對於初學者來說(尤其是時間充裕的大中專在校生),這種想法是另人費解的。一個並未進
入到行業競爭中來的初學者最大的資本便是他有足夠的時間沉下心來學習基礎性的東西,學習why 而
不是how。時髦的技術往往容易掌握,而且越來越容易掌握,這是商業利益的驅使,為了最大化的降低
軟體開發的成本。但在IT領域內的現實就是這樣,越容易掌握的東西,學習的人越多,而且淘汰得越
快。每一次新的技術出來,都有許多初學者跟進,這些初學者由於缺乏必要的基礎而使得自己在跟進
的過程中花費大量的時間,而等他學會了,這種技術也快淘汰了。基礎的課程,比方數據結構,操作
系統原理等等雖然不能讓你立馬就實現一個linux(這是許多人嘲笑理論課程無用的原因),但它們能
夠顯著的減少你在學習新技術時學習曲線的坡度。而且對於許多關鍵的技術(比方Win32 SDK 程序的
設計,DDK的編程)來說甚至是不可或缺的。
一個活生生的例子是我和我的一個同學,在大一時我還找不到開機按紐,他已經會寫些簡單的匯
編程序了。我把大二的所有時間花在了匯編,計算機體系結構,數據結構,操作系統原理等等這些課
程的學習上,而他則開始學習HTML和VB,並追趕ASP的潮流。大三的時候我開始學習Windows 操作系統
原理,學習SDK編程,時間是漫長的,這時我才能夠用VC開發出象模象樣的應用程序。我曾一度因為同
學的程序已經能夠運行而自己還在學習如何創建對話框而懊惱不已,但臨到畢業才發現自己的選擇是
何等的正確。和我談判的公司開出的薪水是他的兩倍還多。下面有一個不很恰當的比方:假設學習VB
編程需要4個月,學習基礎課程和VC的程序設計需要1年。那麼如果你先學VB,再來學習後者,時間不
會減少,還是1年,而反過來,如
果先學習後者,再來學VB,也許你只需要1個星期就能學得非常熟練。
幾個重要的基礎課程
如果你是學生,或者如果你有充足的時間。我建議你仔細的掌握下面的知識。我的建議是針對那
些希望在IT技術上有所成就的初學者。同時我還列出了一些書目,這些書應該都還可以在書店買到。
說實在的,我在讀其他人的文章時最大的心願就是希望作者列出一個書單。
大學英語——不要覺得好笑。我極力推薦這門課程是因為沒有專業文檔的閱讀能力是不可想像的
。中文的翻譯往往在猴年馬月才會出來,而現在的許多出版社乾脆就直接把E文印刷上去。學習的方法
是強迫自己看原版的教材,開始會看不懂,用多了自然熟練。吃得苦下得狠心絕對是任何行業都需要
的品質。
計算機體系結構和匯編語言——關於體系結構的書遍地都是,而且也大同小異,倒是匯編有一本
非常好的書。《80x86匯編語言程序設計教程》(清華大學出版社,黑色封面,楊季文著)。你需要著
重學習386後保護模式的程序設計。否則你在學習現代操作系統底層的一些東西的時候會覺得是在看天
書。
計算機操作系統原理——我們的開發總是在特定的操作系統上進行,如果不是,只有一種可能:
你在自己實現一個操作系統。無論如何,操作系統原理是必讀的。這就象我們為一個晶元製作外圍設
備時,晶元基本的工作時序是必需了解的。這一類書也很多,我沒有發現哪一本書非常出眾。只是覺
得在看完了這些書後如果有空就應該看看《Inside Windows 2000》(微軟出版社,我看的是E文版的,
中文的書名想必是Windows 2000 技術內幕之類吧)。
數據結構和演算法——這門課程能夠決定一個人程序設計水平的高低,是一門核心課程。我首選的
是清華版的(朱戰立,劉天時)。很多人喜歡買C#版的,但我覺得沒有必要。C#的語法讓演算法實現過
程變得復雜多了,而且許多老師喜歡用模塊這一東西讓演算法變得更復雜。倒是在學完了C版的書以後再
來瀏覽一下C#的版的書是最好的。
軟體工程——這門課程是越到後來就越發現它的重要,雖然剛開始看時就象看馬哲一樣不知所雲
。我的建議是看《實用軟體工程》(黃色,清華)。不要花太多的時間去記條條框框,看不懂就跳過
去。在每次自己完成了一個軟體設計任務(不管是練習還是工作)以後再來回顧回顧,每次都會有收
獲。
Windows 程序設計——《北京大學出版社,Petzold著》我建議任何企圖設計Windows 程序的人在
學習VC以前仔細的學完它。而且前面的那本《Inside Windows 2000》也最好放到這本書的後面讀。
在這本書中,沒有C++,沒有GUI,沒有控制項。有的就是如何用原始的C語言來完成Windows 程序設
計。在學完了它以後,你才會發現VC其實是很容易學的。千萬不要在沒有看完這本書以前提前學習VC
,你最好碰都不要碰。我知道的許多名校甚至都已經用它作為教材進行授課。可見其重要。 上面的幾門課程我認為是必學的重要課程(如果你想做Windows 程序員)。
對於其它的課程有這樣簡單的選擇方法:如果你是計算機系的,請學好你所有的專業基礎課。如
果不是,請參照計算機系的課程表。如果你發現自己看一本書時無法看下去了,請翻到書的最後,看
看它的參考文獻,找到它們並學習它們,再回頭看這本書。如果一本書的書名中帶有「原理」兩個字
,你一定不要去記憶它其中的細節,你應該以一天至少50頁的速度掌握其要領。盡可能多的在計算機
上實踐一種理論或者演算法。
你還可以在CSDN上閱讀到許多書評。這些書評能夠幫助你決定讀什麼樣的書。
日三省乎己
每天讀的書太多,容易讓人迷失方向。一定要在每天晚上想想自己學了些什麼,還有些什麼相關
的東西需要掌握,自己對什麼最感興趣,在一本書上花的時間太長還是不夠等等。同時也應該多想想
未來最有可能出現的應用,這樣能夠讓你不是追趕技術潮流而是引領技術潮流。同時,努力使用現在
已經掌握的技術和理論去製作具有一定新意的東西。堅持這樣做能夠讓你真正成為一個軟體「研發者
」而不僅僅是一個CODER。
把最多的時間花在學習上
這是對初學者最後的忠告。把每個星期玩SC或者CS的時間壓縮到最少,不玩它們是最好的。同時
,如果你的ASP技術已經能夠來錢,甚至有公司請你兼職的話,這就證明你的天份能夠保證你在努力的
學習之後取得更好的收益,你應該去做更復雜的東西。眼光放長遠一些,這無論是對誰都是適用的。
相信你已經能夠決定是否學習C#或者什麼時候去學它了。
在網路時代,信息共有、資源共享,只是對公眾信息而言,而那些事關國計民生的核心機密則是萬萬不能與人共享的。由於我國信息產業起步較晚,到目前為止,國家和軍隊的相當一部分信息系統建立在國外的產品和技術之上,這就使我們的信息安全處於被動地位。
計算機網路的不安全因素,不僅來自黑客和計算機病毒的侵襲,而且還來自「舶來品」操作系統自身設置的陷阱。美國英特爾公司故意在其製造的晶元中留下的「後門」(即序列號,英特爾奔騰Ⅲ序列號(PSN)是英特爾公司在處理生產過程中為每顆處理器設定的一個單獨的識別號碼,通過特定的軟體讀取序列號,可以對網路中的電腦處理進行記錄、識別和跟蹤,用PSN作檢索鑰匙,用戶的個人資料將無密可保。),微軟公司開發的 WINDOWS98上則預先留有遙控竊密窗,它會根據用戶計算機硬體配置情況,生成一串與用戶名和地址相關的、全球惟一的識別碼,通過注冊程序,在用戶不知不覺的情況下,自動地傳送到網站上去,使其成為控制對方信息傳遞的載體。目前,微軟公司的 WINDOWS98操作系統在我國市場的佔有份額已達到90%以上。就連某國向我國出口的一種傳真機中,其軟體也可通過遙控進入,並能竊取用戶正在復制中的文件信息。由於我國大量的計算機關鍵晶元、軟體依賴進口,因而軟體的「陷阱窗」將成為我網路系統安全的潛在威脅。今天,我們在為軍用高技術領域的各項重大突破津津樂道的時候,千萬不要忘記這些成果許多是建立在「 隱患」之上的。可以想見,未來若發生戰事,這些所謂的高技術成果將很可能成為最易被敵人突破的一環。
㈡ 如何學好JAVA
JAVA程序員之路
很多網友問我學習Java有沒有什麼捷徑,我說「無他,唯手熟爾」。但是我卻很願意將自己學習的一些經驗寫出來,以便後來者少走彎路,幫助別人是最大的快樂嘛!
要想學好Java,首先要知道Java的大致分類。我們知道,自從Sun推出Java以來,就力圖使之無所不包,所以Java發展到現在,按應用來分主要分為三大塊:J2SE,J2ME和J2EE,這也就是Sun ONE(Open Net Environment)體系。J2SE就是Java2的標准版,主要用於桌面應用軟體的編程;J2ME主要應用於嵌入是系統開發,如手機和PDA的編程;J2EE是Java2的企業版,主要用於分布式的網路程序的開發,如電子商務網站和ERP系統。J2SE開發桌面應用軟體比起VC,VB,DEPHI這些傳統開發語言來說,優勢好象並不明顯。J2ME對於初學者來說,好象又有點深奧,而且一般開發者很難有開發環境。所以現在應用最廣泛又最好學的就是J2EE了。J2EE又包括許多組件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要學習起來可不是一兩天的事。
那麼又該如何學習J2EE呢?當然Java語法得先看一看的,I/O包,Util包,Lang包你都熟悉了嗎?然後再從JSP學起。如果你學過HTML,那麼事情要好辦的多,如果沒有,那你快去補一補HTML基礎吧。其實JSP中的Java語法也不多,它更象一個腳本語言,有點象ASP。然後你就該學一學Servlet了。Servlet就是伺服器端小程序,他負責生成發送給客戶端的HTML文件。JSP在執行時,也是先轉換成Servlet再運行的。雖說JSP理論上可以完全取代Servlet,這也是SUN推出JSP的本意,可是Servlet用來控制流程跳轉還是挺方便的,也令程序更清晰。接下來你應該學習一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代碼的混亂方式了,這種方式跟ASP又有什麼區別呢?還好,SUN提供了Javabean可以把你的JSP中的Java代碼封裝起來,便於調用也便於重用。接著就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean還是有區別的。它是一個體系結構,你可以搭建更安全、更穩定的企業應用。它的大量代碼已由中間件(也就是我們常聽到的Weblogic,Websphere這些J2EE伺服器)完成了,所以我們要做的程序代碼量很少,大部分工作都在設計和配置中間件上。至於JDBC,就不用我多說了,你如果用java編過存取資料庫的程序,就應該很熟悉。還有,如果你要用Java編發送電子郵件的程序,你就得看看Javamail了。
好了,對Java和J2EE有了一些基本概念之後,你就應該編一些程序了,千萬不要紙上談兵哦。最好找一些有實例且帶光碟的書來看,這樣看到好的程序就可以直接Ctrl+C再Ctrl+V,也不用勞您老大架再親自把它再輸一遍吧,再說直接復制還不用怕出錯,何樂而不為呢!還有就是要經常上一些好的Java編程文章,有好的文章要Cut下來,有問題盡管問,只要問題不是太傻,一般高手都會回答你的。下面介紹幾個好的Java方面的編程網站:
CSDN論壇http://www.csdn.net/ 中國最有名的技術論壇,《程序員》雜志就是他們出版的,你可以在上面提出問題,馬上就有人回答你,如果你覺得好,你可以給那人加分;
Java研究組http://www.javaresearch.org/ 上面有很多原創文章,高手還是挺多的;
Java開發者http://www.chinajavaworld.com/ 那裡Java資料比較全;
java.com.cn http://www.java.com.cn/ 看這域名就知道有多牛,注冊用戶快接近一萬了,同時在線人數也在一千左右,人氣很旺的;
IBM的開發者網http://www-900.ibm.com/developerWorks/cn/java/index.shtml IBM永遠的藍色巨人;
那麼我書也看了,程序也做了,別人問我的問題我都能解決了,是不是就成為高手了呢?當然沒那麼簡單,這只是萬里長征走完了第一步。不信?那你出去接一個項目,你知道怎麼下手嗎,你知道怎麼設計嗎,你知道怎麼組織人員進行開發嗎?你現在腦子里除了一些散亂的代碼之外,可能再沒有別的東西了吧!你現在最缺的是實際的工作經驗,而不是書本上那些憑空想出來的程序。所以你快去找一份Java的編程工作來做吧(如果是在校學生可以去做兼職啊),在實踐中提高自己,那才是最快的。不過你得祈禱在公司里碰到一個高手,而且他還願意不厭其煩地教你,這樣好象有點難哦!
還有一個辦法就是讀開放源碼的程序了。我們知道開放源碼大都出自高手,他們設計合理,考慮周到,再加上有廣大的程序員參與,代碼的價值自然是字字珠嘰,鏗鏘有力(對不起,最近《金裝四大才子》看多了)。學Java必讀的兩個開源程序就是Jive和Pet Store.。Jive是國外一個非常著名的BBS程序,完全開放源碼。論壇的設計採用了很多先進的技術,如Cache、用戶認證、Filter、XML等,而且論壇完全屏蔽了對資料庫的訪問,可以很輕易的在不同資料庫中移植。論壇還有方便的安裝和管理程序,這是我們平時編程時容易忽略的一部份(中國程序員一般只注重編程的技術含量,卻完全不考慮用戶的感受,這就是我們與國外軟體的差距所在)。Jive的資料在很多網站上都有,大家可以找來研究一下。相信你讀完代碼後,會有脫胎換骨的感覺。遺憾的是Jive從2.5以後就不再無條件的開放源代碼,同時有licence限制。不過幸好還有中國一流的Java程序員關注它,外國人不開源了,中國人就不能開源嗎?這里向大家推薦一個漢化的Jive版本—J道。Jive(J道版)是由中國Java界大名鼎鼎的banq在Jive2.1版本基礎上改編而成, 全中文,增加了一些實用功能,如貼圖,用戶頭像和用戶資料查詢等,而且有一個開發團隊在不斷升級。你可以訪問banq的網http://www.jdon.com/ 去下載,或到同濟技術論壇的伺服器上ftp://nro.sht.e.cn去下,安裝上有什麼問題,可以到論壇上去提問。Pet Store.(寵物店)是SUN公司為了演示其J2EE編程規范而推出的開放源碼的程序,應該很具有權威性,想學J2EE和EJB的朋友不要錯過了。
你一定會高興地說,哈哈,原來成為Java高手就這么簡單啊!記得我也曾碰到過一個項目經理,號稱Java很簡單,只要三個月就可以學會。其實說這種話的人就如當年小日本號稱「三個月拿下中國」一樣大言不慚。不是我潑你冷水,你現在只是學到了Java的骨架,卻還沒有學到Java的精髓。接下來你得研究設計模式了。設計模式是高級程序員真正掌握面向對象核心思想的必修課。設計模式並不是一種具體"技術",它講述的是思想,它不僅僅展示了介面或抽象類在實際案例中的靈活應用和智慧,讓你能夠真正掌握介面或抽象類的應用,從而在原來的Java語言基礎上躍進一步,更重要的是,設計模式反復向你強調一個宗旨:要讓你的程序盡可能的可重用。關於設計模式的資料,還是向大家推薦banq的網http://www.jdon.com/ ,他把GOF的23種模式以通俗易懂的方式詮釋出來,純Java描述,真是經典中的經典。有時間再研究一下MVC結構(把Model-View-Control分離開的設計思想)吧,現在很流行的Structs就是它的一種實現方式,不過Structs用起來實在是很繁,我們只要學習其精髓即可,我們完全可以設計自己的MVC結構。然後你再研究一下軟體Refactoring(重整)和極限XP編程,相信你又會上一個台階。
做完這些,你不如整理一下你的Java代碼,把那些經典的程序和常見的應用整理出來,再精心打造一番,提高其重用性和可擴展性。你再找幾個志同道合的朋友成立一個工作室吧,你可以去承接一些項目做了,一開始可能有些困難,可是你有技術積累,又考慮周全,接下項目來可以迅速作完,相信大家以後都會來找你的,所以Money就嘩啦啦的來了。。。。。。
當然你也可以參加一些開源項目,一方面可以提高自己,另一方面也是為中國軟體事業做貢獻嘛!開發者在互聯網上用CVS合作開發,用QQ,MSN,E-mail討論聯系,天南海北的程序員分散在各地卻同時開發同一個軟體,是不是很有意思呢?
下面介紹兩個好的開源項目網站:
湖北省軟體公共開發平http://gro.clinux.org/
共創聯http://cosoft.org.cn/
哇,好高興哦,我終於成為高手了!非也,非也。古人雲:「識時務者為俊傑」。你知道計算機界現在的發展形勢嗎?你知道微軟的.NET藍圖和SUN ONE計劃之間的明爭暗鬥嗎?你知道計算機技術將向何處發展嗎?其實從各大計算機廠商最近的動作,都可以看出來「Web服務將是下一代互聯網應用的制高點」,而微軟的.NET藍圖和SUN ONE計劃的斗爭焦點,也就是Web服務。Web服務就是一個嶄新的分布式計算模型,它是一系列標準的綜合(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不同語言編寫的軟體能夠輕易的集成起來,使網路資源和Web站點變成一種服務而不是混亂的垃圾場。不遠的將來,我們就可以在家裡點擊一下滑鼠,就可以完成出門旅遊的全部准備工作,包括定飛機票,定旅遊線路,定好房間等。請注意,這所有的一切都是Web站點間自動完成的,再也不用象現在一樣,表面上是電子商務,實際上很多環節都是人工操作。也許你會覺得這是天方夜談,不過就近的說,你也很有可能承接一個項目,要集成兩個企業的ERP系統。很有可能上游企業的系統是用Dephi編的,而下游企業的系統是用Java編的。你說你是Java高手,大家都看者你怎麼做呢。所以啊,你還得學習新技術,如Web服務,而且你Dephi也要懂一點吧(Dephi6現在已經提供Web服務的控制項了)。 你編的Java系統,可能要和.NET集成,所以你.NET要懂一點吧?到最後,你可能發現你已經成為Java高手了,但很多時間卻在搞別的技術。太極張三豐里說,最厲害的招式就是沒有招式,可能就是這個道理吧!
因為剛剛興起,所以網上Web服務的資料不是很多,我還是給大家推薦幾個網站吧:
中國UDDI技術聯http://www.uddi-china.org/
CSDN的柴曉路專http://www.csdn.net/develop/author/ColumnAuthor/fennivel/ (註:柴曉路也是互聯網上一個有名的人物,他發表過很多關於Web服務的文章,還出了一書,應該稱的上是中國Web服務技術的先行者)
IBM的開發者網路的XML&Web Service專欄:
http://www-900.ibm.com/developerWorks/cn/xml/index.shtml?csdn IBM可是Web服務的力推者
嗚…你費勁千心萬苦,總算成為Java高手了,怎叫人不由喜極而泣呢!是啊,真不容易,真不簡單,真叫人感動啊!那麼打個電話告訴我吧,什麼?我的電話號碼是多少?昏到,你打電話問不就知道了嗎,真是的……
如上是在網上考下來的,但個人認為SCJP證書也好,程序員等級證書也好,不要太看重它;關鍵是你手中有沒有技術,能不能拿出活來。我面試時候都是以證書為參考,主要衡量你的手段還是提問技術性問題以及一些編程方面的基礎問題。建議不要把證書看的太重。
參考資料:參考高手建議
㈢ c語言是幹嘛的
C語言是用來編寫系統的。
最開始,人們手裡除了機器碼就是匯編,沒有別的語言。但是匯編有很多硬體相關的特性,可移植性差。貝爾實驗室要解決這一問題,就研發了C語言。
C語言可以跨平台,一份代碼,配上不同的編譯器就可以在各大電腦上運行。除此之外,C語言效率驚人,在某些情況中,如果匯編水平中等以下,編出來的匯編甚至沒有C語言生成的機器碼快。
現在,NOIP(現更名為CSP-J和CSP-S)僅允許初賽和復賽使用三種語言:Pascal、C、C++,C語言的重要性不言而喻。
雖然邁入了互聯網時代,但是C語言的地位也沒有低到可以忽略。C語言在對空間和時間要求較高的設備(如嵌入式設備)中發揮著重要功能,也可以編寫各大語言的編譯器,有著比較重要的地位。
㈣ 大學生怎樣豐富課餘生活
1、參加學生會,各種社團
大學里會有院學生會和校學生會,都可以報名參加,院學生會的競爭壓力可能相對小一點,不過都是幫學院或學校處理事務的,學院的學生會會有很多部門,比如辦公室、外聯、文體、網宣、新媒體等等很多很多,你可以根據自己的興趣愛好來選擇各部門去面試的,不管在哪個部門,最後你們都會作為一個大團體來處理學院中的事務,很有鍛煉作用。還可以參加各種各樣的社團,大學里的社團可以多達幾十上百種,包含運動、舞蹈、歌唱、樂器、滑板、獻愛心等各個方面,總有一種是你喜歡,這對於參加社會實踐、豐富社交、增長課外知識有很大的意義。
加油前進吧,相信你的大學課餘生活一定會是豐富多彩的!
㈤ c語言是有什麼
想成為編程高手,那就耐心把以下文章看完!
一、為何要學編程?
每個人的動機不一樣。大致有:
1、為了找個好工作;或為了有更好的機會和更好的發展。
2、看到別人超厲害,所以也想學。
3、實際工作中很多場合需要。
4、從小就立志做個程序員,做軟體工程師。
5、振興中國的軟體事業。
。。。。。。
================================================
二、如何學編程?
1、多看好書。
差書誤人子弟,不但浪費時間和精力,而且打擊人的信心,差書使人很久都不會,讓會讓人懷疑自已的學習能力。
現在的書很多,但好書很少,特別是被大家公認很有價值的好書,更是少之又少。歷經多年時間考驗和市場風雨不殘酷洗禮而僅存的巨著,更是極其稀少。中國歷史上文學小說類書本多如牛毛,但僅存的巨著,也只不過<<紅樓夢>>等四本名著而已,編程方面也是如此。
2、多動手。
這一點很重要。而且特別重要。「紙上得來終覺淺,絕知此事要躬行。」陸游的千古名句說的就是這個道理,並且同樣適合於編程方面。
================================================
三、用什麼語言最好?
這主要取決於應用領域,每種語言都有自已的長處和不足。
1、匯編語言和C語言在單片機及工控領域用較多。另外C語言也是一種通用語言,是學C++/c#的起點。
2、C++系統編程等多個方面,最常用的編譯器是VC。
3、C#/java網路編程方面新興的。
4、VB通用。
5、還有Delphi等。。。。。。
個人建議:從未編過程的,就從學vb開始。有基礎的可直接學c++/VC。
===================================================
四、有什麼好書?
幾年前,台灣著名技術作家侯捷先生曾經寫過一篇影響很大的書評文章,叫做《MFC四大天王》。文章的意思是說在MFC的浩瀚書海中,只要認真研讀和學習其中四本,就可以「五嶽歸來不看山」。侯先生雖以MFC為例,但是這個道理卻同樣適合於MFC之外的很多具體技術領域,這不能不說是一個有趣的統計現象。
通常在某一個具體細分的技術領域,會自然而然地出現3-5本頂級著作,它們彼此互相配合,形成一個完整的體系。對於學習者來說,只需要認真研讀這幾本書,就足以升堂入室。我樂於將這種現稱為「四書五經現象」。對於讀者來說,如果能夠找到該領域中的「四書五經」,則無論在時間上還是金錢上都是最經濟的選擇。好書幾本,勝過爛書幾捆,這個體會想必大家都有。在此,幫助大家遴選各個技術領域里的「四書五經」。
編程的書可謂汗牛充棟,其中經典也是不泛其數,但絕大多數的過來人,都一致認為,要想很快的入門並盡快的投入到編程實踐中,只要其中的四到五本也就夠了,即只看經典中的經典,聖經級的書就可以了。
所謂活到老學到老,程序員是個終身學習的職業,要不斷的看書,直到放棄編程的那一天。所以,您要讀的好書也絕非以下推薦的這些書喲,呵呵。
一句話,由於我們的時間、精力、金錢都是有限的,如何以最小的代價換得最大的收獲。
================================================================
五、經典好書分類熱銷榜
1、java
java編程語言(第三版)---java四大名著----James Gosling(java之父)
java編程思想(第2版)----java四大名著----Bruce Eckel
java編程思想(第3版)----java四大名著----------------Bruce Eckel
java 2核心技術 卷I:基礎知識(原書第7版)---java四大名著-----Cay Horstmann
java 2核心技術 卷II:高級特性(原書第7版)----java四大名著-----Cay Horstmann
Effective java中文版------java四大名著--------Joshua Bloch
精通Struts:基於MVC的java Web設計與開發---孫衛琴
精通Hibernate:java對象持久化技術詳解---孫衛琴
Tomcat與java Web開發技術詳解------------孫衛琴
java與模式------------------------------閻宏
2、c#
C#程序設計-------Charles Petzold「windows編程泰山北斗」---C#語言「倚天屠龍雙劍」
C# Primer中文版--------Stanley B.Lippman---C#語言「倚天屠龍雙劍」
.NET框架程序設計(修訂版)--------Jeffrey Richter「windows編程泰山北斗」---.NET平台四大天王
C# Windows程序設計----------Charles Petzold「windows編程泰山北斗」------.NET平台四大天王
.NET程序設計技術內幕-------------Jeff Prosise---.NET平台四大天王
.NET本質論--第1卷:公共語言運行庫(中文版)--------Chris Sells---.NET平台四大天王
3、C++
C++程序設計語言(特別版)---c++八大金剛----Bjarne Stroustrup「C++之父」
C++ Primer (第3版)中文版----c++八大金剛---Stanley B.Lippman
C++ Primer (第4版)中文版----c++八大金剛---Stanley B.Lippman
C++標准程序庫—自修教程與參考手冊--c++八大金剛--Nicolai M.Josuttis
C++語言的設計和演化-----c++八大金剛----Bjarne Stroustrup「C++之父」
深度探索C++對象模型---c++八大金剛----Stanley B.Lippman
Essential C++中文版---c++八大金剛---Stanley B.Lippman
Effective C++中文版 2nd Edition-----c++八大金剛------Scott Meyers
More Effective C++中文版----c++八大金剛------Scott Meyers
C++編程思想(第2版) 第1卷:標准C++導引--------Bruce Eckel
C++編程思想(第2版)第2卷:實用編程技術 --------Bruce Eckel
C++程序設計--------------------------譚浩強
C++ 程序設計教程(第2版)--------------錢能
C++ Primer Plus(第五版)中文版---Stephen Prata
廣博如四庫全書The c++ programming language、c++ Primer
深奧如山重水復Inside the c++ object model
程序庫大全The c++ standard libray
工程經驗之積累Effective c++、More Effective c++、Exceptional c++
c++八大金剛:
1、Essentital c++---lippman---C++之父,旁枝暫略,主攻核心,輕薄短小,初學者
2、The c++ programming language----C++之父,技術權威,用詞深峻,思想深遠,c++網路全書代表,聖經。
3、c++ Primer----lippman---縱橫書市十數年,c++最佳教本,c++網路全書代表。
4、Inside the c++ object model-----lippman----揭示c++底層,非常好,非常難。
5、Effective c++-----通過50個編程實例,展示專家經驗,行文有趣,深處淺出。
6、More Effective c++----通過35個編程實例,展示專家經驗,行文有趣,深處淺出。
7、The c++ standard libray---c++標准庫的網路全書。
8、設計模式:可復用面向對象軟體的基礎------good!
4、c
C程序設計語言(第2版·新版)---C語言「倚天屠龍雙劍」---Brian W.Kernighan「C語言之父」
C Primer Plus中文版(第五版)--------C語言「倚天屠龍雙劍」---Stephen Prata
C程序設計(第三版)---------------------------譚浩強
C語言大全(第四版)---------------------------HERBERT SCHILDT
C語言介面與實現:創建可重用軟體的技術-------------DAVID R.HANSON
C語言參考手冊(原書第5版)--------------------------Samuel P.Harbison
C程序設計教程---------------------------------H.M.Deitel/P.J.Deitel
C陷阱與缺陷-----------------------------------Andrew Koenig
5、VB
Visual Basic .NET技術內幕-----VB編程三劍客-----------Francesco Balena「vb首席大師」
Windows程序設計-Visual Basic.NET語言描述--VB編程三劍客-----Charles Petzold「windows編程泰山北斗」---
.NET框架程序設計:Visual Basic.NET語言描述--VB編程三劍客--Jeffrey Richter「windows編程泰山北斗」---
Visual Basic 6編程技術大全------------------------Francesco Balena「vb首席大師」
Visual Basic.NET 從入門到精通-------------------------Petroutsos,E.
高級VISUAL BASIC編程-----------------------------------MATTHEW CURLAND
6、Delphi
Inside VCL(深入核心——VCL架構剖析)----------李維
Delphi 7高效資料庫程序設計--------------李維
面向對象開發實踐之路(Delphi版)----------李維
7、VC
Windows 程序設計(第5版)-----Charles Petzold「windows編程泰山北斗」---
Windows核心編程----------Jeffrey Richter「windows編程泰山北斗」---
Windows高級編程指南---------Jeffrey Richter「windows編程泰山北斗」---
深入淺出MFC(第二版)-----「MFC四大天王」-------侯捷
MFC Windows程序設計(第2版)---MFC四大天王」---------Jeff Prosise
Visual C++ 技術內幕(第4版)--MFC四大天王」--------David Kruglinski
深入解析MFC-------------MFC四大天王」-----------George Shepherd
Visual C++.NET 技術內幕(第6版)-MFC四大天王」------------David Kruglinski
8、vf
Visual Foxpro程序設計參考手冊-------------------張洪舉
專家門診——Visual FoxPro開發答疑160問-------------------張洪舉
Visual FoxPro 6.0/9.0解決方案與範例大全-------------------張洪舉
Visual FoxPro軟體開發模式與應用案例-------------------張洪舉
9、黑客
應用密碼學(協議演算法與C源程序-----------Bruce Schneier
網路信息安全的真相-----------Bruce Schneier
黑客大曝光:網路安全機密與解決方案(第5版)--------STUART MCCLURE
軟體加密技術內幕------------看雪學院
加密與解密——軟體保護技術與完全解決方案------------看雪學院
加密與解密(第二版)--------段鋼
10、匯編
Intel微處理器結構、編程與介面(第六版)---------Barry B. Brey
80*86、奔騰機匯編語言程序設計---------Barry B. Brey
Windows環境下32位匯編語言程序設計(第2版)-----------羅雲彬
IBM-PC匯編語言程序設計(第2版) 本書是國內優秀教材--------沈美明 溫冬嬋
IBM PC匯編語言程序設計(第五版) 這本書籍是國外優秀教材-------PETER ABEL著,沈美明 溫冬蟬譯
11、驅動開發
Windows WDM設備驅動程序開發指南------------------------------------ Chris Cant
Windows 2000/XP WDM設備驅動程序開發(第2版)--------------------------武安河
WINDOWS 2000/XP WDM設備驅動程序開發-------------------------------- 武安河
12、網路
計算機網路第四版中文版----網路編程三劍客--------------Andrew S.Tanenbaum
TCP/IP詳解3卷本--------------------Richard Stevens----網路編程三劍客
UNIX網路編程2卷本--------------------Richard Stevens----網路編程三劍客
用TCP/IP進行網際互聯-----------Douglas E. Comer
高級TCP/IP編程-------------------Jon C. Snader
C++網路編程-----------------------Douglas Schmidt
UNIX環境高級編程(第2版)--------------------Richard Stevens
13、演算法
計算機程序設計藝術-------Donald.E.Knuth----------演算法「倚天屠龍」雙劍
演算法導論-----------------Thomas H. Cormen--------演算法「倚天屠龍」雙劍
離散數學及其應用----------Kenneth H.Rosen
具體數學—計算機科學基礎--------Donald.E.Knuth
14、圖形編程
Windows 圖形編程----------------FENG YUAN --圖形編程界的Charles Petzold之書
15、數據結構
數據結構 C++語言描述》58.00(Data Structures C++) William Ford,William Topp 劉衛東 沈官林
數據結構演算法與應用-C++語言描述》49.00Sartej Sahni 汪詩林 孫曉東等機械工業出版社
16、軟體工程
設計模式--可復用面向對象軟體的基礎
重構—改善既有代碼的設計
17、操作系統
深入理解計算機系統(修訂版)-------RANDAL E.BRYANT
18、Unix
UNIX 網路編程 卷I 套接字聯網API(英文版 第三版
UNIX 編程藝術
UNIX環境高級編程(英文影印第2版-----UNIX編程「聖經
UNIX環境高級編程(英文影印版)(第2版)
UNIX環境高級編程(第2版)
UNIX環境高級編程(第2版)---UNIX編程「聖經
UNIX網路編程 第1卷:套介面API(第3版)
UNIX網路編程卷2:進程間通信(第2版)(英文影印版)
UNIX 網路編程(第二版)第2卷:進程間通信
UNIX編程環境
UNIX 網路編程 卷I 套接字聯網API(英文版 第三版
UNIX系統編程
UNIX環境高級編程
UNIX 網路編程 卷I 套接字聯網API(英文版 第三版)
UNIX網路編程 第1卷:套介面API(第3版)
UNIX 網路編程(第二版)第2卷:進程間通信
UNIX網路編程卷2:進程間通信(第2版)(英文影印版)
UNIX 網路編程(第2版)第1卷:套介面API和X/Open 傳輸介面API
UNIX網路編程(卷1):連網的APLS:套接字與XTI(第二版)(英文影印版)
UNIX環境高級編程
Unix技術手冊
19、Linux
Linux內核設計與實現
Linux內核完全注釋
LINUX內核分析及編程
GNU/Linux 編程指南(第二版)
Linux設備驅動程序(第三版)
嵌入式設計及Linux驅動開發指南——基於ARM 9處理器
Linux設備驅動程序 第三版(英文影印版)
Linux內核設計與實現(第2版)
Linux內核設計與實現(英文影印版)(第2版)
linux技術手冊
20、游戲編程
Windows游戲編程大師技巧(第二版
游戲之旅--我的編程感悟
OpenGL超級寶典:第三版
OpenGL編程指南(第四版)
java 游戲高級編程
J2ME手機游戲編程入門
游戲之旅——我的編程感悟
游戲開發中的人工智慧(英文影印版)
3D游戲:卷2 動畫與高級實時渲染技術
面向對象的游戲開發
java 游戲高級編程
3D游戲編程大師技巧
游戲編程精粹
面向對象的游戲開發
3D游戲 卷1:實時渲染與軟體技術
3D游戲:卷2 動畫與高級實時渲染技…
J2ME手機游戲編程入門
Direct3D游戲編程入門教程(第二版…
21、移動開發
Windows Mobile手機應用開發
SYMBIAN OS C++手機應用開發
Windows Mobile手機應用開發--傅曦 齊宇 徐駿
SYMBIAN OS C++手機應用開發 (第2卷)------------------RICHARD HARRISON著,周良忠 王伯欣譯
SYMBIAN OS C++手機應用開發---------------RICHARD HARRISON著,周良忠譯
Windows CE.net內核定製及應用程序開發---------周毓林 寧楊 陸貴強 付林林
嵌入式系統Windows CE 開發技巧與實例--傅曦
Palm OS編程實踐---絕版
22、單片機
單片機輕松入門----------------------------------周堅(平凡老師)
單片機典型模塊設計實例導航-----------------------求是科技
例說8051----------------------------------------張義和 陳敵北
KEIL CX51 V7.0單片機高級語言編程與ΜVISION2應用實踐-----徐愛鈞
單片機應用程序設計技術(修訂版)--------------------周航慈
8051單片機實踐與應用-------------------------------吳金戎
MCS-51系列單片機實用介面技術---------------------李華
23、串並口通訊
Visual C++/Turbo C串口通信編程實踐------------------龔建偉
VISUAL BASIC與RS-232串列通信控制(最新版)----------范逸之
24、電子
無線電識圖與電路故障分析輕松入門(第二版) -------------------胡斌
無線電元器件檢測與修理技術輕松入門(第二版) -------------------胡斌
圖表細說電子技術識圖-------------------胡斌
圖表細說電子元器件-------------------胡斌
圖表細說元器件及實用電路-------------------胡斌
================================================================
六、怎樣成為一名程序員
通過以下4個階段的訓練, 沒有任何編程基礎人就可以成為一名普通的程序員。
第一階段:掌握一種編程語言
學習內容:學習任意一種主流的編程語言。例如C++語言。
學習目標:熟練掌握一種語言的語法和基本的編程技巧。
學習時間:3個月左右
注意事項:編程語言和編程工具是兩回事情,編程語言是指C++、Basic、Object Pascal等程序設計語言,它們是像漢語、英語一樣的抽象的語法規則,編程工具是指Visual C++ 6.0、Visual Basic 6.0、Delphi 7.0等包括了源代碼編輯器、程序編譯器在內的集成化、可視化的軟體開發工具。C++源程序可以在Visual C++ 6.0里編寫,也可以在記事本里編寫,而同一個C++源程序可以用Visual C++ 6.0編譯、執行,也可以用C++ Builder 5.0 編譯、執行,所以: C++ 不等於 Visual C++ 6.0
第二階段:掌握一種編程工具
學習內容:學習任意一種主流的編程工具。注意編程工具要和第一階段學習的編程語言一致,例如你學習的編程語言是C++,那麼編程工具要選Visual C++ 6.0或者C++ Builder 5.0。
學習目標:熟練掌握這種編程工具基本用法,例如:菜單、組件、程序跟蹤調試、編寫Windows程序等。
學習時間:3個月左右
注意事項:這個階段側重編程工具的使用,同時進一步熟習編程語言,最後達到能熟練編寫各種基本的Windows程序。
第三階段:掌握「演算法與數據結構」這門課程
學習內容:演算法與數據結構,推薦許卓群的《數據結構》,高等教育出版社出版。
學習目標:熟練掌握各種常用的演算法與數據結構
學習時間:4個月左右
注意事項:這是一門不可或缺的軟體開發課程,曾經有一本經典計算機專業書籍叫做《數據結構+演算法=程序》,這說明了數據結構和演算法的重要性。它能幫我們建立良好的程序分析與設計能力。
第四階段:實現一個模擬的小型軟體項目
學習內容:軟體項目的開發過程
學習目標:掌握軟體項目的基本開發過程和方法
學習時間:4個月左右
注意事項:自己完成一個模擬的小型軟體項目,強烈推薦做一個MIS(管理信息系統)軟體,參考用書推薦「中小型信息管理系統開發實例系列叢書」,人民郵電出版社,它的例子詳實有效,以它為基礎再加以擴展,就可以做出實用的MIS軟體來。此叢書包括多種開發工具,大家可以選擇適合自己的:《VISUAL FOXPRO6.0 資料庫系統開發實例導航》 《java資料庫系統開發實例導航》 《VISUAL BASIC資料庫系統開發實例導航》《VISUAL C++6.0資料庫系統開發實例導航》 《ASP.NET資料庫管理系統開發實例導航》 《DELPHI資料庫系統開發實例導航》《POWERBUILDER 8.0資料庫系統開發實例導航》。
最後將完成的模擬軟體刻成光碟,作為自己的作品去面試,以此踏上自己光輝的職業程序員之路!
㈥ 請問:什麼是「SCI」
SCI的收編范圍很廣 ,主要收錄自然科學的各個學科 ,包括化學、物理學、生物學、環境科學、醫學、葯學、工程技術、農業等 ,側重基礎科學的研究方面。其文獻來源涵蓋 45個國家或地區的最具影響力的期刊 560 0多種 (擴大版 ),
收錄的主要是期刊論文和學術論文。
SO第一種說法是錯誤的
㈦ 如何系統地自學 Python
是否非常想學好 Python,一方面被瑣事糾纏,一直沒能動手,另一方面,擔心學習成本太高,心裡默默敲著退堂鼓?
幸運的是,Python 是一門初學者友好的編程語言,想要完全掌握它,你不必花上太多的時間和精力。
Python 的設計哲學之一就是簡單易學,體現在兩個方面:
語法簡潔明了:相對 Ruby 和 Perl,它的語法特性不多不少,大多數都很簡單直接,不玩兒玄學。
切入點很多:Python 可以讓你可以做很多事情,科學計算和數據分析、爬蟲、Web 網站、游戲、命令行實用工具等等等等,總有一個是你感興趣並且願意投入時間的。
廢話不多說,學會一門語言的捷徑只有一個: Getting Started
¶ 起步階段
任何一種編程語言都包含兩個部分:硬知識和軟知識,起步階段的主要任務是掌握硬知識。
硬知識
「硬知識」指的是編程語言的語法、演算法和數據結構、編程範式等,例如:變數和類型、循環語句、分支、函數、類。這部分知識也是具有普適性的,看上去是掌握了一種語法,實際是建立了一種思維。例如:讓一個 Java 程序員去學習 Python,他可以很快的將 Java 中的學到的面向對象的知識 map 到 Python 中來,因此能夠快速掌握 Python 中面向對象的特性。
如果你是剛開始學習編程的新手,一本可靠的語法書是非常重要的。它看上去可能非常枯燥乏味,但對於建立穩固的編程思維是必不可少。
下面列出了一些適合初學者入門的教學材料:
廖雪峰的 Python 教程 Python 中文教程的翹楚,專為剛剛步入程序世界的小白打造。
笨方法學 Python 這本書在講解 Python 的語法成分時,還附帶大量可實踐的例子,非常適合快速起步。
The Hitchhiker』s Guide to Python! 這本指南著重於 Python 的最佳實踐,不管你是 Python 專家還是新手,都能獲得極大的幫助。
Python 的哲學:
學習也是一樣,雖然推薦了多種學習資料,但實際學習的時候,最好只選擇其中的一個,堅持看完。
必要的時候,可能需要閱讀講解數據結構和演算法的書,這些知識對於理解和使用 Python 中的對象模型有著很大的幫助。
軟知識
「軟知識」則是特定語言環境下的語法技巧、類庫的使用、IDE的選擇等等。這一部分,即使完全不了解不會使用,也不會妨礙你去編程,只不過寫出的程序,看上去顯得「傻」了些。
對這些知識的學習,取決於你嘗試解決的問題的領域和深度。對初學者而言,起步階段極易走火,或者在選擇 Python 版本時徘徊不決,一會兒看 2.7 一會兒又轉到 3.0,或者徜徉在類庫的大海中無法自拔,Scrapy,Numpy,Django 什麼都要試試,或者參與編輯器聖戰、大括弧縮進探究、操作系統辯論賽等無意義活動,或者整天跪舔語法糖,老想著怎麼一行代碼把所有的事情做完,或者去構想聖潔的性能安全通用性健壯性全部滿分的解決方案。
很多「大牛」都會告誡初學者,用這個用那個,少走彎路,這樣反而把初學者推向了真正的彎路。
還不如告訴初學者,學習本來就是個需要你去走彎路出 Bug,只能腳踏實地,沒有奇跡只有狗屎的過程。
選擇一個方向先走下去,哪怕臟丑差,走不動了再看看有沒有更好的解決途徑。
自己走了彎路,你才知道這么做的好處,才能理解為什麼人們可以手寫狀態機去匹配卻偏要發明正則表達式,為什麼面向過程可以解決卻偏要面向對象,為什麼我可以操縱每一根指針卻偏要自動管理內存,為什麼我可以嵌套回調卻偏要用 Promise...
更重要的是,你會明白,高層次的解決方法都是對低層次的封裝,並不是任何情況下都是最有效最合適的。
技術涌進就像波浪一樣,那些陳舊的封存已久的技術,消退了遲早還會涌回的。就像現在移動端應用、手游和 HTML5 的火熱,某些方面不正在重演過去 PC 的那些歷史么?
因此,不要擔心自己走錯路誤了終身,堅持並保持進步才是正道。
起步階段的核心任務是掌握硬知識,軟知識做適當了解,有了穩固的根,粗壯的枝幹,才能長出濃密的葉子,結出甜美的果實。
¶ 發展階段
完成了基礎知識的學習,必定會感到一陣空虛,懷疑這些語法知識是不是真的有用。
沒錯,你的懷疑是非常正確的。要讓 Python 發揮出它的價值,當然不能停留在語法層面。
發展階段的核心任務,就是「跳出 Python,擁抱世界」。
在你面前會有多個分支:科學計算和數據分析、爬蟲、Web 網站、游戲、命令行實用工具等等等等,這些都不是僅僅知道 Python 語法就能解決的問題。
拿爬蟲舉例,如果你對計算機網路,HTTP 協議,HTML,文本編碼,JSON 一無所知,你能做好這部分的工作么?而你在起步階段的基礎知識也同樣重要,如果你連循環遞歸怎麼寫都還要查文檔,連 BFS 都不知道怎麼實現,這就像工匠做石凳每次起錘都要思考錘子怎麼使用一樣,非常低效。
在這個階段,不可避免要接觸大量類庫,閱讀大量書籍的。
類庫方面
「Awesome Python 項目」:vinta/awesome-python · GitHub
這里列出了你在嘗試解決各種實際問題時,Python 社區已有的工具型類庫,如下圖所示:
vinta/awesome-python
你可以按照實際需求,尋找你需要的類庫。
至於相關類庫如何使用,必須掌握的技能便是閱讀文檔。由於開源社區大多數文檔都是英文寫成的,所以,英語不好的同學,需要惡補下。
書籍方面
這里我只列出一些我覺得比較有一些幫助的書籍,詳細的請看豆瓣的書評:
科學和數據分析:
❖「集體智慧編程」:集體智慧編程 (豆瓣)
❖「數學之美」:數學之美 (豆瓣)
❖「統計學習方法」:統計學習方法 (豆瓣)
❖「Pattern Recognition And Machine Learning」:Pattern Recognition And Machine Learning (豆瓣)
❖「數據科學實戰」:數據科學實戰 (豆瓣)
❖「數據檢索導論」:信息檢索導論 (豆瓣)
爬蟲:
❖「HTTP 權威指南」:HTTP權威指南 (豆瓣)
Web 網站:
❖「HTML & CSS 設計與構建網站」:HTML & CSS設計與構建網站 (豆瓣)
...
列到這里已經不需要繼續了。
聰明的你一定會發現上面的大部分書籍,並不是講 Python 的書,而更多的是專業知識。
事實上,這里所謂「跳出 Python,擁抱世界」,其實是發現 Python 和專業知識相結合,能夠解決很多實際問題。這個階段能走到什麼程度,更多的取決於自己的專業知識。
¶ 深入階段
這個階段的你,對 Python 幾乎了如指掌,那麼你一定知道 Python 是用 C 語言實現的。
可是 Python 對象的「動態特徵」是怎麼用相對底層,連自動內存管理都沒有的C語言實現的呢?這時候就不能停留在表面了,勇敢的拆開 Python 的黑盒子,深入到語言的內部,去看它的歷史,讀它的源碼,才能真正理解它的設計思路。
這里推薦一本書:
「Python 源碼剖析」:Python源碼剖析 (豆瓣)
這本書把 Python 源碼中最核心的部分,給出了詳細的闡釋,不過閱讀此書需要對 C 語言內存模型和指針有著很好的理解。
另外,Python 本身是一門雜糅多種範式的動態語言,也就是說,相對於 C 的過程式、 Haskell 等的函數式、Java 基於類的面向對象而言,它都不夠純粹。換而言之,編程語言的「道學」,在 Python 中只能有限的體悟。學習某種編程範式時,從那些面向這種範式更加純粹的語言出發,才能有更深刻的理解,也能了解到 Python 語言的根源。
這里推薦一門公開課
「編程範式」:斯坦福大學公開課:編程範式
講師高屋建瓴,從各種編程範式的代表語言出發,給出了每種編程範式最核心的思想。
值得一提的是,這門課程對C語言有非常深入的講解,例如C語言的范型和內存管理。這些知識,對閱讀 Python 源碼也有大有幫助。
Python 的許多最佳實踐都隱藏在那些眾所周知的框架和類庫中,例如 Django、Tornado 等等。在它們的源代碼中淘金,也是個不錯的選擇。
¶ 最後的話
每個人學編程的道路都是不一樣的,其實大都殊途同歸,沒有迷路的人只有不能堅持的人!
希望想學 Python 想學編程的同學,不要猶豫了,看完這篇文章,
Just Getting Started !!!
㈧ 想學電腦學什麼專業比較好
軟體工程專業。軟體工程專業的就業情況一直比較不錯,在計算機專業當中的表現是比較突出的,所以如果在本科畢業之後就希望參加工作,可以重點考慮一下軟體工程專業。軟體工程專業的細分方向比較多,不少女生比較喜歡前端開發方向,另外也可以重點關注一下移動端開發方向。
第二:電競專業。畢業以後可以從事網路游戲美術,網路游戲動漫設計,游戲概念/故事情節設計,網路游戲3D設計,網路游戲人物設計,網路游戲環境設計,游戲伺服器開發,游戲引擎開發,手機游戲策劃,手機游戲開發,手機游戲程序開發,手機游戲美工,手機游戲測試等工作。發展前景也是很客觀的。
第三:大數據專業。大數據專業未來的發展前景非常廣闊,由於大數據行業的產業鏈涉及到多個環節,包括數據採集、數據整理、數據存儲、數據安全、數據分析、數據應用等,所以大數據領域的就業崗位也比較豐富,其中數據整理和數據分析相關崗位還是比較適合女生從事的。
第四:UI設計專業。UI設計相比較於編程而言,還是非常適合大眾所學習的。學習完UI設計,能獲得一份穩定而又不失樂趣的工作,給予最大程度的安全感,同時有利於追求更高品質的生活,在藝術領域可以獲得更多的啟迪。綜合考慮,UI設計是很適合初中生學習的。
內設計,環境藝術設計,網路運營等,
不過還是要你自己選擇所感興趣的專業
IT類專業。男生可以選擇學的第一類專業是IT類專業。IT專業是很多男生都比較喜歡的專業,因為這門專業屬於理科類專業,專業性很強,雖然比較難學,但是學成後,很好就業,而且就業面也比較廣,待遇也可以,因為現在是信息化社會,信息更新快,計算機行業的前景也很不錯,學成歸來,稍微努力就可以當工程師了。
互聯網 專業比較好 ,有前景,就業好
計算機科學與技術,這個是比較大專業,我就是。畢業以後什麼方向都能走。
電子商務專業是一門綜合類學科,學的東西很多也很雜。不僅要學習計算機相關技術,還要學習專業基礎知識,還要學習商務類相關課程。
推薦室內設計 UI設計 軟體開發等等這些。
學電腦技術很好。現在是信息時代了,現在哪個行業離得開IT技術的支持;哪家公司離得開計算機;哪個人離得開電腦?所以計算機行業永遠不會過時、電腦行業是常青樹。
互聯網 專業比較好 ,有前景,就業好
初中生學電腦的話,就是為了就業,你可以多看看,選擇適合自己的專業,比如:大數據,人工智慧,電子競技,動漫設計,電子商務等等
有很多都可以學,主要分為運營類,設計類,編程類
如果是自己不知道怎麼選,可以去專門的電腦學校,做個選擇專業的測試
初中生畢業想要學習計算機專業是完全可以的,選擇一個自己喜歡的專業去學習。比如大部分男孩子會選擇程序開發專業,而女生普通會選擇設計專業去學習。
互聯網時代下肯定學習互聯網技術啊。沒學歷不要緊,重點是要有學習的信心,現在這社會沒有技術是很難立足的。
㈨ 作為大學生,如何才能促使自己去讀書
現如今,大學生數不勝數,熱愛讀書的人卻少之又少,更多的時候只是為了完成任務。甚至有些大學生整個校園生活都不曾仔細地閱讀過一本書,精神何其貧瘠,心性何其浮躁,又何其令人酸澀。那麼作為一個新生世代的大學生,該如何有效地促使自己去讀書呢?我有下面幾個建議,向大學生們提出。
首先,應該有一顆想要讀書的心,並且意識到讀書的諸多好處。有這個想法,才會有動力去付之行動。讀書有利於提高一個人的氣質,會讓你由內而外的產生一種內涵感,與眾不同。而且,閱讀能夠增長你的見識與理解能力,擁有更廣闊的眼界,做到談吐不凡,氣定神閑。為將來的工作與發展,必有不可忽略的影響。誠如古人所雲,「書中自有顏如玉,書中自有黃金屋」,最為恰當不過。了解到個中有優點,方能鼓舞自己去實踐這一行為。
接著,絕對不可忽視的,是我們需要一個適合讀書的好環境。如若說是在寢室,那我覺得還是應該趁早放棄這想法。我實在沒有理由去相信,在鬧騰騰的房間里,有人在玩游戲,有人在聊天,有人在看電視劇,你還能堅持安安靜靜地看進書裡面的內容,別欺騙自己,也別太高估自己的控制力了。最正確的選擇,並且能利用資源的,自然莫過於是圖書館了。學校圖書館裡面的書,種類繁多,各式各樣,又是免費開放的。你可以挑上一本自己所滿意喜愛的,找個角落,盡情用心細細地品味。況且,周圍的人也都沉浸於書本,氣氛十分恰當,非常適合引導自己,靜下心來,認認真真地觀看。心一沉澱下來,很容易就能被書中的精華所吸引。
其次,要找些志同道合的朋友,或者說是熱愛看書的人,共同交流談論。在相互地探討中,發表自我觀點,最能激發讀書的慾望。而且不同靈感與意見地撞擊,更能使自己沉迷,真正的愛上分享書,我認為這永遠是最實用的方法。
同樣,十分重要的一點,看的書一定要精品。只有好書,才能讓人有心深讀,被吸引進去。否則食之無味的,恐怕看兩眼,便因覺得無聊而放棄了。至於好書,我建議可以上豆瓣查詢,裡面不僅會介紹各種經典好書,也有很多非常精彩的書評。
另外,也可以去多參加些學校的有關讀書的比賽,我相信每個學校都會有這樣的活動。當然也可以去參加社團,更能開闊自己的天地,接觸更多增進自我興趣的方法。
最後,最好能做些讀書筆記,記錄下自己的心得。我一直覺得觀後感是看過書後的靈魂所在,這樣才會逐漸體會到讀書的樂趣,從中取得收獲,並持之以恆。
希望通過做到以上幾點,大學生們養成堅持讀書的優良習慣,受益一生。相信到那時,同學們一定能體會到閱讀的種種妙處,不枉費自己在校園里呆了那麼些年。
㈩ 為什麼中小學生要學習編程課程
1、幫助孩子深刻理解數學理念,超前學習數學知識
數學是一門從數量關繫到空間形式角度來研究現實世界的學科。它的特性決定著其很多概念都非常的抽象,比如加減乘除、乘方開方、指數對數、微分積分、變數、函數等等。
很多小學生基本都是死記硬背數學公式和概念,解題時更多是生搬硬套,但在計算機就不一樣了,孩子用編寫程序解決問題的過程中,通過計算機的直觀、具象化演繹,會從原理和本質上把數學概念吃透,這和死記硬背的效果完全不同。
另外,孩子在編程求解的過程當中,會學到很多超前的數學知識,慢慢形成一個同齡人不具備的高維解題視角,對數學概念的理解也更加深刻。
所以不難發現,國內很多家庭,都讓孩子很小的時候就開始接觸像編程和奧數一類的興趣班,不僅是培養孩子對於數字的敏感度,還培養孩子的一個數學邏輯思維能力。而想要培養孩子的邏輯思維能力,毫無疑問編程是個絕佳的途徑。
那些編程能力出色的孩子,經過了大量的思考與訓練,在不斷解決問題的過程中,思緒越來越清楚,慢慢養成了計算機解決問題的思維。簡單來說,編程對於孩子數學成績的提升以及基本技能的學習和訓練,有著不可替代的作用。
但我們最需要明白的是,學習編程並不只是學技術,真正學習到的是一種「編程思維」:開拓孩子的邏輯能力、思維的縝密性、提高創造力,編程好的孩子對別的學科(比如數學、科學等)也都能觸類旁通,這也是為什麼近年來越來越多的中國家長開始注重讓孩子學習編程的原因。