在计算机科学环境中,“语义”一词是啥意思?

Posted

技术标签:

【中文标题】在计算机科学环境中,“语义”一词是啥意思?【英文标题】:What does the word "semantic" mean in Computer Science context?在计算机科学环境中,“语义”一词是什么意思? 【发布时间】:2011-03-22 06:51:28 【问题描述】:

我不断遇到这个词的用法,但我从不明白它的用法或所传达的含义。

短语...

“为阅读者添加语义”

html5 语义”

“语义网”

“语义正确的方式...”

...让我感到困惑,我指的不仅仅是网络。这个词只是“语法”或“语法”的另一种说法吗?

谢谢!

【问题讨论】:

en.wiktionary.org/wiki/semantic @Anurag... 我指的不是软件。 @Bears - 说一个关于“语义”或“意义”的问题不能用看起来和听起来像的东西来回答,这是一种可悲的误导尝试。你真的必须理解它。 What is the difference between syntax and semantics in programming languages?的可能重复 【参考方案1】:

语义是程序(或其他)中各种元素的含义。

例如,我们看一下这段代码:

int width, numberOfChildren;

这两个变量都是整数。从编译器的角度来看,它们是完全相同的。不过从名字上看,一个是某物的宽度,一个是其他东西的计数。

numberOfChildren = width;

从语法上讲,这 100% 没问题,因为您可以相互分配整数。但是,从语义上讲,这是完全错误的,因为宽度和子项的数量(可能)没有任何关系。在这种情况下,我们会说这在语义上是不正确的,即使编译器允许这样做。

【讨论】:

multiChildStroller.width = numberOfChildren @dkamins 实际上,multiChildStroller.width = numberOfChildren * (childWidth + padding);对不起,但另一个语义错误。 ;)【参考方案2】:

语法是结构。语义就是意义。每个不同的上下文都会赋予该术语不同的含义。

例如,HTML 5 具有新标签,旨在为标签中包装的数据提供意义。 <aside> 标签传达了其中包含的数据与自身周围的信息相切相关。看,这是意义,而不是标记。

看看this list of HTML 5's new semantic tags。将它们与较旧且更熟悉的 HTML 标签(如 <b><em><pre><h1>)进行对比。每一个都会影响浏览器中呈现的 HTML 内容的外观,但它们无法告诉我们原因。它们不包含意义信息。

【讨论】:

【参考方案3】:

“语义”一词作为形容词仅表示“有意义”,这与计算机科学中的“高级”一词非常相关。 为实例: 语义数据模型: 一种语义数据模型,无论其背景或专业知识如何,任何人都可以理解和理解。 C++ 的语义不如 Java,因为 Java 使用有意义的词来表示它的类、方法和字段。 HTML5 语义:指描述自己的标签,如 , ,

等等。

【讨论】:

【参考方案4】:

它的意思是“意义”,当你已经解释了句法和语法时,你还剩下什么。例如,在 C++ 中,i++; 被语法定义为有效语句,但没有说明它的作用。 “将 i 加一”是语义。

HTML5 语义是格式良好的 HTML5 描述应该放在页面上的内容。 “语义网”通常是链接和搜索的意义,而不是文字的网站。做某事在语义上正确的方法是如何去做,所以它意味着正确的事情。

【讨论】:

【参考方案5】:

这不仅仅是计算机科学术语,如果你问的话,

这个计算机科学术语背后的含义是什么?

那么恐怕我们会像this一样陷入递归循环。

【讨论】:

哈哈...我不知道递归 Google 搜索。太搞笑了! @Hristo - 呵呵,我自己不再点击那个链接了。不可能出去:P【参考方案6】:

在 HTML 世界中,“语义”用于谈论标签的含义,而不仅仅是考虑输出的外观。例如,外来词常用斜体,强调词也常用斜体。您可以简单地将所有外来词或强调词包含在 <i>..</i> 标记中,但这仅描述了它们的外观,并没有描述它们为什么看起来那样。

用于强调词的更好标签是<em>..</em>,因为它传达了强调的语义。浏览器(或您的样式表)然后可以将它们呈现为斜体,页面的其他消费者将知道该词被强调。例如,屏幕阅读器可以正确地将其作为强调词来阅读。

【讨论】:

【参考方案7】:

在我看来,这几乎就像以语法的方式看待语法。我不能从广义上讲语义,但是当人们在网络上谈论语义时,他们通常指的是如果你剥离了所有的 css 和 javascript 等的想法;剩下的内容(基本的 html)将是有意义的阅读。

它还考虑使用正确的标签进行正确的标记。这源于旧的基于表格的布局(表格只能用于表格数据),并使用列表来呈现类似列表的内容。

您不会将 h1 用于不如 h2 重要的事情。那是没有意义的。

【讨论】:

以上是关于在计算机科学环境中,“语义”一词是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

Android 图标:光学方块一词是啥意思?

mpi_get_processor_name 函数中的“TBD”一词是啥意思

属性中的“属性:”一词是啥

ONTOLOGY在计算机专业里是啥意思!

这两个词是啥意思

Ai是啥意思