例如,仅仅为了踢,我正在考虑使用我的所有JavaScript文件都可以通过的PHP脚本;现在,这与正常表达的可爱的小虫子相结合,带来了整个世界的可能性(无论好坏)。目前,我只是在构造中使JavaScript成为Pythonic,如下所示:
一个简单的函数,它接受一个参数并显示数字,如果它是2和/或3的倍数:
<script>
function show_mults_23(k):
for (x = 0; x < k; x++):
if (x % 2 == 0):
document.body.innerHTML += x;
document.body.innerHTML += ' is a multiple of 2.<br/ >';
if (x % 3 == 0):
document.body.innerHTML += x;
document.body.innerHTML += ' is a multiple of 3.<br />';
</script>
这是真的,是吧? ; P
但是,说实话,我很好奇这个概念是否曾在开发环境中实现过。显然速度有很大的下降,但除此之外,这样的想法是否有任何理由?
答案 0 :(得分:16)
对维护程序员表示怜悯,他们必须关注您并且不要这样做。为了修复bug,他们不仅需要知道Javascript和PHP,还需要知道你创建的这个不圣洁的东西。
答案 1 :(得分:5)
总的来说,我认为这是一个非常好的主意,也是一个非常糟糕的主意。
这样做有趣的技巧有助于更好地理解这两种语言及其工作方式。它既有趣又有很好的学习经验。
另一方面,为生产中的任何事情做这件事我都会大大避免。你写的代码除了你之外对任何人都没有意义,并且可能会很慢,容易出错等等。
然而,曾经有一段时间我不得不将一些可怕的东西归为“真正的”工作,并且玩这样的游戏帮助我弄清楚如何在我的环境/语言/中解决一些所谓的相当严格的限制库/等
答案 2 :(得分:1)
GWT类似。它将Java代码编译成javascript,虽然它功能更强大,并且有更多的细节,如IDE支持,背后的大型社区等......
编写自己的语言编译成javascript听起来像一个有趣的项目。但就个人而言,我不想用一个人开发和维护的语言来发展,除了语法糖之外没有其他任何理由。
答案 3 :(得分:1)
也许这个问题的标题应该是“你是否应该假装用不同于你实际编码的语言编写代码”,我的回答是“肯定不会。”
在您的示例中,您正在发明一种与javascript具有相同功能的新语言,除了您是唯一知道它的人。它服务的唯一目的是告诉读者你更喜欢Python的结构和Javascript的结构。我不想学习一门新语言,因此你可以表达这种观点。
Using macros to make C look like Pascal是另一个例子,并因同样的原因而受到嘲笑。
一种较温和的形式(以及我的一个宠物讨厌)使用空格来歪曲语法,通常在C中,如:
int* p;
(假装*
与int
的约束比p
更接近,与解析器看到的方式相反。)