MSNAn 适合大胆开发者的实验性编程语言
来源:dev.to
时间:2024-12-01 11:46:12 256浏览 收藏
大家好,我们又见面了啊~本文《MSNAn 适合大胆开发者的实验性编程语言》的内容中将会涉及到等等。如果你正在学习文章相关知识,欢迎关注我,以后会给大家带来更多文章相关文章,希望我们能一起进步!下面就开始本文的正式内容~
开始
几年前,在折腾了2种语言草案之后,我开始了我个人项目的巅峰。 MSN2 曾经(现在仍然是)我认为是一种模拟编程语言,主要是由于其非常规、未优化的解释方法,可能会导致语言完整性问题。
但我又问自己,为什么这些年来我会不断回到这个项目?为什么我没有把它和其他草稿一起扔掉,以免开发人员尴尬?我保留它是因为远远超出了我对拥有单一贡献者的编程语言的期望,尽管我离我的愿景还有很长的路要走。
为什么要另一种语言?
在开发早期,并没有真正的意图向公众发布它,因为这只是一个学习练习,因此没有真正的理由引入一种新语言。无论如何,作为一个功能性工具和我的 Python 研究的主要来源,在 Python 之上构建编程语言的好处不仅使我们拥有 Python 本身的完整功能,而且还为我们提供了以下新功能:
- 多道编程
- 语法添加
- 自动化(赢得 10 项独家)
- 多语言(自 2.0.403 起,Python、JavaScript、Java、C)
- MSN2 -> JavaScript/React 转译
- API端点创建和交互
- 简单、轻量级的容器
由于易于实现新功能,它可以作为更加面向社区的语言的基础,通过社区反馈和贡献不断进步。凭借当前和未来的贡献,我们创造机会:
- 创新编程策略
- 促进跨语言互操作性
- 支持灵活且可定制的语法
- 提供用于自然语言处理 (NLP) 的预构建实用程序
- 促进自定义库和插件的创建
- 适应更广泛的开发环境
还有多少...?
能力
很容易说该语言非常强大,并且在某些情况下,我认为它用更少的代码就更强大。随着更新的发布,作为开发人员使用它也变得越来越愉快。不幸的是,使用该语言并不容易说是小菜一碟。我发布了 VSCode 的 msn2 语法突出显示扩展、基本文档以及许多教程和代码示例。尽管在以某种方式编写代码时,如果没有自动完成关键字或标记并理解其含义,就会变得很困难。这些问题在 MSN2 存储库的问题选项卡中得到解决。
完整的、可运行的示例
(这些示例都没有超出框架的额外代码)
简化简单操作
启动 API 端点并查询
创建个性化宏
运行内联 JavaScript(也可以使用 Java 和 C)
- 这些示例几乎触及 MSN2 的表面,在 MSN2 存储库中找到许多更大的项目和演示
较大的项目示例
- 实现 C 语法
- 自动化 Excel
- 全栈应用程序 - HTML + MSN2 作为后端
- 自动化 - 在 chess.com 上随机下棋
- 启动一个简单的 Streamlit 容器
- 我的 TikTok(15+ 项目)- 将 MSN2 注入 leetcode.com
- 所有大型测试项目
缺点
以上听起来很棒!我完全投入到在我所创建的基础上采取步骤。但尽管我希望如此庞大、过于复杂、需要维护的代码库不会出现问题,但还是有 XD。
正直
自 MSN2 2.0.403 起,存在多个可修复的完整性问题,可能会在运行时产生不正确的结果。幸运的是,诚信问题是暂时的,但重要的是要迅速解决这些问题。
速度
使用 Python 作为后端,速度成为一个残酷的缺点,这就是速度。速度将永远成为MSN2的一个问题,不幸的是我们只能尝试让基础语言匹配接近Python自身的速度。
那我们能做什么呢?
- 我们可以提供多语言方法 - 虽然我们管理速度较慢、开销较大的流程,但此流程可以轻松地以更快的语言启动程序。 MSN2 GitHub - 查看多语言实现
- 我们可以让它变得值得 - 通过 Python 维护更大的后端,MSN2 获得了一个独特的机会,可以在拥有广泛而灵活的功能时从开发人员角度探索功能上的可能性。一组跨语言和环境的内置集成。这使开发人员能够更有效地协调广泛的数据管道、自动化工作流程和大型系统,从而可能使管理和扩展依赖于 Python 无限的生产就绪功能的项目变得更加容易。
- 我们可以优化 - 在解释过程中有很多去优化点,这将是主要速度增益的初始来源。
- 我们可以接受它 - 基础MSN2将永远用于依赖速度的应用程序,例如数据科学、实时分析、高频交易以及许多其他领域。 MSN2 将主要用于可定制的程序编排,快速、无缝地使用高度通用的功能,允许开发人员创建连接各种编程语言和工具的强大工作流程。这种灵活性使其成为管理复杂的多语言项目和自动化不同任务的理想选择,而无需切换环境或编写大量 Python。
总结
这个项目是一次雄心勃勃的旅程,最初是一次学习练习,很快就发展成为探索语言设计和新的、创造性的概念证明的游乐场。 MSN2 作为一种学习经历,不断挑战我的编程能力。它远非可接受,也远非完美,但这正是它令人兴奋的部分原因 - 它充满了成长和改进的机会。
虽然大多数语言尚未完全准备好投入生产,并且测试尚未达到 100% 的覆盖率,但 MSN2 代表了非传统思维的潜力和在没有完美压力的情况下进行实验的自由。它是否成为项目中的有用工具或仍然是个人的努力取决于我自己和社区,但它的未来取决于持续的开发、反馈和完善。现在,我将它视为一块踏脚石,边缘粗糙,有很多裂缝,但仍然足够坚固,可以站立。
有用的链接
GitHub 上的 MSN2
MSN2[2.0.401] 文档
我的网站/作品集
这篇文章的横幅是未格式化的,但可运行的 MSN2 代码包含 JavaScript、Java、C 的内联混合,所有代码都与同一行中旋转的 API 端点交互。
今天关于《MSNAn 适合大胆开发者的实验性编程语言》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
412 收藏
-
343 收藏
-
348 收藏
-
335 收藏
-
264 收藏
-
491 收藏
-
280 收藏
-
115 收藏
-
444 收藏
-
380 收藏
-
481 收藏
-
255 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习