钥匙要点
- 编程的未来可能会看到远离JavaScript的转变,并且引入WebAssembly使网络成为其他语言的更具吸引力的编译目标。 >作者希望,任何取代JavaScript的内容都将具有内置不变的数据结构,对象,集合和原始类型的字面形式,具有闭合的lambdas以及最小的语法等。
- 可轻松建模和可视化系统中的反应性关系的视觉IDE可能会成为编程的规范。这将通过视觉上对程序进行建模的彻底重新思考,从而促进这一点,从而减少视觉混乱和接线开销。 编程的未来也可能涉及遗传编程,在该计划中,根据其通过测试的能力以及AI辅助编程来生产和过滤候选程序的种群,在其中AI系统分析代码,搜索潜在的错误和漏洞,漏洞,漏洞,并建议需要编写的测试。
- >最近,我们听说Web平台正在获得一个名为WebAssembly的新浏览器本地编译目标(请参阅WebAssembly的内容:新时代的曙光)。 WASM使Web平台成为其他语言的更具吸引力的编译目标。这让我们想知道javaScript之后会发生什么。
- JavaScript具有一些很棒的功能,但我衷心希望我们尽快继续前进。 JavaScript很棒,它教会了我们很多东西,但是编程会不断发展。 JavaScript之后会有生命。
>我一直在使用并真正享受咖啡本,这有助于激发许多新的ES6功能。 CoffeeScript感觉比JavaScript简单得多。它具有更简洁的语法,但增加了ES5中不存在的许多表达能力。当然,我通过将其删除有毒的类关键字来简化咖啡本。我也喜欢和哈斯克尔在一起。但是这些语言代表当前。
那么下一步该怎么办?
>
在JS之后引起火灾,我希望它具有以下功能:- 内置的不变数据结构和不变性默认情况下。
> >对象,集合和原始类型的字面形式。
在大多数用例中, - 更好的默认号码类型。 >
- >自定义结构类型,包括对低级二进制类型的良好支持(如果我们获得可定义的文字语法,则奖励)。
- >对象和工厂组成的本机支持。像内置邮票一样。
- 实时保证游戏,音乐和视频制作,DSP,科学应用,分布式系统的同步等应用程序的低延迟处理和精确计划
- 最小语法,类似于Ruby,Python或Coffeescript。现在,我有机会在没有卷发括号和半龙的情况下变得舒适,我觉得不那么局限于语法。 >
- >对反应性编程的一流支持
- 烘烤的语言,所有这些围绕所有这些简单,一致的API:
流。
连续数据源(UI输入,时间,向量图像等…)。
>包括数组和对象的收集。-
对于响应发射事件(例如节点风格的流)还是连续数据源,无论数据是否一次流过一个值(即迭代 /生成器产量),应以相同的方式使用此API。作为音频,电信号,UI输入,传感器,甚至与时间无关的事物,例如向量图形等…… - >类似的内置API可以包装所有类型的所有类型,这也有可能简化语法。 关于所有这些反应性工作如何工作的真正有见地的观点,请查看一个一般的反应理论。
- 更好的工具
虚幻引擎4 BluePrint
>一个奇妙的视觉IDE,可轻松建模和可视化系统中的反应性关系。用更好的ux思考noflo。
由不变的数据结构启用了
Time-Travel调试(示例使用JavaScript)。 Time-Travel调试可让您轻松地在现场运行程序的历史中来回穿梭。
编译为JS&WASM对浏览器和节点的大力支持。
- >大理石图
- ,以帮助您进一步理解和预测程序的行为。
- .merge()
-
视觉IDE将是标准
>那些熟悉基于流的/数据流编程的人会正确地告诉您这并不是什么新鲜事。视觉编程工具已经存在数十年了,到目前为止无法替代基于文本的编程。
>将其推向边缘的是一种激进的重新思考,即如何在视觉上对程序进行建模,从而减少了困扰大多数基于流程的编程解决方案的视觉混乱和接线的开销。
> 在这个空间中,大多数创新根本都没有在编程环境中发生。取而代之的是,它在数据流建模是主要任务的生产应用程序中发生。没有比音频生产应用程序更好的说明。 >音频生产应用程序通常通过效果处理器网络路由原始音频。在编程术语中,您可以将效果处理器视为功能映射:纯函数为列表中的每个元素,其中这些元素对应于音频样本slice。
大多数音频应用程序通过以Skeuomormormormormormormormormormormormor的方式模拟真实的机器和电缆,以视觉上的模型。 skeuomorphic用户界面是试图模拟在软件中建模的原始对象的用户界面的方法。Skeuomorphic Design的问题是,它忠实地重现了原始的大多数用户界面混乱和效率低下。在数据密集型应用程序(例如音频制作)中,杂物看起来非常熟悉程序员:电线看起来有点像意大利面条 - 所有好的开发人员都知道我们应该避免使用。
但是最近,诸如Ableton Live和Renoise之类的软件找到了巧妙的方法,可以完全使用频道和链条完全摆脱杂物。
> Ableton Live Effects通道。数据流从左到右流。
>
renoise通道,每个通道都有一个效应链。数据流到底到底 在代码中,一个频道可能看起来像这样:
>如果您仔细考虑这一点,很明显,使用此模型,您可以做出比音频和数字信号处理(DSP)多得多。例如,您可以使用它来在Express中以视觉模型路由和中间件,其中路由由通道表示,并且中间件由效果表示:
>
当然,这意味着链中的每种效果都需要对具有共享API的输入作用。这就是功能性和反应性编程概念闪耀的地方。在任何类型的集合(包括网络请求流)上提供统一的API很容易。在功能编程中,这些包装API称为函数。用简单的英语,函子可以映射的东西。假设的奔驰启发的UI用于编程路线。
>
这听起来有点像科幻小说,请看一下Treeline。今天它做了非常相似的事情。看看以Treeline建立的此帖子 /注册路线。它对用户密码进行加密,然后创建用户模型,然后以状态200的响应。这些步骤中的每个步骤都可以视为频道效应:treeline:数据流到底到底 遗传编程
遗传编程提供了对热代码和关键算法的持续自动改进的可能性。真正的潜力可以将遗传编程算法指向GIT存储库,并在人群改善先前部署的版本时自动将新一代软件推向生产。 ai辅助编程
> Scott Ingram - 双神经元(CC BY-NC 2.0)
强大的AI今天在这里。许多人工智能系统都在我们自己的游戏中击败了人类。 AI的一个主要优点是它能够很快分析各种替代方案。 AI可以检查您编写的代码,搜索潜在的错误和漏洞,识别可以抽象的模式,建议需要编写的测试,甚至识别基因编程人群中的模式,并自动调整种群和环境参数以微调遗传编程算法。
换句话说,长期,AI具有成为宝贵的编程工具的真正机会。实际上,很容易想象一个未来,AI可以在没有任何人为帮助的情况下制作程序。
>结论 接下来会发生什么,期望这是技术和创新的量子飞跃。未来将比您想象的要早。
经常询问有关WebAssembly及其未来的问题(常见问题解答)
> javaScript和WebAssembly?> javascript多年来一直是Web开发的骨干。但是,它有其局限性,尤其是在性能密集型应用程序方面。另一方面,WebAssembly是一种二进制指令格式,允许代码通过利用常见的硬件功能来以近乎本地的速度运行。它的设计是一种低级的虚拟机,以近速度运行代码,使其非常适合游戏,计算机辅助设计,视频编辑和科学模拟等任务。是WebAssembly替换JavaScript?不,WebAssembly并非旨在替换JavaScript。取而代之的是,它是与JavaScript一起工作,使开发人员可以为工作选择合适的工具。 JavaScript非常适合使用复杂的用户界面构建动态网站和应用程序,而WebAssembly更适合于性能密集型任务。> WebAssembly如何改善Web performand? websembly通过提供Web性能来改善Web性能网络更有效的二进制格式。这种二进制格式允许与JavaScript更快地解析和执行代码。此外,WebAssembly被设计为一种低级虚拟机,以近速度运行代码,这是性能密集型任务的重大性能。
>我可以在当前的Web项目中使用WebAssembly吗?是的,您可以在当前的Web项目中使用WebAssembly。大多数现代浏览器都支持WebAssembly,并且有几种可用的工具可以帮助您将代码编译到WebAssembly。为WebAssembly汇编提供最好的支持。但是,目标是将来支持尽可能多的语言。还在不断努力增加对Python,Go和Java等其他语言的支持。>使用WebAssembly? webAssembly的安全含义是什么,专注于安全性。它与JavaScript在同一沙箱环境中运行,这意味着它具有相同的访问限制。此外,由于它是一种低级二进制格式,因此它不太容易受到JavaScript常见的某些类型的攻击。几种方式。例如,您可以从WebAssembly调用JavaScript函数,反之亦然。您也可以在两者之间传递数据,尽管目前需要进行一些手动工作。>
WebAssembly的未来是什么?它已经得到了所有主要浏览器的支持,其性能优势使其成为Web开发人员的吸引人选择。随着越来越多的语言获得编译到WebAssembly的支持,我们可以期望看到它在更广泛的应用程序中使用。
>>使用WebAssembly?它确实有一些局限性。例如,它目前无法直接访问DOM,这意味着您需要使用JavaScript进行任何DOM操作。但是,正在进行的努力来解决这一限制和其他局限性。
>我如何开始学习和使用WebAssembly?
>有几种可用于学习WebAssembly的资源。官方的WebAssembly网站是一个很好的起点,因为它提供了该技术的全面概述。还有许多在线可用的教程和指南可以帮助您开始使用WebAssembly。
以上是编程的未来:JavaScript之后的WebAssembly&Life的详细内容。更多信息请关注PHP中文网其他相关文章!

JavaScript在网站、移动应用、桌面应用和服务器端编程中均有广泛应用。1)在网站开发中,JavaScript与HTML、CSS一起操作DOM,实现动态效果,并支持如jQuery、React等框架。2)通过ReactNative和Ionic,JavaScript用于开发跨平台移动应用。3)Electron框架使JavaScript能构建桌面应用。4)Node.js让JavaScript在服务器端运行,支持高并发请求。

Python更适合数据科学和自动化,JavaScript更适合前端和全栈开发。1.Python在数据科学和机器学习中表现出色,使用NumPy、Pandas等库进行数据处理和建模。2.Python在自动化和脚本编写方面简洁高效。3.JavaScript在前端开发中不可或缺,用于构建动态网页和单页面应用。4.JavaScript通过Node.js在后端开发中发挥作用,支持全栈开发。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。 1)C 用于解析JavaScript源码并生成抽象语法树。 2)C 负责生成和执行字节码。 3)C 实现JIT编译器,在运行时优化和编译热点代码,显着提高JavaScript的执行效率。

JavaScript在现实世界中的应用包括前端和后端开发。1)通过构建TODO列表应用展示前端应用,涉及DOM操作和事件处理。2)通过Node.js和Express构建RESTfulAPI展示后端应用。

JavaScript在Web开发中的主要用途包括客户端交互、表单验证和异步通信。1)通过DOM操作实现动态内容更新和用户交互;2)在用户提交数据前进行客户端验证,提高用户体验;3)通过AJAX技术实现与服务器的无刷新通信。

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

Python和JavaScript在社区、库和资源方面的对比各有优劣。1)Python社区友好,适合初学者,但前端开发资源不如JavaScript丰富。2)Python在数据科学和机器学习库方面强大,JavaScript则在前端开发库和框架上更胜一筹。3)两者的学习资源都丰富,但Python适合从官方文档开始,JavaScript则以MDNWebDocs为佳。选择应基于项目需求和个人兴趣。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

Atom编辑器mac版下载
最流行的的开源编辑器