5

私が書いているコードの一部が、潜在的なクライアントがたまたま持っているハードウェアに展開される可能性があるプロジェクトが迫っています。これは 24 時間年中無休で実行されるビジネス アプリケーションであるため、ほとんどのホスト マシンはサーバー タイプのボックスであると想定していますが、小規模なクライアントには単純な PC しかない場合もあります。

私が書くコードについての詳細は次のとおりです。

  1. GUI はありません。

  2. イーサネット ネットワークを介して別の特注の「ブラック ボックス」デバイスと通信する必要があります。

  3. ネットワーク上のどこかにある MySQL データベースと通信する必要があります。

  4. a) ブラック ボックスとの通信回数は少なく、1 秒あたり約 1 回であり、交換されるデータの量はごくわずか (毎回約 1K)、b) 読み取り回数/writes は小さく、毎分約 5 回であり、交換されるデータの量はごくわずかであり、c) 実行する必要がある処理はかなり単純化されています。

  5. 私がやっていることは、非常に「金属に近い」ものではないので、レベルが低すぎる言語は使いたくありません。開発の容易さと展開の容易さは、私の主な優先事項です。

  6. 完璧な解決策があるとは思っていないので、たとえば、Windows マシンと Linux ボックスではわずかに異なる構成ファイルが必要になるなどの問題に対処できます。それぞれのソフトウェアをコンパイルする必要は避けたいと思います。ただし、可能であればホスト マシン。

どの開発言語が最も適していると思うかについて、あなたの考えを尊重します。

乾杯、

ジム

4

8 に答える 8

11

個人的には、Python、Perl、Ruby などの適切なスクリプト言語を使用します。これらはすべて適切なライブラリ サポートを備えており、ローカルとリモートの両方の MySQL データベースと簡単に通信でき、かなりプラットフォームに依存しません。

于 2009-05-28T09:30:34.037 に答える
5

最初に知っておくべきことは、あなたがすでに持っている言語スキルは何ですか? これは、理想的にどのような選択をするかのかなり大きな決定要因になる可能性があります。

私がこれを行っていた場合、いくつかの理由から Java をお勧めします。

  1. ほとんどどこでも実行でき、概要を説明した要件を満たします。
  2. 難解な言語ではないため、多くの開発者が存在します。
  3. 私はすでにそれでプログラミングする方法を知っています!
  4. おそらく、開発プラットフォームの中で最も広範なライブラリ エコシステムです。

また、Ruby や Python に慣れている場合は、JVM で別の言語で記述できることにも注意してください。

于 2009-05-28T09:32:27.963 に答える
3

Perl や Python がこの法案に完全に適合するように思えます。どちらを選択するかは、システムを構築およびサポートする人々の専門知識に依存します。

于 2009-05-28T09:33:11.973 に答える
3

スクリプト言語と Java の関係について言えば、Java を使用してコマンド ライン ツールを開発することに失望しました。それらを直接実行することはできません。(1) それらをコンパイルし、(2) jar ファイルを実行するシェル スクリプトを作成する必要があります。このスクリプトはプラットフォームによって異なる場合があります。どこでも実行でき、優れた SQL ライブラリmysql-pythonがあるため、Python をお勧めします。このライブラリは、Windows と Linux ですぐに使用できます。また、Python の定型句ははるかに少ないため、同じことを行うコードの行数も少なくて済みます。

編集:JARが実行可能かどうかについて話したとき、OSで直接実行可能かどうかについて話していました。もちろん、ファイルマネージャが設定されていれば、それらをダブルクリックして実行することもできます。ただし、ターミナル ウィンドウで Java プログラムを実行する場合は、通常の "./myapp.jar" ではなく "java -jar myapp.jar" を実行する必要があります。Python では、「./myapp.py」を実行するだけで、コンパイルやクラス パスについて心配する必要はありません。

于 2009-05-28T09:40:07.870 に答える
1

すべてのプラットフォームが標準の PC である (または少なくとも Linux を実行している) 場合は、Pythonを検討する必要があります。お使いのバージョンのパッケージが存在しない場合は、自分でコンパイルできます。また、標準ライブラリから、利用できないものや必要のないもの (サウンド サポートなど) を簡単に取り除くことができます。

Python は多くのリソースを必要とせず、簡単に習得して読むことができます。

Perlを知っているなら、それを試すことができます。Perl を日常的に使用しない場合は、使用しないでください。Perl の構文は覚えるのが難しく、1 週間後には、コードを自分で書いたとしても、コードが何をしたのか不思議に思うでしょう。

于 2009-05-28T09:30:40.183 に答える
1

Perl は多くのプラットフォームで利用可能であり、 CPANからモジュールをインストールするだけでほぼすべての機能を利用できるため、役に立つかもしれません。

于 2009-05-28T09:32:30.927 に答える
1

Python または Java。どちらも、サーバー環境とあなたが言及したデスクトップ環境の両方、つまり Linux/Solaris と Windows に簡単にデプロイできます。

Perl も良い選択ですが、それは、あなたが Perl をどれだけ知っているか、あなたのコードを保守する他の人が Perl をどれだけ知っているか、および Windows Perl バージョンのインストールを処理するのに十分な知識を持っているデスクトップ ユーザーの数に依存します。 .

Java は Jython を介して Python をサポートしているため、私は自分自身で JVM 要件に対応しますが、個人的には、あなたが説明するそのようなシステムの Java アプリケーションを使用します。

于 2009-05-28T09:42:11.063 に答える
0

CまたはC++を使用すると思います。プラットフォームに依存しませんが、プラットフォームごとにコンパイルする必要があります。

または Java を使用します。これは仮想マシンで実行されるため、真にクロス プラットフォームであり、C ほど遅いレベルではありません。

于 2009-05-28T09:30:11.493 に答える