對初學者究竟從什麼語言學起剖析

來源:互聯網
上載者:User

先自我介紹,好給非相關專業的人一點信心:本人英語系出身的。學程式設計時間也不短了,自視總算有了入門水平吧,目前做了一個月不到的C#程式員。

這是個爭論不休的話題,網上經常會有《初學編程從什麼語言開始》等文章被頂到無以複加的地步。不用我說,大家也都明白,因為已經入門的人的觀點非常不統一。每個人走過的路不一樣。

好了,上面對問題做了一個粗略的介紹,下面對問題進行分析,並試圖給出結果:

首先我們看到,初學都被推薦的語言種類是比較有限的,似乎沒有人推薦從matlab這樣的語言開始學習吧?粗略統計一下,給初學者推薦的語言大約有這麼幾種:Pascal、C、Visual Basic、C++、Java、C#
其實也就可以分為兩類:過程語言和物件導向語言
過程語言:Pascal、C,還有Basic?
物件導向:Visual Basic、C++、Java、C#,對VB面向什麼大家有爭論,可以暫且擱在一邊,因為這不是本文要討論的內容

當今時代是物件導向的時代,最終程式員多數是要使用物件導向語言的。但是究竟從什麼語言學起呢?

其實這兩種語言是兩種思想的對象(也叫執行個體?),編程者要學的僅僅是編碼嗎?顯然不是。要學的是什嗎?我想聰明的人已經猜到了:思想。對!就是思想。其實建議直接從物件導向語言學起的學者們,主要是怕人們從過程語言過來,會無法接受物件導向的觀念。而推薦從面向過程語言開始學習的學者主要是考慮到過程方法在程式設計中的基礎性地位,以及由此形成的思維對於程式設計思想嚴謹性的影響。

我這裡要大放一下厥詞:這些顧慮都是多餘的!人是活的,他可以接受任何思想,only if他願意。這就如同使用DOS和使用Windows一樣,有人先學DOS,有人先學Windows,誰見過先學一者後無法學好後者的?如果見到的話,這樣的人是不是對後者具有一種抑制心理呢?好了,答案我想聰明的讀者都已心中有數。這裡問一個問題:程式員學習語言會有抑制心理嗎?如果有,他還適合幹這行嗎?

Fine!我想大家已經站在同一邊了。於是:學習什麼語言不重要,重要的是掌握思想,搞懂語言的思維方式。

下面具體分析究竟如何選擇初學語言。

馬克思說:具體問題,具體分析。是很有道理的。中國人是善於綜合的民族,我們的觀點怎麼可以只是集中在小小的語言本身之上?我們應該根據多方面的因素綜合考慮才對。

從簡單的語言學起,逐漸學習更複雜(複雜並不一定難,只是內容多,有時反而簡單)的語言,這樣一步一步,逐漸增加自己的編程思想。因為簡單的語言相應的包含的思想也少些,因而更易於去揣摩。先學習一門過程語言,再學習一門物件導向語言。
下面對不同群體給出不同的建議:

想成為專業編程人員的:
很明顯,想成為專業人員,第一關就是要過意志關,C語言是不錯的選擇,對於初學者,它是夠難地。同時,它的內容也較少,思想嚴謹,很適合初學者學習過程化的思想和思維方式。
在熟練了C語言之後,可以再擴充到C++語言,此時會發現:C++怎麼如此象C語言?但隨著學習的深入,就會發現兩者的巨大差別,不久就會遇到新的思想:物件導向。在初步掌握了C++語言以後,就具備了自己選擇下一步路怎麼走的能力。(比如是深入學習C++還是轉學其它?)

對於只是偶爾借用一下編程工具的人:
學習C或Pascal感覺非常困難,怎麼辦呢?此時筆者的建議是:先學習VB6.0,因為它非常簡單,易有成就感,提高學習者的興趣。對於沒有意志的人,尤其有效,而且它的功能是非常強大的,基本可以滿足簡單的編程要求。此處還精選有用到資料庫的朋友使用VFP,它的編程風格和VB是一模一樣,又很容易對資料庫進行操作。這樣以後可以由它直接跳到VB.NET,它是一個完全物件導向,功能強大的語言。

當然了,對於學習者來講,還有一個時間問題,有人可能有四年時間,有人可能只有一個月或一周,該如何抉擇呢?

對於有足夠時間的人,依照我前面的建議應該是差不多了。當然,也可以自已選路來走,因為時間充足,可以把感興趣的一一學習,不必考慮順序。

對於時間緊的學習者來講,首先要確定自己要用哪種語言(即要進行哪些應用)。不同語言有不同的特性,根據要用到的特性來選擇學習什麼語言。(各種語言的特點,可以自己百度)如果沒有特定的方向或目的,筆者建議使用VB6.0,它簡直是一學就會,一拿就能用。如果要用到資料庫就用VFP。有時間的話學習一下C語言後學習VB.NET/C#/C++/Java等中的一門物件導向語言。

一句話:初學什麼語言不重要,重要的是學和思。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.