DSL也是语言

本文探讨了领域特定语言(DSL)如何通过隐藏语法和技术细节降低编程门槛,并清晰展示业务逻辑,从而提高程序的可维护性和容错性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

既然在我看来程序就是算法加语言细节,随之而来就会推导出很多有意思的结论。

比如既然如此,我们是否可以设计出一种完全是算法的语言,而把细节交给其他一些什么东西自动地去处理。想想CASE吧,它们不就是这样的吗?然而你会发现,即便是如此,由于算法也需要用语言来描绘,所以当你去学习这些工具的时候,你还是需要学习一些语言的东西,比如UML。

当然有些人声称,可以发明了一种新的方式,可以只用鼠标拉一拉,扯一扯,然后在简单的做点设置,就可以了。但是最终你会发现,这样的工具掌握起来跟掌握一种语言没有太大的差别。

现在忽然出了个DSL,是不是也跟以前一样是换汤不换药呢?我的答案是否定的。在我看来DSL最大的改进在于,不仅仅将计算机语言的细节掩盖起来,同时还对算法的特定面向区域做了设定,由此而来的是也对于描述算法的语言细节做了一定的掩盖。因此这种语言应该是学习门槛最低,且最能够直接显示业务和程序的执行逻辑的。

而我们进一步考虑这个问题,其实面向语言的编程大的方向也就是如此。也就是说未来的面向语言编程,应该是强调隐藏语法实现细节,同时也隐藏算法实现细节。无疑隐藏语言的实现细节,将会大幅度的减少低级的语法错误,特别是那些比如逗号写错为分号之类的错误。同时还可以明确的显现业务逻辑的边缘究竟在什么地方。这两样无疑将大大提高程序的可维护性和容错性,也会很好的减少程序的调试费用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值