成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

程序員如何選擇入門編程語言?

原創
開發 開發工具 新聞
Scheme可能是“最好”的學習編程的方式,但可以等到大學里去教。在這樣一個年紀,我認為鼓勵學生發展天生的好奇心和熱情更為重要,這可能會造就出一位真正出色的程序員。如果這意味著在Visual Basic中編碼,那也沒問題。Scheme可以稍后。

【51CTO.com快譯自7月28日外電頭條】有一天,我的朋友Ned的表弟問他,對于一個想做程序員的人來說,從哪門語言入手***?他的表弟并沒有太多的編程經驗,但15歲的年紀,未來實際上也快得很,他似乎對編程很感興趣,希望這門語言可以給他打開編程世界的大門。“所以很自然的,”Ned解釋說,“我告訴他,去學習Scheme。”

嗯?!Scheme?既然Ned打開了類似于“哪種編程語言是***的”這樣的話題,看上去我們一定會陷進沒完沒了的爭論中去。有人可能說是Perl,別人會說C++,而估計有三分之一的人會推薦Visual Basic,他們會不停的爭論,從51CTO.com每月一期的編程語言排行榜來看,似乎每種語言都有自己的支持者和反對者,在***一期的榜單中,使用率***的Java也遭到了人們的質疑(詳細請參考7月編程語言排行榜:Java,正在老去的王者)。從口水上升到磚頭。但選擇Scheme?這我倒沒預料到。

Scheme:編程語言中的拉丁語?

請注意,Ned并不孤單。許多著名的大學在***年的計算機科學課程里都有Scheme。在實際的工作中也有許多人需要它。事實上,我敢說,如果你的大學只設立了C++或者Java的課程,你的學校可能不咋的,但如果你們學校有Scheme的課程,那很可能你幸運的去了一個***的學校。

Scheme是Lisp語言的一個分支,它是現今仍然在使用的最古老的編程語言之一。它提供了最少的語法和極少幾個操作符。同樣重要的是,Scheme支持函數式編程范式,這意味著它可以用數學函數表達式來編程。任何計算問題都可以使用稱為蘭布達演算的獨特數學符號來表達,從某種意義上說,Scheme算是一個蘭布達演算的解析器。

對于學生來說,這意味著Scheme可以讓你專注于算法本身,而不是語言的語法。主流的編程語言如Java和C++等都有著極其復雜的語法,這往往是由于語言在演變過程中不斷增加的新功能帶來的。它們迫使你學習許多種不同的控制結構和處理不同問題的不同方法。但Scheme不是這樣,它為每個計算問題提供同樣的簡潔而可預見的語法。“我感覺Scheme在給電腦下指令時更自然,相對于其他語言,”Ned說。

不過,Scheme?我無法看到它的優勢。為今后的編程學習打下簡單而堅實的基礎確實很好,但是當我15歲時,我對真正的邏輯和數學沒有什么興趣。我著迷的只是怎樣讓電腦完成各種各樣好玩的工作——我要很遺憾地說,“執行蘭布達演算的算法”,沒意思;而編個視頻游戲?很酷。

當然,除了運行算術題,你也可以讓Scheme做更多。今天,它已經是一個正式的語言,可以在幾乎所有平臺上運行。
但是,我對Scheme***的懷疑仍然是,它本質上是一個只寫的語言。一個程序看起來非常像另一個。它的語法很簡單,但副作用是你必須要讀懂源代碼才知道Scheme想要做什么。這使Scheme成為一門良好的教學編程語言,但對于一個15歲,對計算機能做什么非常好奇的孩子,Scheme是糟糕的。

軟件工程的現狀

不錯,有些人會說,我們不需要那么多黑客,需要的是更多受過訓練的軟件工程師;從Windows SDK入手學習編程,被漂亮的用戶界面吸引只會導致壞習慣;還有不理解基礎算法的程序員算不上好程序員——我自己就說過很多次。

可是 “軟件工程”的概念到底是什么呢?它是否真的算是工程學呢?也許不是,大西洋系統行會(Atlantic Systems Guild)會長Tom De Marco說。“軟件開發在本質上不同于自然科學比如物理,它的特性注定了無法非常準確的捕捉到所描述的東西,”這是De Marco在***一期IEEE軟件雜志上發表的文章。“軟件開發在某種程度是而且永遠是一種實驗。實際的軟件建設雖然不一定是實驗,但它在概念上還是實驗。”

換言之,編程是藝術的科學,無論程序員多么精通于實踐。創造有效的軟件解決方案需要洞察力、靈感、大膽,并經常要有些運氣。當然,有好的程序員和不好的程序員——但要把軟件開發和土木工程畫上等號是件愚蠢的事。正如Jeff Atwood所說的那樣,“我們做的是工藝,不是工程。”

如果單純從軟件工程和專業性角度解答程序員如何選擇合適的編程語言,那我們必須考慮具體的需求和應用場景,是做Web開發還是桌面端開發?是做前端還是服務端編程?這樣看來你講面對PHP、C++或者XML或者C語言之類的選擇。在51CTO.com與Windows教父一次關于未來編程語言的發展方向的對話中,Jeffrey提到了編程語言將向自動化和智能化發展,但這并不意味著我們不需要一些基本的編程邏輯和思考的訓練,編程語言可以讓我們控制硬件,但程序卻需要程序員來控制。

因此,15歲,我想說,Scheme可能是“***”的學習編程的方式,但可以等到大學里去教。在這樣一個年紀,我認為鼓勵學生發展天生的好奇心和熱情更為重要,這可能會造就出一位真正出色的程序員。如果這意味著在Visual Basic中編碼,那也沒問題。Scheme可以稍后。

***,我還是直說了吧,我建議的***門編程語言是Python,現在讓磚頭飛過來吧!

投票調查

您的***門編程語言是什么?
C語言
C++
Java
Pascal
BASIC
其他

您認為哪種編程語言最適合入門學習?
C語言
Java
Ruby
Python
PHP

【更多關于編程語言的討論】

  1. 程序員如何選擇合適的編程語言
  2. 詳談學習編程語言的策略
  3. 對話Windows教父:未來編程語言的發展方向
  4. Java以外的選擇 Scala編程語言簡介
  5. 教你如何有效編程的十四種方法

【51CTO.com譯稿,非經授權請勿轉載。合作站點轉載請注明原文譯者和出處為51CTO.com,且不得修改原文內容。】

原文:What's the best first language for a programmer?      作者:Neil McAllister

責任編輯:佚名 來源: 51CTO.com
相關推薦

2009-02-27 09:25:28

編程語言程序員C#

2009-03-02 09:40:13

程序員程序語言開發

2017-12-06 08:01:52

程序員編程代碼

2021-10-26 16:25:25

編程語言JavaPython

2013-12-30 10:08:13

2015-02-03 02:40:33

程序員盲人程序員

2010-03-22 09:32:42

自學編程

2015-03-20 10:40:29

程序員程序員如何開始如何入門

2015-05-19 14:34:17

程序員編程語言

2013-08-23 11:06:34

編程語言

2013-05-30 13:30:00

代碼效率程序員

2015-06-10 10:43:07

2012-08-30 10:05:40

編程編程語言程序員

2013-11-14 10:05:25

程序員職業轉型

2018-07-06 15:25:50

程序員編程python

2012-08-07 09:29:09

程序員編程

2015-07-14 10:21:58

2022-05-23 07:56:19

語言DSLClojure

2009-05-13 11:40:19

編程語言開發語言Perl

2015-10-28 09:33:31

程序員崩潰編程語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 毛片一级片 | 久日精品 | 国产视频久久久 | 国产精品视频在线播放 | 国产精品一区免费 | 日韩一区二区福利 | 精品久久久久久久久久久久久久 | av大片| 九九九久久国产免费 | 国产精品美女久久久久久不卡 | 欧美中文字幕在线观看 | 日韩一二区 | 成人在线影视 | 欧美精品首页 | 精品99爱视频在线观看 | 一区二区三区不卡视频 | 久久综合久久自在自线精品自 | 亚洲第一福利视频 | 欧美精品欧美精品系列 | 国产一区二区久久 | 国产精品久久久久久久久久三级 | aaaaa毛片| 欧美一区二区三区在线观看 | 日韩国产免费观看 | 午夜一区 | 水蜜桃久久夜色精品一区 | 日韩成人高清在线 | 波多野结衣中文字幕一区二区三区 | 精品国产一区二区三区观看不卡 | 一区二区三区四区在线播放 | 一区二区三区视频在线观看 | 荷兰欧美一级毛片 | 国产乱码精品一区二区三区中文 | 欧美精品在线看 | 欧美一区在线视频 | 一区二区三区高清不卡 | 亚洲成av人片在线观看无码 | 欧美区在线 | 欧美一级黄色片在线观看 | 国产激情视频网站 | 毛片a |