数学是啥?谁能告诉我?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数学是啥?谁能告诉我?相关的知识,希望对你有一定的参考价值。

数学是研究数量、结构、变化以及空间模型等概念的一门学科。透过抽象化和逻辑推理的使用,由计数、计算、量度和对物体形状及运动的观察中产生。数学家们拓展这些概念,为了公式化新的猜想以及从合适选定的公理及定义中建立起严谨推导出的真理。

名称来源
  
数学【shù xué】(希腊语:μαθηματικ?)西方源自于古这一词在希腊语的μ?θημα(máthēma),其有学习、学问、科学,以及另外还有个较狭隘且技术性的意义-“数学研究”,即使在其语源内。其形容词意义为和学习有关的或用功的,亦会被用来指数学的。其在英语中表面上的复数形式,及在法语中的表面复数形式les mathématiques,可溯至拉丁文的中性复数mathematica,由西塞hjt数学(math),我国古代把数学叫算术,又称算学,最后才改为数学。
编辑本段数学的意义
  数学,作为人类思维的表达形式,反映了人们积极进取的意志、缜密周详的推理及对完美境界的追求。它的基本要素是:逻辑和直观、分析和推理、共性和个性。虽然不同的传统学派可以强调不同的侧面,然而正是这些互相对立的力量的相互作用,以及它们综合起来的努力,才构成了数学科学的生命力、可用性和它的崇高价值。
数学史
  基础数学的知识与运用是个人与团体生活中不可或缺的一部分。其基本概念的精炼早在古埃及、美索不达米亚及古印度内的古代数学文本内便可观见。从那时开始,其发展便持续不断地有小幅度的进展,直至16世纪的文艺复兴时期,因着和新科学发现相作用而生成的数学革新导致了知识的加速,直至今日。   今日,数学被使用在世界不同的领域上,包括科学、工程、医学和经济学等。数学对这些领域的应用通常被称为应用数学,有时亦会激起新的数学发现,并导致全新学科的发展。数学家也研究纯数学,也就是数学本身,而不以任何实际应用为目标。虽然许多以纯数学开始jhetryjetyjrtyjrtjtyjrtj的研究,但之后会发现许多应用。   创立于二十世纪三十年代的法国的布尔巴基学派认为:数学,至少纯数学,是研究抽象结构的理论。结构,就是以初始概念和公理出发的演绎系统。布学派认为,有三种基本的抽象结构:代数结构(群,环,域……),序结构(偏序,全序……),拓扑结构(邻域,极限,连通性,维数……)。

编辑本段数学研究的各领域
  数学主要的学科首要产生于商业上计算的需要、了解数字间的关系、测量土地及预测天文事件。这四种需要大致地与数量、结构、空间及变化(即算术、代数、几何及分析)等数学上广泛的领域相关连著。除了上述主要的关注之外,亦有用来探索由数学核心至其他领域上之间的连结的子领域:至逻辑、至集合论(基础)、至不同科学的经验上的数学(应用数学)、及较近代的至不确定性的严格学习。   数量   数量的学习起于数,一开始为熟悉的自然数及整数与被描述在算术内的自然数及整数的算术运算。整数更深的性质被研究于数论中,此一理论包括了如费马最后定理之著名的结果。   当数系更进一步发展时,整数被承认为有理数的子集,而有理数则包含于实数中,连续的数量即是以实数来表示的。实数则可以被进一步广义化成复数。数的进一步广义化可以持续至包含四元数及八元数。自然数的考虑亦可导致超限数,它公式化了计数至无限的这一概念。另一个研究的领域为其大小,这个导致了基数和之后对无限的另外一种概念:阿列夫数,它允许无限集合之间的大小可以做有意义的比较。   结构   许多如数及函数的集合等数学物件都有着内含的结构。这些物件的结构性质被探讨于群、环、体及其他本身即为此物件的抽象系统中。此为抽象代数的领域。在此有一个很重要的概念,即向量,且广义化至向量空间,并研究于线性代数中。向量的研究结合了数学的三个基本领域:数量、结构及空间。向量分析则将其扩展至第四个基本的领域内,即变化。   空间   空间的研究源自于几何-尤其是欧式几何。三角学则结合了空间及
数,且包含有著名的勾股定理。现今对空间的研究更推广到了更高维的几何、非欧几何(其在广义相对论中扮演着核心的角色)及拓扑学。数和空间在解析几何、微分几何和代数几何中都有着很重要的角色。在微分几何中有着纤维丛及流形上的计算等概念。在代数几何中有着如多项式方程的解集等几何物件的描述,结合了数和空间的概念;亦有着拓扑群的研究,结合了结构与空间。李群被用来研究空间、结构及变化。   基础与哲学   为了搞清楚数学基础,数学逻辑和集合论等领域被发展了出来。德国数学家康托(Georg Cantor,1845-1918)首创集合论,大胆地向“无穷大”进军,为的是给数学各分支提供一个坚实的基础,而它本身的内容也是相当丰富的,提出了实无穷的存在,为以后的数学发展作出了不可估量的贡献。Cantor的工作给数学发展带来了一场革命。由于他的理论超越直观,所以曾受到当时一些大数学家的反对,Pioncare也把集合论比作有趣的“病理情形”,Kronecker还击Cantor是“神经质”,“走进了超越数的地狱”.对于这些非难和指责,Cantor仍充满信心,他说:“我的理论犹如磐石一般坚固,任何反对它的人都将搬起石头砸自己的脚.”    集合论在20世纪初已逐渐渗透到了各个数学分支,成为了分析理论,测度论,拓扑学及数理科学中必不可少的工具。20世纪初世界上最伟大的数学家Hilbert在德国传播了Cantor的思想,把他称为“数学家的乐园”和“数学思想最惊人的产物”。英国哲学家Russell把Cantor的工作誉为“这个时代所能夸耀的最巨大的工作”。   数学逻辑专注在将数学置于一坚固的公理架构上,并研究此一架构的成果。就其本身而言,其为哥德尔第二不完备定理的产地,而这或许是逻辑中最广为流传的成果-总存在一不能被证明的真实定理。现代逻辑被分成递归论、模型论和证明论,且和理论计算机科学有着密切的关连性。
参考技术A 数学是运用各种工具进行逻辑推理,逻辑推断,逻辑计算,也是逻辑学 参考技术B 数学是运用各种方法进行逻辑推理,逻辑推断,逻辑计算,也就是逻辑学啦~~很简单的 参考技术C 数学是123~~~~~~ 参考技术D 关于数字的学问

谁能告诉我强类型和弱类型是啥意思,哪个更好?

【中文标题】谁能告诉我强类型和弱类型是啥意思,哪个更好?【英文标题】:Can someone tell me what Strong typing and weak typing means and which one is better?谁能告诉我强类型和弱类型是什么意思,哪个更好? 【发布时间】:2010-09-24 07:29:15 【问题描述】:

谁能告诉我强类型和弱类型是什么意思,哪个更好?

【问题讨论】:

另见:***.com/questions/2351190/…, ***.com/questions/2135066/… 这里的大多数答案都不正确。见:***.com/questions/2351190/… 【参考方案1】:

这将是理论答案的照顾,但实践方面似乎被忽视了......

强类型意味着您不能在预期使用另一种类型的变量的地方使用一种类型的变量(或者这样做有限制)。弱类型意味着你可以混合不同的类型。例如,在 PHP 中,您可以混合使用数字和字符串,PHP 不会抱怨,因为它是一种弱类型语言。

$message = "You are visitor number ".$count;

如果它是强类型的,则必须将 $count 从整数转换为字符串,通常使用强制类型转换:

$message = "you are visitor number ".(string)$count;

...或者一个函数:

$message = "you are visitor number ".strval($count);

至于哪个更好,这是主观的。强类型的拥护者会告诉你,它会帮助你避免一些错误和/或错误,并帮助传达变量的用途等。他们还会告诉你弱类型的拥护者将称之为强类型“常识认为毫无意义的不必要的语言绒毛”,或类似的东西。作为弱打字组的持卡成员,我不得不说他们有我的号码......但我也有他们的,可以把它放在一个字符串中:)

【讨论】:

"和 I 可以把它放在一个字符串中"很好。 +1 力量较弱的一面 “强类型化意味着你不能在需要另一种变量的地方使用一种类型的变量”。强/弱不是关于变量,而是关于价值观。我认为你应该说:“强类型化意味着你不能使用一种类型的 value 来预期另一种类型”。 您混淆了静态类型强类型。 “传达变量的目的”是静态类型。 “不必要的语言绒毛”是静态类型。避免错误主要是静态类型,但强类型在这里也有帮助,所以半分。 @Paul:我认为“传达变量的目的”是好的命名。一个名为interest_rate(或interestRate$interest_rate,或者你想要大写/空格)的变量非常清楚地传达了它的目的,无论它是强类型还是弱类型、静态还是动态。 Java 让你将一个数字(或任何对象)连接到一个字符串,尽管它的输入相当强烈(请参阅我的答案,因为它缺乏意义)。我同意 Paul 的观点,您似乎更多地谈论静态类型,但即便如此,您也可以隐式定义字符串连接(就像 Java 那样)。这仍然是一个坏主意 ;-) 字符串插值更好且可控:“你是访客编号 $count。”。【参考方案2】:

“强类型”及其相反的“弱类型”在含义上相当弱,部分原因是什么被认为是“强”的概念可能会因您询问的对象而异。例如。 C 被不同的作者称为“强类型”和“弱类型”,这实际上取决于您将其与什么进行比较。

通常,如果一个类型系统可以表达与另一个相同的约束,甚至更多,则应该认为它更强大。但是,通常两种类型的系统是不可比较的——一种可能具有另一种缺乏的功能,反之亦然。任何关于相对优势的讨论都取决于个人喜好。

拥有更强大的类型系统意味着编译器或运行时将报告更多错误,这通常是一件好事,尽管它可能以必须手动提供更多类型信息为代价,这可能被认为是努力而不是值得。我会声称“强类型”通常更好,但您必须考虑成本。

认识到“强类型”通常被错误地使用而不是“静态类型”甚至“清单类型”也很重要。 “静态类型”意味着在编译时进行类型检查,“清单类型”意味着类型被显式声明。清单类型可能是使类型系统更强大的最著名方法(想想 Java),但您可以通过类型推断等其他方式来增加强度。

【讨论】:

【参考方案3】:

我想重申,弱类型与动态类型相同。

这是一篇写得很好的关于该主题的文章,如果您不确定强、弱、静态和动态类型系统之间的区别,我绝对建议您阅读它。它详细说明了差异,比简短回答中的预期要好得多,并且有一些非常有启发性的例子。

http://en.wikipedia.org/wiki/Type_system

【讨论】:

【参考方案4】:

强类型是现代编程语言中最常见的类型模型。这些语言有一个简单的特性——在运行时了解类型值。我们可以说强类型语言防止两种或多种不同类型之间的混合操作。下面是一个 Java 示例:

String foo = "Hello, world!";
Object obj = foo;

String bar = (String) obj;
Date baz = (Date) obj; // This line will throw an error

前面的示例将运行良好,直到程序遇到将引发 ClassCastException 的最后一行代码,因为 Java 是强类型编程语言。

当我们谈论弱类型语言时,Perl 就是其中之一。下面的例子展示了 Perl 如何在混合两种不同类型时没有任何问题。

$a = 10;
$b = "a";
$c = $a . $b;
print $c; # returns 10a

我希望你觉得这很有用,

谢谢。

【讨论】:

【参考方案5】:

这篇文章很好读:http://blogs.perl.org/users/ovid/2010/08/what-to-know-before-debating-type-systems.html在研究试图回答类似问题时为我清理了很多东西,希望其他人也觉得它有用。

强类型和弱类型:

类型系统最常见的分类方式可能是“强” 或“弱”。这是不幸的,因为这些话几乎没有 完全的意思。在有限的范围内,可以比较两个 具有非常相似类型系统的语言,并指定一种具有 这两个系统中的强者。除此之外,这些话毫无意义 完全没有。

静态和动态类型

这几乎是类型系统的唯一常见分类 这有真正的意义。事实上,它的意义在于 经常被低估的 [...] 动态和静态类型系统是 两个完全不同的东西,它们的目标恰好是部分 重叠。

静态类型系统是编译器检查的一种机制 源代码并将标签(称为“类型”)分配给 语法,然后使用它们来推断程序的 行为。动态类型系统是一种机制,编译器通过该机制 生成代码以跟踪数据类型(巧合的是, 称为程序使用的“类型”)。同一个词的使用 当然,这两个系统中的“类型”并不完全是 巧合;但最好理解为有一种弱 历史意义。试图找到一个非常混乱的结果 世界观中,“类型”在两者中确实意味着相同的东西 系统。没有。

显式/隐式类型:

当使用这些术语时,它们指的是 编译器将推理程序部分的静态类型。全部 编程语言对类型有某种形式的推理。一些 比别人拥有更多。 ML 和 Haskell 具有隐式类型,因为没有 (或很少,取决于使用的语言和扩展)类型 需要声明。 Java 和 Ada 有非常明确的类型,并且 一是不断声明事物的类型。以上都有 (例如,相对于 C 和 C++)强静态类型 系统。

【讨论】:

这个很到位。【参考方案6】:

语言中的强/弱类型与您进行类型转换的难易程度有关:

例如在 Python 中:

str = 5 + 'a' 
# would throw an error since it does not want to cast one type to the other implicitly.

如在 C 语言中:

int a = 5;
a = 5 + 'c';
/* is fine, because C treats 'c' as an integer in this case */

因此,Python 的类型比 C 强(从这个角度来看)。

【讨论】:

【参考方案7】:

也许这可以帮助你理解强类型和弱类型......

强类型:它会尽快检查变量的类型,通常是在编译时。它可以防止不匹配类型之间的混合操作。

一种强类型的编程语言是这样一种语言:

所有变量(或数据类型)在编译时都是已知的 严格执行键入规则(不能使用字符串 应该是整数) 键入规则的所有例外都会导致编译时错误

弱类型化:虽然弱类型化会尽可能晚地延迟检查系统类型,通常延迟到运行时。在这种情况下,您可以混合类型而无需显式转换。

“弱类型”编程语言只是一种非强类型的编程语言。

哪个是首选取决于你想要什么。对于脚本和好东西,您通常需要弱类型,因为您希望编写尽可能少的代码。在大型程序中,强类型可以减少编译时的错误。

【讨论】:

【参考方案8】:

弱类型意味着您不指定变量的类型,而强类型意味着您为每个变量指定严格类型。

每个都有其优点,弱类型(或动态类型,通常称为),更灵活,需要程序员的代码更少。另一方面,强类型需要开发人员做更多的工作,但作为回报,它可以在编译代码时提醒您许多错误,然后再运行它。动态类型可能会延迟这些简单问题的发现,直到代码被执行。

根据手头的任务,弱类型可能比强类型更好,反之亦然,但这主要是个人喜好问题。弱类型通常用于脚本语言,而强类型则用于大多数编译语言。

【讨论】:

以上是关于数学是啥?谁能告诉我?的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript数学函数不起作用并返回Nan

谁能告诉我android studio中的这个错误是啥[关闭]

谁能告诉我附加屏幕截图的编码格式是啥? [关闭]

谁能告诉我在 ios 应用程序中录音的最佳录音功能是啥

你觉得最神奇的数学公式推导是啥?

做定点数学的最佳方法是啥? [关闭]