了解编程的历史的必要性

贡献者:properties 类别:简体中文 时间:2017-01-17 22:11:59 收藏数:38 评分:6.7
返回上页 举报此文章
请选择举报理由:




收藏到我的文章 改错字
了解编程的历史,当然是有用的,而且很有用。
我先对编程的历史做个定义:计算机硬件发展的历史、程序语言发展的历史,
计算机科学理论的发展历史、软件工程的发展历史等。
我要拿出哲学三大问题镇楼了:从哪里来,到哪里去,是什么?
万事万物,都不是凭空产生的,尤其是计算机这门人造的科学。
了解历史,可以让你明白当下所用技术的起源,以及它的出现是为了解决什么问题,
从宏观上把握这门技术,可以让自己了解该技术在计算机领域知识体系中的位置,
明确这门技术的边界在哪。明白这些问题,可以让你更好的掌握和应用这门技术。
了解从哪里来,才能对“是什么”,“到哪里去”有自己的判断,才不至于迷失在技术的细节中。
当你做技术选型的时候,你才可以更好的选择适合自己当前场景的那门技术,
因为你知道该技术的存在是解决了什么样的问题,
适合什么样的场景。
比如说,看题目的标签,有javascript,就拿javascript举个例子。
假如你不了解编程历史,你上来直接学习什么现在最流行的概念,async/await,
你确实可以通过示例很快上手,甚至可以用的很溜,但是假如你了解浏览器的演变,
事件编程模型的各种进化,你会对这些概念有触及到本质的深刻理解,
而不至于迷失于现在前端界风云变幻的各种名词概念中。
再比如,现在很多人在吐槽动态语言的性能,虽然这是事实,但是你了解点历史,
你完全可以理解那些动态语言为什么那么慢了,省下吐槽的时间来多学点东西。
比如Ruby语言,当初Matz在设计他的时候,正是考虑到摩尔定律,认为CPU、
内存等硬件这些在未来都不是个事,所以他以牺牲性能来换取程序员可以快乐的编程。
而有的语言,从设计之初就是为了内存安全,比如Rust,
有的语言天生就是为了高并发,比如erlang和golang,
了解这些语言发展史,可以让我们正面的去面对各种语言的缺陷,拥抱它们的优势。
针对题主说,“虽然知道,但是感觉无用”,在学习相关历史的时候,你得思考呀,
知识需要内化,需要和你现在学习到的内在知识体系挂钩呀。
声明:以上文章均为用户自行添加,仅供打字交流使用,不代表本站观点,本站不承担任何法律责任,特此声明!如果有侵犯到您的权利,请及时联系我们删除。
文章热度:
文章难度:
文章质量:
说明:系统根据文章的热度、难度、质量自动认证,已认证的文章将参与打字排名!

本文打字排名TOP20

登录后可见