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

學習不同編程語言的重要性

開發 前端
沒有最好的語言,對于一個特定的問題,只有最合適解決問題的編程語言;而了解這些不同的解決問題的工具,是相當必要的——在合適的時候,一個好的語言可以節省下一個程序員無數的時間。

今天選了下學期要學的一門課,叫做編程語言。據說是兩周學習一門新的語言,很有挑戰性。以及這門課的課本是MIT出的《Concepts, Techniques, and Models of Computer Programming》(一下簡稱《CTMOCP》),今天看了一部分它的前言部分,聯系我以前讀過的《黑客與畫家》里面有兩章對編程語言的討論,發現學習不同的編程語言還是相當有必要的。

***,學習多門編程語言可以避免自己的思維被一種語言所限制。

《黑客與畫家》:如果你長期使用某種語言,你就會慢慢按照這種語言思維。

在《CTMOCP》一書也有一個例子:學習Java的人認為concurrency很難操作,并且很消耗計算機資源,于是會盡量避免使用concurrency;但實際上,如果語言本身能夠很好的處理concurrency,就可以把它變成一個很好的工具——比如Unix的“管道”就是一種很好用的concurrency形式。

這和生活中實際用著的語言很類似——不同文化語言的差異,會限制這個文化中的人想問題的方式(這里有很多例子:http://beyondidea.cn/index.php/archives/501)。更激烈的一個例子,是在小說《1984》里面,當局通過限制人們的用詞來限制人們的思維——所以大家都被強迫講“新語”。

第二,學習多門編程語言可以找到更加適合解決問題的那一種語言

在《CTMOCP》一書中,對于一個編程語言中一個新概念出現的原因,做了很好的說明:

a new concept is added when programs become complicated for technical reasons unrelated to the problem being solved(在編程語言中一個新概念的出現,通常是因為在要解決的問題中,出現了一些 和問題本身無關的 需要用復雜的技術手段解決 的問題)。我想,這種“新概念”,在淺層次可以是一些人們常用的API,在深一點的層次,可以是一種大的編程概念,比如面向對象,遞歸,解釋性編程。通過合適地利用這些新概念、API,可以更加容易的解決一個現有問題。

第三,一門良好的語言能更清晰的描述問題,從而加快編碼和溝通的速度。

在《黑客與畫家》里面,這句話寫得很好:一個操作所需的代碼越多,就越難避免bug,也越難發現他們。對于我的一些低級應用來說,在用慣了Java的高級庫函數之后,如果去用C做一些ACM題目,是一件很困難的事情(同時也是因為自己對于C++不夠了解)——算法可以想出來,但對于基本的數據結構,比如哈希表、樹、棧 等等,都需要自己來實現——隨便一個小錯誤都會導致bug,無疑增加了debug的難度。

語言是一種抽象形式。理想狀態下高級語言的抽象,可以清楚地展示解決問題的思路本身。

***,展望一下理想的狀態。

編程實際上是在創造一個工具去解決用戶的問題。面對一個要解決的問題,對于將要使用的編程語言的分析,應該像算法分析一樣,知道一個語言的優勢、劣勢;使用這個語言能夠帶來的好處,以及產生的副作用。而要實現這些分析,需要對不同類型的編程語言有充分的了解,才能事半功倍。

總之,沒有***的語言,對于一個特定的問題,只有最合適解決問題的編程語言;而了解這些不同的解決問題的工具,是相當必要的——在合適的時候,一個好的語言可以節省下一個程序員無數的時間。

原文:http://flyfy1.iteye.com/blog/1141398

【編輯推薦】

  1. 編程巨星成長的唯一秘訣
  2. 8月編程語言排行榜:以總統為名的語言新貴Lua
  3.  四周時間與二小時在編程上的差別
  4. 每一門編程語言都是上輩子折翼的天使
  5. Erlang語言作者告訴你什么才是編程***的方法
責任編輯:陳貽新 來源: flyfy1的博客
相關推薦

2009-09-07 09:03:05

思科認證CCNA學習的重要性

2009-09-28 13:23:00

CCNA學習方法CCNA

2010-07-30 16:28:06

2023-10-24 11:07:57

2023-09-04 09:00:00

機器學習算法

2023-05-24 16:08:45

深度學習工業4.0

2021-12-28 00:29:00

網絡安全Java編程語言

2021-12-08 14:02:46

小數據機器學習人工智能

2009-09-14 15:50:17

CCNA學習方法

2020-08-27 07:00:00

代碼軟件應用程序

2013-08-08 10:10:06

備份策略全備份增量備份

2017-12-29 10:14:48

IT項目

2011-07-05 18:30:44

站內優化

2024-11-12 08:15:04

2009-12-25 15:00:48

WPF軟件

2016-08-29 20:31:17

2009-11-25 17:36:38

PHP函數includ

2009-03-03 17:25:41

2021-12-22 23:12:19

物聯網隱私安全

2022-11-04 14:13:54

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品国产成人国产三级 | 欧美日韩在线国产 | 天堂精品| 国产精品成人一区二区 | 99re6在线 | 狠狠综合久久av一区二区小说 | 91动漫在线观看 | 99精品久久久久久 | 欧美日韩在线一区二区 | 91精品国产91久久久久久不卞 | 欧美aaaaa | 亚洲欧美精品 | 一本在线| 亚洲国产精品99久久久久久久久 | 妞干网av | 欧美高清一区 | 国产精品免费一区二区 | 欧美aaaaaaaa | 黄视频免费在线 | 欧美极品视频 | 狠狠骚| 国产精品波多野结衣 | 国产一区二区三区在线看 | 888久久久 | www四虎影视 | 欧美中文字幕在线观看 | 在线播放国产视频 | 国产一区久久 | 91精品国产91 | 久久久精彩视频 | 国产精品精品久久久 | www.久久久久久久久 | 国产激情免费视频 | 亚洲精品视频一区二区三区 | 精品国产乱码久久久久久闺蜜 | 色约约视频 | jizz在线看片 | 久久精品 | 久久久久国产精品午夜一区 | 欧美精品99 | 精品一区欧美 |