致敬所有创新者:拜语言创新源于对原生技术的理解和抽象

拜语言 2024-05-23 00:08:39

文/拜语言团队

新技术产生往往是一个艰难的继承和创新过程,拜语言也不例外。与其他技术一样,拜语言凝聚了团队多年研发和实施的努力汗水。拜语言团队致敬所有在技术和产品领域的创新者,致敬奋斗者和耕耘者。正是因为有了创新、奋斗和耕耘,才有了如今多元美好的世界。

软件开发者是前沿技术领域的核心,是构筑和推动计算机软件世界发展的最核心的力量。感谢在拜语言公测期间为拜语言产品和技术提供了宝贵意见的用户,感谢“知乎985科班出身的算法匿名用户”公开写了详细的宝贵意见。拜语言团队欢迎各类良好的意见和建议,这些意见和建议对完善拜语言工具和相关内容有重要意义。拜语言团队目前更新完善了产品和说明,并且完成开发了面向大众的配置开发的快速开发工具(ICE)、云分发轻服务等工具集,即使不懂编程语言,也可以配置通用性的常用软件。此外,我们还完成了云分发轻服务技术研发,让一款软件产品的一个布署即同时服务成千上万的用户,更低的布署及运维成本、更简单的集成服务:可以让任意的非技术人员集成到任意的web站点,不用布署任何的服务器就支持动态的功能,让拜语言用户构建的软件拥有本色的虚拟“云”能力!

一、拜语言产品

聚焦到产品和技术,面向对象技术痛点表现在:数据建模成本高、前后端分离、不同端用不同的语言来写代码,写同样的功能、函数和方法在不同的项目中需要重新用项目的开发语言重新写一遍,运维成本高。项目如果涉及到多端部署的需求,不同的端也需要用到不同的开发语言,功能、函数和方法的继承和复用方面没有办法解决,只能用所需要的语言重写。在IDE方面,也存在类似的问题。

拜语言创新提出基于数据类型的面向身份语法设计,这是基于现有面向对象程序技术的进一步抽象。独创的语法结构和高度复用的数据类型是实现通用、标准、高效的编程语言的重要基础,主要解决了跨端、跨语言、复用性等困扰开发者的系列问题。拜语言是跨语言、跨端、跨场景,全栈多端一体化编程工具。根据公测用户的需求和建议,拜语言更新了开发、视图、界面、ICE平台等功能和性能。

二、拜语言语法

拜语言专业版的语法特征与JAVA、C#有80-90%的相似度。一方面,拜语言保有了程序员的习惯性,有利于程序员上手。另一方面,通过高度复用的数据类型,库和表的呈现方式,拖拉拽的配置生成式编程,抽象拓展了功能和性能,极大的提高了开发效率。拜语言大众版快速开发工具是基于专业版开发的配置开发工具,用户不需要学习语法,懂基本业务逻辑就能够配置软件。快速开发工具是基于数据类型和语法的配置工具,与传统技术的低代码开发工具基于函数和框架不同,拜语言快速开发工具具有更强的灵活性和更广的边界。

面向身份是一种称呼,拜语言的身份是一种功能集或方法集,由属性、

数据、方法、构件、事件、关系等构成。身份由开发者创建,赋予不同的内容,实现不同的功能,可以在不同的端、不同的场景、不同的项目中使用。除了自己使用,也可以在拜语言社区分享给有身份需求的其他开发者。

拜语言中的身份和场景概念是面向身份编程技术重要的核心概念。举个例子,一个人,在不同的场景中,可以有不同的身份。在家庭场景中,可以是父亲;在工作环境中,可以是管理者;在运动场上,可以是运动员;在车里,可以是驾驶员或乘客。但是,这个人还是这个人。在编程实现方面,面向对象编程如何实现呢?JAVA和C#之类的编程语言需要针对每个场景进行描述,定义为确定的对象。而面向身份编程又如何实现呢?拜语言对人进行定义了,称为身份。身份可以在每个场景中进行调用。这是场景和身份的直观性认知,这种方式,也更贴近真实的世界。

逻辑上而言,场景是可以不断变化的,但是,这个人仍然是这个人。那么定义出来的身份,即可以在拜语言中的各种场景中调用。因此,身份体系是拜语言区别与JAVA和C#之类的编程语言的重要区别。

在使用拜语言编程的过程中,除了身份,还会用到各种通用子模块、行业专属的模块等。拜语言提供了一些常用的通用子模块供开发者选择,也可以自行开发,行业独特性的内容由程序员根据所处的应用场景开发。这种设计有点像乐高的模块一样,星球大战乐高、变形金刚乐高系列大多数的内容是标准模块(通用性编程逻辑),不同的定制化内容构成了主题(业务逻辑)。从这个角度分析,拜语言将编程转换成类似于搭建乐高的模式了。这种方式对于降低编程的门槛而言,是有很大帮助的。

举个例子:用拜语言创建一个身份,这个身份是一次创建,多端运行。为身份赋予一个“hello world”的技能,为这个身份创建实例,并在主函数中用这个实例调用“hello world”技能。代码示例:

从上述代码可以看出,对于创建实现一个简单的“hello world”身份实例,由创建拜语言身份时,就由系统自动配置生成,开发者只需要将相应的技能、属性、方法等内容装载,多端一体化开发和部署。实际在创建项目的时候就系统默认创建多端的调用和显示:

从上面的描述中,有经验的开发者能够看出,现有的技术实现跨端的问题是一个复杂的问题,而拜语言的优势明显,效率和优势清晰可见。

三、与其他编程语言的区别

拜语言是标准、通用、高效的编程语言。是世界上第一门 DT 语言(Data Technology Language),即用数据化(库与表)来表示一门编程语言。拜语言的表(biao)是指在拜语言开发过程中,代码以表的形式呈现。这与传统意义上的表是有差别的。一方面,表(biao)其实是包含了更丰富的内容;另一方面,表(biao)在面向对象的技术角度看来,更利于封装和继承。因此,这是一种更加高程度的抽象。据此,开发者可以有更多的复用性,更高的效率,更大的编程开发施展空间。

传统的编程语言是用一个文件中的一个对象表示、对象中的属性、事件、方法、等成员全部都以特定的格式放在当前对象中,而拜语言则是用“库与表”来表示所有的数据类型,即:用一张 object 表来表示对象,并把当前库中所有的对象(object)全部放入 object 表中,对象内部的属性(property)成员则全部放入“object.property”表中,对象内部的方法(method) 则全部放入方法表(object.method)中,对象内部的事件(event)成员则全部放入“object.event”表中,其中各表的关系则用对象名称来进行关联。当然还有其他的一些数据类型如:身份(identity)则同理放入 identity 表中,identity 中的成员也依次放入各相关表中,也同样用身份的名称进行关联。

既然是标准、通用的编程语言,那么拜语言通过独特的设计基本实现了统一性,基于拜语言开发的软件,函数库一致、方法的位置出处一致,语法一致,语义一致。拜语言的转译器能够将拜语言转化成为其支持的目标语言。暂时不支持其他语言转化成拜语言,也不支持拜语言作为媒介在其他语言中转译。拜语言的跨语言特性在使用IDE开发和转译的时候便能够较好的展现。Jetbrain是值得尊敬的先行者,拜语言IDE并不落后。路虽难,行则将至。对于功能和工具,其性能的实现大多数时候依赖于开发者,才是性能的发挥者。因此,对于开发工具而言,更多的使用者给拜语言团队提出宝贵意见才是完善和提升性能的根本支撑。用户使用拜语言开发软件或配置软件,能够高效的产出各种类型的企业管理软件,赚到钱,才是工具本身的价值。

四、主要功能配套

拜语言自主研发集成开发环境(IDE)虽然暂时没有VS Code好看,但是,我们自主研发,麻雀虽小,五脏俱全,能满足日常开发的需求。作为编程工具提供商,拜语言尊重用户习惯,在不断改进,希望给用户更好的体验。拜语言专业版开发工具是网络版的编程语言,实际上只需要下载拜语言,无需安装,双击运行文件即可以使用。拜语言大众版集成配置开发工具(ICE)可以直接在网页上开发。这与大多数配置化的低代码平台操作类似。但是,两者的支持和边界不同。可以说,拜语言大众版是语言级的低代码。ICE将在官网和Github开源,分享给更多有需要的人。

拜语言提供不同语言之间的转译器,目前暂时支持C#/JS/JAVA/SQL,具体以官方公布的技术文档为准。它的主要作用表现在如下几个方面:

1、   扩展开发的边界,融入生态。除了本身跨语言的调用之外,转译器能够实现拜语言编写的代码转译为所需的语言,可以较好的融入现有编程语言生态,从而进一步拓展开发边界。

2、   跨语言转译。通过转译器,拜语言可以转化为用户所需的项目开发语言代码,不影响协作。

3、   衔接旧系统。使用拜语言开发的身份、方法、甚至编程逻辑、业务逻辑等,可以转译为支持的目标语言,从而对接原有系统。不影响原系统的运行,却支持升级迭代。

4、   项目的可继承性。不同的开发人员面对不同的开发项目,用的是同一种代码,能够有很好的团队协作性和继承性。

五、独特的文化基因

在现行主流的编程语言中,中国的贡献有哪些呢?作为一门新的高效率的开发语言,拜语言希望给大家带来更高效和便捷的编程体验。也希望将属于中国的语言符号融入一点点在一门新的编程语言中。因此,选择了库和表的中文拼音代表基于抽象的biao和ku,替代了面向对象的table和package。这个替换其实并不影响用户使用,但却反映了重要的东方文化基因。犹如我们身上的黄皮肤和黑眼睛。

拜语言中的表(biao)并非传统意义上的表。做软件项目常常用以“PowerDesigner”为代表的数据库设计软件,设计表结构、说明等信息,然后再用一些ORM工具生成实体类,之后再在其之上构建业务逻辑代码。

拜语言通过表(biao)合并了文档和代码。一般文档的设计者与业务逻辑的构建者都是两个人或团队,有人做设计,有人做开发,先不说好坏,起码是有文档的,好过没有!但程序员在做开发时,都会一边看文档或者一边查文档一边写代码,因为设计文档与业务逻辑代码没有任何的关联性,就导致设计文档与实际的数据库中的表、表之上构件的业务逻辑代码不一样,究竟以哪一个为准?也就是说总有一个是错的,大多数时候设计文档是错的。从开发者的角度看来,这是不正常的。起因可能是程序员发现的设计文档的错误,或者为了满足客户的要求修改的程序,但设计文档没有改,从而导致两边不一样。程序员写的代码,还需要另外再维护一份文档,不但麻烦,而且是多出来的工作量。拜语言的做法是,把设计文档与实际的表进行了合并,程序员可以直接建表、修改表,只有一份,详尽的说明与强类型为核心的语法体系。可以让数据模型清清楚楚。对于项目组管控而言,想故意把一个表中的字段写错都不行。拜语言的IDE会提示修改,而且足够简洁,再也不需要另外维护一份与直接的逻辑代码执行没有关系的文档!

这种强类型“表(biao)”则可以在拜语言的全局中直接访问,而且提示、详细的说明、有多少个外部引用这些都是全局的。也就是说拜语言的“表(biao)”即是文档也是实体类,还是最终SQL数据库中的表!这样就能够做到一致性。因此,拜语言中的“表(biao)”表数据类型,是对传统管理软件项目中,文档部分、数据库中的表部分、业务逻辑中的ORM部分合并为一个数据类型。带来的好处是“简洁”,再也不用同样的工作要干几遍,在新建与修改的时候也方便,可以直接上手写代码,再也不用去看文档了!表中的行即是一个个的“实体类”,开发者可以在全局中直接访问,省去了传统修改时,再通过一些第三方的代码生成工具重新生成特定的ORM实体类的麻烦!

六、用与不用:

每个程序员在考量各种编程工具时,通常会优先考虑3个问题:第一,这个工具能帮助解决什么问题?第二,这个工具效率和成本如何?第三,门槛如何?

对于软件开发来说,任何语言都是无所不能的,但不同语言有其擅长领域。C语言可以写任何领域任何软件的代码,可以开发任何软件和应用。但语言与语言之间,C++相比C多了垃圾回收机制和类,Java解决了跨平台。在企业级软件开发中,后端基本是Java/C#在写,前端一般是JS/Html。

拜语言编程工具是一次集成编写,多端运行。拜语言除了具有传统编程语言的能力之外,还有跨语言、跨应用场景、跨端一体化配置生成商用系统、转译成面向对象编程语言、高度复用等特性。拜语言的编程工具优势在于开发效率高,开发效率相比传统面向对象编程工具有10倍级提升。随着新一代面向身份编程技术的出现,软件开发领域的工具多了一项低成本和高效率的新选择。

既然拜语言是面向数据和人工智能时代的多端全栈一体化开发工具,那么,拜语言除了多端全栈一体化开发、部署和运维之外,效率的表现在哪里呢?编程效率最重要的是通过复用性、开发过程、开发成本来计算。基于高度复用的数据类型是拜语言的基础。毋庸置疑,将开发的过程配置化,在专业版中实现拖拉拽,显然比代码开发效率高。全栈一体化能力就能够帮助团队节约大量的成本。甚至,某种程度而言,一些资深的程序员很容易就独立创业或者创建自己的工作室了。业务需求方面,每个人身边也会有许多数字化和信息化服务的人,为他们提供更优质、更高效的数字化和信息化转型服务,将进一步实现每个技术人员的价值。

拜语言能够帮助程序员和开发团队解决跨端、跨语言、跨应用场景、全栈一体化开发、复用性、编程逻辑与业务逻辑分离等问题。使得程序员一次开发,终身使用。显然能够为下一次做项目积累丰富的身份和逻辑,提高后续的项目开发效率和能力。

门槛如何?拜语言大众版基本没有什么门槛,懂业务,拖拉拽就能够配置。拜语言专业版原有面向对象部分是无缝对接,但是,拜语言有自己的语法和用法需要理解。因为代码特征沿用了JAVA和C#的一些惯例,程序员基本看看就懂,很快就能够上手写代码,至于要达到精通的程度,视个人的学习和理解能力,大概需要1-3个月的周期。拜语言的文档提供PDF、网页版和视频,帮助大家更快的了解拜语言产品和技术。

对于开发者而言,时间和效率意味着产量和质量,这是生命线。随着科技的发展,每个开发者都渴望能够有更加高效率和高品质的开发工具。我们尊敬和致敬所有的创新者。网络上关于我司技术和产品的内容以官网和官方自媒体号为准。

拜语言是单机版,也有网络版的编程语言,对现有任何工作环境不存在冲突。下载到本地的内容是IDE客户端和基础库内容。技术路线属于创新性设计,和套壳类、胶水类语言存在本质的区别。有需要的开发者在官网可以通过工单系统,团队会评估反馈。技术和产品行不行,一试便知。欢迎尝试使用拜语言。

0 阅读:14

拜语言

简介:新一代面向数据和人工智能的软件开发和数据处理工具集