我一直在学习因子和J语言来试验无点编程。这些语言的基本机制似乎很清楚,但是如何理解如何进行算法设计是一项挑战。
对我来说,一个特殊的混淆源是如何构造代码以便很容易地尝试不同的参数。通过这个,我的意思是Mathematica和Matlab如此擅长的东西;你设置了一个算法然后操纵变量并观察发生了什么。
如果没有明确的变量,你怎么做?也许我在想这一切都错了。我应该如何在无点编程中实现这一点?
答案 0 :(得分:9)
以下是我在处理连接范例时遇到的三个重要建议(在我的案例中应用于因子编程语言):
作为一个总是,阅读和“走”到现有的代码。在Factor中,很容易探索运行时并了解事情是如何工作的。
对于您的特定混淆源,如果您的算法中有很多输入参数,最重要的是研究如何使用它们。收获数据流模式。你必须真正思考在最小的相关参数集上“安排”操作的最佳方法。
这是一次非常困难的经历,但是当它成功时,它也是非常有益的。之后我们觉得自己就像人类编译器。
祝你好运!答案 1 :(得分:0)
我对级联编程语言Joy和Backus FP-like语言有一点经验。关于算法设计,我可以说这是一个非常结构化的算法设计。
在没有显式变量的情况下该怎么做?
实际上,像Backus FP这样的语言没有全局变量。但是,没有什么可以阻止使用某些受限制的局部变量,例如实例变量。