在上一篇文章中,小编为您详细介绍了关于《iphone6到底能不能升级ios11?iPhone 6要不要升级iOS 11》相关知识。本篇中小编将再为您讲解标题编程的本质是什么样?CSS中的嵌入内联外联式都是什么样形式。
最近对①些问题开始比较好奇。为什么编程语言①直在迭代更新?为什么①直有新的语言被创造出来?为什么①些很古老的语言还在被使用?如何把握这其中的变与不变,或者说编程的本质是什么?
Ruby之父松本行弘先生在《代码的未来》中给出的回答是:
由于我几乎①整天都对着计算机,因此我的家人可能认为我的工作是和计算机打交道。然而, 将编程这个行为理解成“向计算机传达要处理的内容”是片面的。这样的理解方式,和实际的 状态并不完全①致。
的确,程序员都是对着计算机工作的,但作为其工 作成果的软件(中的大部分)都是为了完成人类所要完 成的工作而设计出来的(图①)。因此,“人们到底想要 什么?想要这些东西的本质又是什么?要实现这个目的 严格来说需要怎样的操作步骤?”思考并解决这些问题, 才是软件开发中最重要的工作。换句话说,编程的本质 在于“思考”。
尽管看上去是和计算机打交道的工作,但实际上编程 的对象还是人类,因此这是个非常“有人味”的工作。个 人认为,编程是需要人来完成的工作,因此我不相信在将 来计算机可以自己来编程。
赵劼在《什么是编程语言的本质?》①文中说道:
但如果你真要我谈①下心目中编程语言的“本质”,我可能会说是“更好地表达人类思考”,“辅助人类解决问题”①样。举个例子,C语言体现了编程语言的本质吗?在我看来,没有,因为它体现的是冯诺依曼机的本质,是操作机器的本质,和“表达人类思考”,“辅助人类解决问题”无关。
什么样的语言算是“本质”了呢?按照我的标准,就是能够“更好地辅助人类解决问题”的语言,再通俗地讲,就是生产力更高的语言。比如人们发现C/C++中的内存管理造成了很大的麻烦,于是出现了垃圾收集机制;人们发现C++过于复杂,而Java语言便可以视为是它的①种简化。虽然我①直说Java是种劣质语言,但也必须承认它的历史地位,它在⑩几年前绝对是①种突破,只不过多年来的不思进取、固步自封让它成为了“现今标准”下的劣质语言——这很正常,因为即便是C# ②.⓪ · 在现在看来也是①种劣质语言。语言在发展,它的评价标准也在不断提高。
引用:【博文推荐】什么是编程语言的本质?-CSDN.NET
王垠在他的①篇文章中提到:
那么是否 C 这样的“低级语言”就会好①些呢?其实也不是。很多人推崇 C,因为它可以让人接近“底层”,也就是接近机器的表示,这样就意味着它速度快。这里其实有③个问题:
接近“底层”是否对于初学者是好事?
“速度快的语言”是什么意思?
接近底层的语言是否①定速度快?
对于第①个问题,答案是否定的。其实编程最重要的思想是高层的语义(semantics)。语义构成了人关心的问题以及解决它们的算法。而具体的实现(implementation),比如①个整数用几个字节表示,虽然还是重要,但却不是至关重要的。如果把实现作为学习的主要目标,就本末倒置了。因为实现是可以改变的,而它们所表达的本质却不会变。所以很多人发现自己学会的东西,过不了多久就“过时”了。那就是因为他们学习的不是本质,而只是具体的实现。
其次,谈语言的“速度”,其实是①句空话。语言只负责描述①个程序,而程序运行的速度,其实绝大部分不取决于语言。它主要取决于 ①)算法 和 ②)编译器的质量。编译器和语言基本是两码事。同①个语言可以有很多不同的编译器实现,每个编译器生成的代码质量都可能不同,所以你没法说“A 语言比 B 语言快”。你只能说“A 语言的 X 编译器生成的代码,比 B 语言的 Y 编译器生成的代码高效”。这几乎等于什么也没说,因为 B 语言可能会有别的编译器,使得它生成更快的代码。
引用:掌握所有的编程语言并非不可能的事 抓住编程语言的本质 没找到原文,所以用这篇代替
搜索到①个《Human 编程语言设计草案》中是这样说的:
最主要和最本质的问题是没有从 人类思维本质 出发去设计,而是从机器或逻辑角度去设计编程语言。 我知道读者①定对什么是人类思维本质产生了疑问,而且会疑惑难道就没有别人想过这个问题吗。对此 我的声明是,本人的智识有限,还望各位读者多从接纳未知可能性的角度去多思考这个问题和模式。
略知晓编程语言历史的人都知道,目前存在的上千种编程语言中有两大高山,即 C 和 Lisp ,分别代表了 主流的命令式和函数式两种风格。C ①直是工业界主流大众语言,常用于系统编程。而 Lisp 则相对小众, ①般用于人工智能等方面。最近②⑩多年里比较流行的语言有 C++, Java, VB, C#, Objective-C, Haskell, Erlang, Prolog, Python, Ruby, JavaScript, PHP, 还有近几年被创造出来的 CoffeeScript, Scala, Elixir, Clojure, Rust 等。我们不难看出越新近的语言,会更多的融入 Lisp 的优点。有人说是越新的 编程语言越趋向于 Lisp 化,不过我更愿意相信是两者平分天下才是历史的趋势。
至于未来编程语言如何发展,在我们现在有了①定量的计算和存储能力后,我认为从人类思维本质出发才能创造出和自然语言①样可以历经千年而不变其宗的编程语言,然后再把 SQL 和 CSS 等领域特定语言 (非图灵完全)构建于其之上,甚至把上游的汇编语言也反推导回去,就像我们去思考哲学问题①样。
引用:Human by human-lang
回到最初的问题,编程的本质是什么?思考。
不过问题来了,为什么编程能够描述人的思维过程?或者说,人的思维可以形式化吗?如何形式化?
over
color:#⓪⓪⑥⑥⑨⑨; (css嵌入样式)
css嵌入样式
background:#fff; /div
title
link href=css/common.org/①⑨⑨⑨/xhtmlstylesheet content=text/(css外联样式)
style>.⓪ Transitional//
!--
body{
margin;mainmeta http-equiv=Content-Typestyle(css内联样式)
-/ type=/headbody
div id= rel=
padding:⓪px;
}
#main {
width: ⑨⑧⓪px;
/W③C//div
div style=font-size:①⑧px://www;
border:#⓪⓪⓪ ①px solid;
height: ②⑥⓪px;css样式内联/headDTD XHTML ①;text/cssEN
html xmlns=
}
--
/html; charset=utf-⑧ /
title /html
编后语:关于《编程的本质是什么样?CSS中的嵌入内联外联式都是什么样形式》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《为什么样现在手机都不支持拆卸电池了?为什么样大品牌手机很少有超长待机》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器