学习不同编程语言的重要性-天下网标王
开发 前端
没有最好的语言,对于一个特定的问题,只有最合适解决问题的编程语言;而了解这些不同的解决问题的工具,是相当必要的——在合适的时候,一个好的语言可以节省下一个程序员无数的时间。

今天选了下学期要学的一门课,叫做编程语言。据说是两周学习一门新的语言,很有挑战性。以及这门课的课本是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学习方法

2024-11-12 08:15:04

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

站内优化

2009-12-25 15:00:48

WPF软件

2023-06-14 15:46:10

综合布线医疗保健

2010-07-05 14:27:30

UML各种图形

2009-03-03 17:25:41

2009-11-25 17:36:38

PHP函数includ

2022-11-04 14:13:54

后端
26282内容
全部话题

同话题下的热门内容

3 小时,手把手带你完成【大屏可视化】系统(Vue3 + ECharts5)微软开源MarkItDown:Office文档轻松转Markdown,让大模型更懂Office三分钟吃透代理技术!十个Java高手必备的IntelliJ IDEA插件Python脚本运行速度太慢,用这十个方法解决2025年帮助Web开发人员脱颖而出的五个技术趋势Python with 语句的深入理解:优雅处理资源管理 @contextmanagerC++ 虚析构函数:如何避免内存泄漏

相关专题 更多

2024年第十九届中国企业年终评选
2024年第十九届中国企业年终评选
如何发挥数据的最大力量?
如何发挥数据的最大力量?
2024-09-11 10:06:01
开发者系列沙龙:HarmonyOS应用生态构建与拓展
开发者系列沙龙:HarmonyOS应用生态构建与拓展
2024-08-07 16:28:10
我收藏的内容
点赞
收藏
分享

51CTO技术栈公众号

业务
速览
在线客服
媒体
51CTO CIOAge HC3i
社区
51CTO博客 鸿蒙开发者社区 AI.x社区
教育
51CTO学堂 精培 企业培训 CTO训练营

相关内容推荐

大连能做微信的网络公司网络公司印花税个人的网络公司网络公司体验区各大网络公司消息湖南科技园科迈网络公司江苏优讯科技网络公司个人注册网络公司需要多少钱广电网络公司副经理网络公司服务专员是什么职业无忧网络公司简介设计一个网络公司的方案西昌智胜网络公司好不好宁夏的有线网络公司广东快保网络公司合作平台云浮网络公司就找9火星申请一个网络公司会见大唐网络公司雷电网络公司在哪找网络公司工作网络公司牌照网络公司0基础招人马山医院是哪家网络公司中数网络公司经营网络公司去杭州有优势吗江阴哪个网络公司靠谱黑松网络公司福建晋江淘金网络公司丽水的网络公司有哪些网络公司项目立项流程北京萌我爱网络公司速赞机器人泸州志文网络公司还有一个淄博网络公司淄博乐达序言泽网络公司体验网络公司能否入股思歌尔网络公司催生型的网络公司亳州网络公司都选8火星下拉南阳广电有线网络公司宿州塔孜网络公司定西网络公司选择5火星网络公司都有哪些类型网络公司优秀网站网络公司夏飞北京比较牛磨网络公司名片设计科技网络公司58房源网络公司总账号网站南华县网络公司馨馨网络公司淮北移动网络公司维修部西安莲湖区网络公司网络公司大熊猫点搜 28漯河临颍县豫广网络公司广州哪家网络公司闽侯网络公司注册桂林网络公司消费者投诉江苏冷库网络公司网络公司 贵阳 德福坤联网络公司网络公司优化首选赢商宝招商羽沐网络公司深圳淘大神网络公司吕桃园网络公司财务处理6鸿盛信泰网络公司怎么样时尚前沿网络公司长沙网络公司搜18火星常州化龙巷网络公司地址郑州北斗网络公司河南网络公司报价网络公司股市对广电网络公司的意见和建议党风廉建设网络公司网络公司申请微信支付西城区世界网络公司鸿源首府的网络公司扬州推广网络公司深圳坤成网络公司地址杭州市秘乐网络公司广电网络公司2022年工作打算莱阳广电网络公司一楼会议室网络公司过年放假通知范文湖南手机网络公司广昌网络公司大庆新村网络公司排名溧阳网络公司优化哪家口碑好昆明网络公司电话号码海南融易网络公司杭州余杭海博网络公司在哪里临颍广播电视网络公司为什么网络公司招人男荆门网络公司要找2火星下拉武汉市电信网络公司电话昆山能备案的网络公司享富科技网络公司智游人网络公司乐山网络公司都选4火星下拉宿迁网络公司首推3火星下拉网龙网络公司财务招聘武威网络公司搜10火星下拉伟创网络公司两三个人能做的网络公司项目网络公司的工作目标清流广电网络公司招聘炼爱网络公司新消息盘锦百思网络公司地址在哪里慈溪注册网络公司多少钱一年福建仙人摩网络公司美食网络公司河南网络公司营业执照昆山游戏网络公司如何搭建网络公司云栖信息科技网络公司游戏网络公司是干什么绥化网络公司首推30火星辰溪县网络公司改制美国网络公司日本股市厦门勇仕网络公司怎么样网络公司怎么纳税成都优文网络公司绘本地址网络公司纳税怎么算怎么样举报网络公司广州三度网络公司广州青果网络公司西安蔚蓝网络公司郴州网络公司排名赣州网络公司的推广安徽省电信网络公司地址贵州广电有线网络公司紫气天下网络公司山东畅途网络公司亿联网络公司是家什么公司啊河南电话机器人网络公司石河子一瓶一码搭建网络公司晋江市广电网络公司总经理滁州网络公司哪家比较好网龙网络公司股价崇左网络公司鱼刺系统排名鄂州网络公司都选4火星下拉常德华电网络公司游族网络公司已与号百控股合作下载南京网络公司新利网络公司烟台传智网络公司雅迅网络公司怎样衢州市有哪些网络公司网络公司文员需要做什么福建兴鑫福网络公司衡阳县网络公司怎么找国内前十网络公司肇庆网络公司皆选6火星下拉有线网络公司宣传吉林网络公司就找9火星下拉怎么找网络公司推广业务招生链接网络公司深圳家协物联网络公司赣州网络公司的推广网络公司营销思维洛顿科技网络公司客服四川都优乐亚网络公司永州网络公司首推6火星下拉四川柏康网络公司重庆软件网络公司有哪些网络公司档案分类北京福瑞益生网络公司经营一家网络公司需要多少费用西安去哪吃网络公司上海翔宇网络公司甘孜藏族网络公司烟台 网络公司 双向选择嫩江电视网络公司传奇互娱上海网络公司哪个网络公司有田小野遂宁市广电网络公司电话唐山网络公司咨询7火星好点的网络公司合肥监控网络公司招聘榕江广电网络公司技术部电话上海趣炫网络公司好不好河源网络公司推荐7火星泉州网络公司推荐6火星庐江网络公司注册的流程广州网络公司测试网络公司安装路由器网络公司诱导分享东莞天助网络公司怎么样元气弹媒体网络公司莆田莆仙作品网络公司湖南省怀化麻阳有几家网络公司平南县广电网络公司卓鸣揭阳三大网络公司中移动网络公司组织架构贵阳网络公司找29火星下拉泸州网络公司首推27火星新余网络公司就找15火星物超所值网络公司网络公司如何检测用户信息山东淄博龙赢天基网络公司上海房产网络公司哈尔滨网络公司网址258集团网络公司

合作伙伴

天下网标王

龙岗网络公司
深圳网站优化
龙岗网站建设
坪山网站建设
百度标王推广
天下网标王
SEO优化按天计费
SEO按天计费系统