Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

工程师与科学家

  突然看到某群里有人在聊烷烃的系统命名,这让我联想到了现在混乱的 CSS 命名。其实我之前写 CSS 命名规范的时候就受了 IUPAC 很大的影响,总是希望把歧义降到最低。有机物那么复杂的东西都可以准确命名,又何况是 HTML + CSS 这种程度的呢?
  一套逻辑越完备的命名规则就越是接近 IUPAC 的命名风格。但其实在程序开发中,逻辑完备未必是最佳选择。IUPAC 的命名有个普遍存在的问题,那就是太长了看起来难以理解。而程序开发中的命名通常需要的是简短,而并非逻辑完备。很多时候我们会为了命名的简短而降低逻辑的完备性。人为地去避免由此产生的小概率命名冲突。
  工程与科学研究虽然有时候有很多共同点,但它们确实是不同的方向。科学研究注重的是逻辑完备,任何证明都需要严谨;而工程需要的则是利益最大化,考虑如何降低成本并提高产能。通常是先有科学研究,然后再有工程应用。所以工程应用通常会从科学研究的结果中学习一部分,然后将其不适合工程的部分改造成其它东西。就像上面所说的命名一样,学习科学研究的逻辑完备性,把命名长这个缺点以其它方式解决。
  说到这儿就不得不来扯一扯那完全面向科学研究的 lisp 语言。很多编程语言都从 lisp 中学习了点什么,可以说它对编程语言的发展具有重大贡献。然而却很少有人用 lisp 直接开发大型项目,原因就是这种面向科学研究的东西学习成本太高,开发效率太低。
  科学家不一定能直接创造利益,而工程师们却一直在向科学家学习,这就是现实。
网名:
3.84.186.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^