笔记本出版的新世界

Wolfram笔记本在网上

我们已经为此努力了许多年,但现在终于来到了这里:一个非常流畅的发行工作流程Wolfram笔记本到网络,这使得交互式出版和计算机通信的新水平成为可能。

您创建一个Wolfram笔记本-使用所有的力量Wolfram语言Wolfram笔记本系统在的桌面或在.然后你只需按下一个按钮就可以把它发布到Wolfram云而且任何人在任何地方都可以立即在网络上阅读它并与之互动。

笔记本出版的新世界

这是一种前所未有的简单方式,可以在网络上获取丰富的、交互式的、计算性的内容。加上强大的Wolfram语言作为计算语言它有望引领一个计算通信的新时代,并成为“计算X”领域发展的关键驱动力。

当Wolfram笔记本是发布到云端,它是人们可以阅读和互动的东西。但还不止这些。因为如果你按制作自己的副本按钮,你会得到你自己的笔记本,你不仅可以阅读和互动,还可以编辑和计算,就在网上。这意味着笔记本不仅仅是你看的东西,而是你可以立即使用和建立的东西。

顺便说一下,我们已经建立了它,这样任何人都可以自己复制一本已出版的笔记本,并开始使用它;他们需要的只是一个(免费的)云计算基本账户.拥有Cloud Basic帐户的用户甚至可以在云上发布自己的笔记本电脑,不过如果他们想要长期存储它们,他们必须这样做升级他们的账户。(通过Wolfram基金会,我们也在发展一个永久的策展笔记本电脑存档公益笔记本。)

制作自己的副本

还有许多其他重要的工作流程。在计算机上,您可以立即将笔记本下载到您的桌面,并使用最新版本的Wolfram的球员我们已经免费提供了很多年了。你也可以运行笔记本电脑原生iOS设备使用Wolfram播放器应用程序.和Wolfram云应用(在iOS或Android上)为你提供了一种流线型的方式,让你可以在云中创建自己的笔记本副本。

笔记本的工作流

您可以将Wolfram Notebook发布到云上,并且可以将其作为一个完整的、丰富的网页使用。但是你也可以将笔记本嵌入现有的网页中,提供从单个(可能是动态更新的)图形到完整的交互界面或嵌入式文档的任何内容。

顺便说一下,使Wolfram笔记本在云中的技术也允许你立即设置Wolfram语言api接口形式,直接在网上使用,或通过客户端库在这样的语言PythonJava

笔记本的故事

笔记本的故事

我们1988年发明了笔记本电脑作为主界面Mathematica版本1.0,在过去的三十年里,成千上万的Wolfram笔记本被制造出来。有些记录正在进行的工作,有些是练习,有些包含大大小小的发现。有些是展览、演示或在线书籍和论文。有些是交互式演示。随着Wolfram语言的出现全面的计算机语言现在,越来越多的人成为富人计算论文它结合了人类语言和计算语言,以前所未有的效率进行交流。

多年来,我们通过一系列的用户界面创新,适应并优化了连续几代的桌面系统,逐步完善了笔记本电脑的体验。但是,现在让我们能够在网络上进行全面的笔记本出版的原因是——经过多年的努力——我们已经设法得到了一个在云环境中运行的Wolfram笔记本的优化版本,就像它们在台式机上运行一样。

在桌面上做个笔记本或者在云中,包括所有代码、层次结构、交互元素、大型图形等。当它作为云笔记本发布时,人们可以像访问任何网页一样访问它,除了它会自动“活过来”,并允许各种各样的交互。

其中一些交互将发生在浏览器内部;其中一些会自动访问云中的服务器。但最终反映了我们整个超架构的方法——wolfram笔记本将在桌面、云和移动设备上无缝运行。创建你的内容一次,让人们不仅可以在任何地方阅读它,还可以与它进行交互,以及修改和计算。

笔记本里有什么

当你第一次访问云中的Wolfram Notebook时,它可能看起来就像一个普通的网页。但事实上,它是一个活跃的、计算性的文档,这意味着有很多事情你可以立即用它来做。如果你看到一个图形,你可以立即调整它的大小。如果它是三维的,你也可以旋转它。笔记本通常按单元格的层次组织,您可以立即打开和关闭单元格组来导航层次结构。

笔记本电池的层次结构

也可以有动态的互动内容。在Wolfram语言中,函数类似于操作在笔记本电脑中自动设置交互用户界面,使用滑块等等——这些在已发布的云笔记本电脑中自动激活。其他内容也可以是动态的:使用函数动态例如,可以动态地实时从Wolfram知识库或者是Wolfram数据下降或者,如果用户允许的话,从他们的电脑里相机麦克风

动态互动内容

当你写一篇计算文章时,你通常希望人们阅读你的Wolfram语言代码,因为它是你交流内容的一部分。但是在Wolfram Notebook中你也可以使用盲目崇拜为了显示代码细节的图标化版本(比如,如何显示图形的选项):

盲目崇拜

通常当你在Wolfram笔记本中进行计算时,会有一系列的在[]出[]细胞。但是你可以双击出[]单元格关闭在[]单元格,所以人们一开始只看到输出,而不是生成它的计算语言代码。

输入输出单元

关于Wolfram语言的一个伟大的事情是如何集成和独立的它是。这意味着,即使从笔记本的任何地方提取代码片段,也可以在其他地方工作。在一个已发布的笔记本上,只需点击一段代码,它就会被复制,这样你就可以把它粘贴到你正在创建的笔记本上,在云上或桌面上。

Wolfram笔记本的一个“现成的”交互式内容的伟大来源是12,000+交互式演示Wolfram示范项目.新闻复制到剪贴板您可以将演示(连同包含其代码的封闭单元格)粘贴到任何笔记本中。

将演示复制到剪贴板

一旦你组装好你想要的笔记本,你就可以出版了。在桌面上,转到文件>发布到云.在云计算中,只需按一下发布.您可以为已发布的笔记本指定名称,也可以让系统自动选择UUID名称。但是,你可以把任何笔记本——甚至是大的笔记本——放到云端,很快就能发布一个版本。

计算期刊

在1988年我们发明了笔记本之后没多久我就开始考虑用它们来实现一种新的计算出版,比如计算期刊和计算书籍。确实,甚至在很早的时候在美国,开始有一些令人印象深刻的例子表明可以做些什么。

但是,由于计算与桌面捆绑在一起,能够做的事情总是有限度的。甚至在网络出现之前,我们就发明了分发系统笔记本作为桌面文件.后来,当网络浏览器出现时,我们构建了插件来从浏览器中访问桌面计算功能。在90年代中期,我们建立机制用于从网页内部通过网络服务器生成内容。但只有在现代网络技术和Wolfram云的整个框架下,我们今天发布的那种精简的笔记本发布才成为可能。

但是考虑到我们现在所拥有的,我认为终于有机会改变像科学和技术出版这样的事情,并使它们真正利用计算范式。是的,可以有丰富的交互式图表,任何人都可以在网上使用。是的,内容可以动态更新,例如基于来自Wolfram知识库或其他地方。

但尽管这些东西很重要,我认为它们与Wolfram笔记本在知识的可用性和再现性方面所做的相比,最终还是显得苍白无力。因为Wolfram笔记本不只是给你阅读或互动的东西;它还可以提供你实际使用或复制它所表达的一切所需的东西。

要么直接在笔记本里,要么在Wolfram数据存储库,或者云中的其他地方,可能有潜在的数据,比如来自观察或实验的数据。然后在笔记本中可以有代码来计算图形或其他可以从这些数据导出的输出。是的,这些代码可能只是为了存在而存在——也可能隐藏在某种难以读懂的计算脚注中。

但是有一些更强大的东西,现在随着Wolfram语言的存在,这是唯一可能的:使用这种语言不仅可以为计算机运行提供代码,还可以用它来表达东西计算语言以一种不仅是计算机,而且人类都能轻易理解的方式。技术论文经常使用数学符号来简洁地表达数学思想。这些年来,我们使用Wolfram语言一直致力于提供一种全面的计算语言,它也可以表达计算思想。

假设你有一篇技术论文,它以Wolfram笔记本的形式呈现,其中有很多内容是用Wolfram语言写的。你能用它做什么?您当然可以运行计算语言代码,以确保它生成论文所说的内容。但更重要的是,你可以取一些计算语言代码并在其上构建,在自己的笔记本上使用它,在不同情况下运行它,修改它,等等。

当然,这在实践中是非常重要的,它依赖于我们已经完成的大量独特的开发。因为最重要的是,它需要一个连贯设计的、全面的符号计算语言——因为这是唯一可行的方法,即使是很小的代码片段,也可以让它们独立工作,或者在不同的情况下工作。但还有更多的原因:现在可以工作的代码在未来可以继续工作,这也是至关重要的,而且根据我们在Wolfram语言中所拥有的设计原则,我们在兼容性方面有着令人印象深刻的历史跨越了30多年

早在20世纪70年代我刚开始的时候编写技术文件,它们通常以手写的文件.后来用打字机把它们打出来。然后当期刊要出版它们的时候,它们会在印刷之前被复制、编辑和排版。这是一个艰难的过程,而且不可避免地有些昂贵。

到了20世纪80年代,带有文字处理器和排版系统的个人电脑变得越来越普遍——很快,期刊就可以期待“可以照相”的电子版本的论文了。(碰巧,1986年我开始可能是什么第一个杂志经常接受这样的事情)。

随着技术的进步,在一份完全排版的期刊中,作者的作品质量和出版商的作品质量逐渐融合,期刊的主要角色围绕着品牌和选择性,许多人对它的价值提出了质疑。

但对于计算期刊来说,这是一个全新的故事。因为如果一篇论文中包含计算语言代码,那么直接的问题就是代码是否真的运行,是否正确运行。这有点像对一篇论文进行复制编辑,以便进行排版的古老过程。要确保代码正确运行,需要真正的人工工作和理解。好消息是,我们可以使用来自软件质量保证的方法,现在通过诸如现代机器学习.但仍然有真正的工作要做——结果是,在计算期刊上“正式发表”的过程有真正的价值要增加,有一个真正的理由把计算期刊作为一个有组织的、潜在的商业的东西。

我们一直在审查和整理提交给Wolfram示范项目已经有十几年了是的,这需要努力。但结果是,我们可以确信我们发布的演示实际运行,并将继续这样做。对于Wolfram数据存储库,我们也有一个审查过程,以确保数据是在适当的级别可计算

总有一天会出现“第一批”计算期刊,通过计算论文定期报道新结果。但在此之前,我们可以期待提供真正的“计算支持”和“数据支持”出版物的辅助计算期刊。只是在过去还没有技术让它正常工作。现在,有了Wolfram语言,和Wolfram笔记本新的流线型网络出版,所有需要的东西终于存在了。

改变我的工作方式

当某件事立即改变了一个人的工作方式时,它总是一个重要的信号。对于我来说,笔记本出版确实发生了一些事情。

我可能会在演讲时建立一个笔记本,比如做一个现场实验或演示。在演讲的最后,我会做一些新的事情:我将把笔记本发布到云上(通过按按钮或使用CloudPublish).然后我将做一个笔记本网址的二维码(说使用BarcodeImage),并在大屏幕上显示出来。观众可以拿起手机阅读二维码,然后点击URL,就可以立即在手机上使用我在Wolfram Cloud上的笔记本了。

我可以说,笔记本出版让我写了更多的东西,因为现在我有了一个方便的方式来分发我写的东西。我经常做计算探索一件事或另一件事。在过去,我只是将我做的笔记本存储在我的文件系统中(是的,在30多年的时间里,我已经建立了大量的笔记本)。但现在,在笔记本上添加一些文本,将其变成计算文章,速度快得令人难以置信——我可以立即将其发布到云上,这样任何人都可以访问它们。

有时我会放一个已出版的笔记本的链接在这样的帖子里;有时我会做一些类似的事情推它.但重点是,我现在有一个非常精简的方式,让人们可以直接访问我的计算工作,以一种他们可以立即交互的形式,并在此基础上构建。

从技术开发的角度来看,我们今天所处的位置是一条漫长而复杂的道路,涉及到软件工程中的许多重要成就。但结果是一些概念上清晰和简单的东西,尽管非常强大——我认为这将使计算信息交流的一个主要的新水平成为可能:一个笔记本出版的新世界。


更多关于Wolfram笔记本:

Wolfram笔记本概述»
Wolfram笔记本互动课程

4评论

  1. Mathematica是有笔记本经验的先驱,在其他人来了几年之后终于wolfram有了网络笔记本!什么是快乐!

  2. 默认情况下,当使用此发布机制时,已发布笔记本的权限结构为:

    {权限- >{“所有者”- >{“读”、“写”、“执行”},PermissionsKey [" somepassword "] - >{“读”、“写”、“互动”}}}

    但现在,如果你想发布,但不想让人们下载(本地)或创建自己的副本(云),而只是将其用作网页(仅在发布模式下查看),那么就没有Permission选项来做到这一点。

    穆罕默德•阿里
    • 设置权限以限制本地下载或在云中创建副本(即仅查看)的能力目前正在进行中,并将很快添加-待调整!

      管理员
  3. 精彩的新特性。我喜欢在博客文章中嵌入完整的笔记本。很高兴看到这种新媒体的未来。

Baidu