1


0

現在、C、Rational Rose、およびJavaでキャリアグレードのテレコムアプリケーションを開発しており、上記の3つの言語(実際にはC、Rose、およびjava)用のインターフェースを提供するEnea OSEに基づく組み込みプラットフォーム上で動作します。

私は他のより生産的な言語を選ぶことによって生産性を高めることに興味があります。 どの言語を検討すべきかについてのあなたの意見をお願いします。 ほとんどの場合、PowerPCプロセッサ上で直接実行するようにコンパイルできるか、またはJavaバイトコードにコンパイルできる必要があります。

これらのアプリケーションはおそらく20年間サポートされなければならないので、成熟度および(Linuxベースの)ツールサポート(C言語でのlintやpurifyのような静的および動的アナライザー、プロファイラー、Eclipseプラグインなど)が最も重要です。 アプリケーションには苦労やメモリの制約はありませんが、効率はプラスです。

あなたはどの言語を提案しますか? 他の言語で挑戦する予定はありますか?

2 Answer


3


あなたの目標によります。

長期的なサポートと保守性のためには、おそらくJavaに勝ることはないでしょう。

生産性のために - それはちょっとした質問です。

通信業界はテストとプロセスにかなり重いので、コードの行数を減らしてもスピードが上がるわけではありません。

Very Smart Groupをお持ちの場合、100%Java互換で高度な機能を多数備えているのでScalaを検討することになるかもしれませんが、それに関する問題は将来Scala開発者がいることを期待していることです。

私は知りません、全体的に私はスマートなJavaデザインをすることは他の言語よりもはるかに役に立つだろうと言うでしょう。 おそらくそれが適切な場所でのスクリプト言語としてのGroovyのパッチ。


2


もしあなたが最先端で生きるつもりならば、あなたは Clojureを見たいと思うかもしれません。

  • JVM上で動作します

  • 完全にコンパイルされているので、あなたはかなりまともなパフォーマンスを得ることができます(私はそれでゲームを書くのに十分自信があります!)

  • 同時並行性のための設計ゼロから

  • 関数型プログラミング - 強力なLISPスタイルのマクロ、遅延評価、DSLを実装するためのツールなどを強力にサポートしているため、非常に生産的です。

  • Javaと非常によく統合する - 私のEclipse環境で同じプロジェクトにJavaファイルとClojureファイルを混在させ、ClojureとJavaの間でやり取りされるオーバーヘッドが実質的にゼロである限り。 私はすぐに書き直すつもりはないJavaコードがたくさんあるので、これは私にとって非常に重要です。