• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:電子帳票&電子印鑑のパッケージ開発用プログラム言語)

電子帳票&電子印鑑のパッケージ開発用プログラム言語

このQ&Aのポイント
  • 電子帳票&電子印鑑のパッケージ開発用プログラム言語の選定ポイントとは?
  • JAVA、Python、GO言語の特徴とパッケージ開発への適性を比較
  • 必要な機能や開発効率、将来性を考慮し、適切なプログラム言語を選ぶべき

質問者が選んだベストアンサー

  • ベストアンサー
  • hue2011
  • ベストアンサー率38% (2801/7250)
回答No.2

客先はなんであって、目的はどういうことなのかを把握していませんね。 官公庁なのか、メーカーなのか、証券や銀行などのファイナンス系なのか、ロジスティクスなのか、それらによって、運用が変わります。 運用を考えたときに自然に落ちてくる開発方法があります。 まずそこから言ってもらわないと、単純にプログラム言語の何がいいかなんていう質問には答えられません。 Javaは運用管理をするには便利なところがあり、その代りひどく開発費がかかります。PHPだったら3人でできるような開発をするのにJavaだと30人は必要になります。したがって、開発会社はJavaでの開発を志向する傾向がありました。たくさんの金が動くからです。払ってくれるなら社員をたくさんたべさせられますけど、仮にプロジェクトが閉鎖されたら何十人も露頭に迷います。 致命的なのは開発環境の寿命です。1.何.何、というような版数でフレームワークが変わりますが、必ず非推奨クラスというのが発生し、これは前バージョンの開発物は今バージョンでは使えるけれど以後使える保証はないということです。しかも、使いもしないベース部分が巨大で、デプロイ(インストール)をするのにかなりの力仕事をすることになり、いざ壊れたときのメンテナンスが悲惨です。要するに、ずっと金がかかる金食い虫なんですね。 で、SwingだとかAWTなんていっていますが、AWTなんてクライアントでしか使えないものは何の役にもたちませんし、Swingなんてあまりにも方言で困ります。そもそもHTML空間で参照しないと動かないなんていのはGUIなんて威張って言えるような機能じゃありません。 金を食わないで、メンテナンスが容易なものは他の開発系では面倒じゃなく作れますけど、運用管理を議論を重ねてつくりこまないといけないし、品質がおろそかになる危険があります。 だから、何の目的でどういうお客のためにやるか、が重要なんです。そのお客様は運用管理に関してどの面で強いのか、わからないと、どこでメンテナンスをしなければいけないかの判断がつきません。 また、軽快にOSを選ばず動くスクリプト系のインタープリタは非常に便利ですが、品質上のカバレッジを確保するということに弱い面があるので、それじゃコンパイラがいいのかというと、こちらは融通がきかなくなります。 私らが普通にやるのは、一番上位の制御にPythonがいて、その下でRubyやPHPが動きときにPerlを呼び場合によってはc++で組まれコンパイルされたオブジェクトを呼ぶというようなやり方です。それぞれの言語は自分の得意なところを担当します。これだと、サーバープログラムを動かしながら平行にバッチ処理を稼働し、イレギュラー時に現状を止めないでプログラムそのものを置き換えるなんていうことが楽にできます。 GUIは、HTMLでできるものは、OSを選びませんからそれでフロントエンドを作り、グラフとか画像処理が必要なものはPythonのフレームワークで処理し、というようなことをすれば、ひまわり8号だろうがロボットシミュレーションだろうが何でもできます。 あと、1から10まで全部作ろうと思うのは現代だったら愚かなことです。 すでに出来上がっているものがたくさんありますから、それを利用するようにすれば、開発時間を短くでき、品質の確保もそれほど難しくありません。 電子帳票だとか電子印鑑なんて、1から作ろうとするのはカシコクないと思いますよ。 昔のプログラマみたいにCOBOLに命を懸け生涯をささげるなんていうような言語自体への操を保つようなのはもはや時代錯誤です。

cloud9slack
質問者

お礼

>私らが普通にやるのは、一番上位の制御にPythonがいて、その下でRubyやPHPが動きときにPerlを呼び場合によってはc++で組まれコンパイルされたオブジェクトを呼ぶというようなやり方です。それぞれの言語は自分の得意なところを担当します。これだと、サーバープログラムを動かしながら平行にバッチ処理を稼働し、イレギュラー時に現状を止めないでプログラムそのものを置き換えるなんていうことが楽にできます。 GUIは、HTMLでできるものは、OSを選びませんからそれでフロントエンドを作り、グラフとか画像処理が必要なものはPythonのフレームワークで処理し、というようなことをすれば、ひまわり8号だろうがロボットシミュレーションだろうが何でもできます。 とても参考になり、そして勉強になります。 また、開発コストだけでなく、運用コストも考えるべきだというのも参考になり、勉強になります。 パッケージを開発するなら汎用性を考慮した物を開発するべきだと思いますが、それ以上はまだ想定しておりません。失礼致しました。

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

Windows向けのパッケージソフトを作るのであれば Visual C++ が基本でしょうね。 特にアプリケーション間で連携させるようなことがある場合、WindowsのAPIを利用する事になるので、Windowsネイティブで作る必要が出てきます。 Javaのメリットは複数OSで動作することですが、GUIを使用する場合は利用できるOSに制限が発生する場合があります。(フレームワーク次第) 有料化についてはサポートのないオープン版もあるので余り気にする事は無いでしょう。 PythonやGO言語でGUIを扱おうとすると、現状ではブラウザを介することになりますし、Windowsネイティブなソフトには出来ないのでパッケージソフトには向かないでしょうね。

cloud9slack
質問者

お礼

>Visual C++ が基本 という意見もありますね。 個人的には、LINUXサーバー上で動かしたいと考えておりまので、 PythonかGo langかなと今は考えております。

関連するQ&A