可汗学院CS使用什么语言?

时间:2013-03-03 20:41:36

标签: computer-science khan-academy

我的儿子正在玩Khan Academy's Computer Science并且学习很多。

应用程序在浏览器中运行JavaScript但该语言并不完全符合JavaScript约定。例如   随机(低,高) 而不是JavaScript   的Math.random()

有没有人确切知道他们使用的语言是什么?

what's on the site link之外是否有更完整的文档,因为这看起来像是一个不完整的函数和方法列表。

6 个答案:

答案 0 :(得分:7)

我相信他们只是将它包装起来并开发自己的功能,其中包括JavaScript。

如上所述:

  

可汗学院计算机科学平台上的所有代码都是   使用JavaScript和Processing.js编写。

https://www.khanacademy.org/cs/docs

答案 1 :(得分:5)

对于原始问题,这有点晚了,但是对于任何可能发现这个问题的人来说都是好运。 :)

我是CS大学生,我经常和KACS一起玩。

原始处理语言是Java的一个子集,但是有一个名为processing.js的javascript版本。 Khan Academy CS沙箱使用的是processing.js库,但是沙盒本身使用普通的旧javascript - 尽管代码在右边的输出窗口中呈现之前会经历几个步骤。

换句话说,代码取自左侧的文档编辑器,文本形式,然后仔细考虑并注入右侧的沙盒运行环境中。沙箱策划环境以组合本机javascript和processing.js函数的子集(它们本身以来自processing.js库的javascript形式出现)。

random(a, b)不是Math.random(),而是一个processing.js帮助函数,它本身使用Math.random在a和b之间给出结果。

还有更多内容(特别是lint,KACS运行环境的一些小技术细节以及一些特定于KACS环境但不属于processing.js的辅助函数,但是如果你想设置自己的沙箱来工作,就像KA沙箱那样,你可以下载processing.js here。我在一个名为sandbox.html的纯文本文件中使用以下代码制作了一个快速而脏的沙盒。

<html><head><script src="processing.min.js"></script></head><body><canvas id="output-canvas"></canvas><script>var sketch = function (processing){with(processing){size(400, 400);background(255);

// example
// fill(255, 0, 0);
// ellipse(0.5*width, 0.5*height, 100, 50);
// your code here

}};var p = new Processing(document.getElementById("output-canvas"), sketch);</script></body></html>

然后将上述文件放在与processing.min.js相同的文件夹中,只需输入代码// your code here的代码,保存并打开文件。

完整的处理功能列表的文档是here

享受!

答案 2 :(得分:1)

可汗学院使用JavaScript,使用Processing JS库进行绘图。 Processing JS是Processing语言的JavaScript端口:

  

Processing是一种由Ben Fry&amp; Sons开发的开放式可视化语言。 Casey Reas,最初由John Resig移植到Javascript。 Processing.js由Processing.js团队维护。

答案 3 :(得分:1)

  

&GT;   使用常规Java脚本,处理Java脚本以及一些编辑,Khan Academy创建了自己的Java脚本版本,称为KAPJS。

     
    

&GT;

  

答案 4 :(得分:0)

Khan Academy的Javascript程序使用processing.js库。可以在此处找到processing.js包含的完整功能列表:http://processingjs.org/reference/

答案 5 :(得分:-1)

Khanacademy使用PJS(处理Java脚本),这是一个JS库。