10
プログラマーは静的言語に慣れていて、Javascriptツールの欠如にどのように対処していますか
私はほとんどの場合、ほとんどの場合、コンパイルされた言語、特にJavaでのみプログラミングを行ってきました。Javaについての私のお気に入りの1つは、Eclipseのようなツールを使用するとき、どれだけ生産性が高く、実際にコードを書く必要があるかということです。 あなたはできる: メソッドとクラスを簡単かつ自動的にリファクタリングします メソッドが呼び出された場所、または定数が使用された場所をすべて即座に表示する(コール階層を開く/参照を表示) 静的型付けとは、コード補完を使用して、オブジェクトで使用可能なすべてのパラメーター/関数を表示できることを意味します Ctrlキーを押しながら関数/メンバー/クラス名をクリックして、その定義に直接移動します これらすべての機能は、IDEが私の親友であると感じさせます。Javaコードを記述し、特に他の人のプログラムを理解するのがはるかに簡単になります。 しかし、私はますますJavascriptの使用を求められており、これまでの私の経験は非常に否定的でした。 特に: 関数のエントリポイントをすぐに見つける方法はありません(プレーンテキスト検索では、呼び出し階層のさらに上のメソッドの検索が行われる可能性があります。 パラメーターは関数に渡され、そのパラメーターで使用可能なプロパティと関数を知る方法はありません(実際にプログラムを実行し、関数が呼び出されるポイントに移動し、console.logsを使用してすべてのプロパティを出力する以外利用可能) コールバックとしての匿名関数の一般的な使用法は、しばしば混乱するコードパスのスパゲッティにつながり、すぐに移動することはできません。 確かに、JSLintは実行前にいくつかのエラーをキャッチしますが、それでも、ブラウザーでコードの下に赤い波線を表示するほど便利ではありません。 結局のところ、プログラム全体を常に頭に置く必要があるということです。これにより、複雑なプログラムを作成するための認知的負荷が大幅に増加します。そして、心配するこれらすべての余分なものは、実際の創造性と問題解決のための私の脳内のスペースを少なくします。 確かに、正式なクラス定義全体を記述するよりも、オブジェクトを一緒にスローする方が高速です。しかし、プログラムはわずかに簡単かつ迅速に作成できますが、私の経験では、プログラムの読み取りとデバッグははるかに困難です。 私の質問は、他のプログラマーがこれらの問題にどのように対処するかということです。Javascriptは明らかに人気が高まっており、私が読んだブログは、これらの問題の解決策を必死に見つけようとするのではなく、人々の生産性に関するものです。 GWTを使用すると、代わりにJavaでJavascript環境のコードを記述できますが、私が期待するほど広く使用されているようには見えません。実際、人々は複雑なプログラムにはJavascriptを好むようです。 私は何が欠けていますか?