2009-03-14 8 views
2

たとえば、ちょうどキックのために、私はすべてのJavaScriptファイルが通過するPHPスクリプトを考えていました。今、これは正規表現である素敵な小さな虫と組み合わせて、より良いか悪いかの可能性の全世界につながります。現時点では、私はJavaScriptをPython構造にしています。プログラミング言語を意味しないものにしようとするのは良い考えですか?

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

oO hmm –

+2

質問がありません。 PHPはそれが意図していない何かをするように作られていますか? –

答えて

16

あなたに従わなければならないメンテナンスプログラマーには、これをしないでください。バグを修正するために、JavascriptとPHPを知る必要があるだけでなく、あなたが作成したこの厄介なものも知っている必要があります。

+0

私がこのようなものを手渡された場合、合意した、これは私の一日を台無しにするでしょう:) – Kev

5

一般に、私はそれは非常に良い考えであり、非常に悪い考えであると言いたいと思います。

このような楽しいトリックは、両方の言語の理解を深め、どのように機能するかを助けます。それは楽しいことができ、素晴らしい学習経験です。

一方、生産中の何かのためにこれを行うことは、私が非常に避けるものです。あなたが書いたコードは、あなた以外の誰にも意味をなさないでしょうし、おそらく遅く、エラーが起こりやすいなどです。

しかし、私は何か恐ろしいことを一緒にハックしなければならなかった時があります"本当の"仕事、そしてこのようなゲームをすることは、私の環境/言語/図書館/その他でおそらくかなり強固な制限を回避する方法を理解する助けになりました。

1

GWTは類似しています。それははるかに機能的でIDEのサポートやその背後にある大きなコミュニティのようなもっと細かいことがありますが、Javaコードをjavascriptにコンパイルします...

JavaScriptをコンパイルするあなたの言語を楽しいプロジェクトのように聞こえます。しかし個人的には、私はある人によって開発され、維持され、統語的な砂糖以外の正当な理由なしに書かれた言語で開発したくないでしょう。

1

この質問のタイトルは、「あなたが実際にコーディングしている言語とは異なる言語でコーディングしていると思わなければなりませんか?」と私の答えは「間違いありません。

あなたの例では、あなたがそれを知っている唯一の人であることを除いて、javascriptと同じ機能を備えた新しい言語を発明しています。それが役立つ唯一の目的は、Pythonの構造をJavascriptの構造にすることを読者に伝えることです。私は、あなたがその意見を表明できるように、新しい言語を習得したくありません。

Using macros to make C look like Pascalはこれとは別の例であり、同じ理由で批判されています。

本の穏やかな形式(と私のペット嫌いの1つ)のように、通常はCで、構文を偽るために空白を使用している:

int* p; 

(あなたが*を装っているところより密接にバインドされていますintよりもpの方が、パーサが見ているのとは反対です。)

関連する問題