質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

2828閲覧

ペーパーレスの開発ならどのプログラム言語が良い?

cloud9paiza

総合スコア70

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2018/09/14 02:53

編集2018/09/14 06:56

JAVAが良いと言う話もあるのは、JAVAは、Swing、JavaFx、AWTなどGUIが得意だからでしょうか?
Python&Cycloneフレームワークや、Go lang&Ginなどで、電子帳票、電子伝票、電子印鑑システムなどのパッケージを開発するのはメリット、デメリット、開発効率、コストなど何が良くて何が悪いのかなど、何か情報を与えて頂けないでしょうか?
クライアント一万同時アクセス問題にも対応する方が良いと思います。
JAVAは、2018年現在、今後サポートが有料になったり、バージョンアップを今後は、より頻繁に行なって行く方針が発表され、企業とプログラマーから嫌われているのではないでしょうか?

参考情報です。
JAVAがペーパーレスに良いかも知れないと言うリソースは次です。
エイトレッドのアジャイルワークス(カスタマイズがJAVAで可能)。https://www.atled.jp/agileworks/functions/integration/
日鉄日立システムエンジニアリング株式会社のパピレスという、統合電子帳票システムがあるようでして、.NET系で開発されているようですね。http://www.nhs.co.jp/package/paples/require.html

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2018/09/14 02:56

ペーパーレスの開発とは何?ちと質問が意味不明です。
退会済みユーザー

退会済みユーザー

2018/09/14 03:01

質問の意図がわかりません。ペーパーレスとは何ですか?JAVAが良いという話のソースは何ですか?GUIの話をしている一方でなぜ同時アクセスの話が出てくるのですか?
yukihisa

2018/09/14 03:02

「JAVAがいい」というのはどこ情報でしょうか?ペーパーレスの開発に関してといいながら、本文を読むと「Javaって有料になるから使いたくないんだけど」という話に見えます。また、過去の質問について、すべて投げっぱなしでこの質問も具体的な落としどころが不明なので、回答はあまり期待できません。
m.ts10806

2018/09/14 05:22

回答者、コメントをしている人ときちんとコミュニケーションをとってください。でないと解決するものも解決しませんし、今後、あなたの質問へ回答がつかなくなったりコメントの信頼性が失われたり、良いことはひとつもありません。
cloud9paiza

2018/09/14 06:02

yukihisaさんへ JAVAに限らず、プログラム言語には、メリットとデメリットがあると思います。JAVAのメリットとしては、Swing、JavaFx、AWTなどGUIは得意そうと言う、一部の情報をあげてみました。JAVAのデメリットとしては、サポートが有料になる。バージョンアップが頻繁になると言う点です。私の質問は、ペーパーレスの電子帳票、電子伝票、電子印鑑などのパッケージを開発するならどのプログラミング言語が向いているでしょうか?と言う事です。
cloud9paiza

2018/09/14 06:04

mts10806さんへ 質問の仕方、回答の仕方に問題があったようですね。しかし回答の仕方も揚げ足取りでは困ります。総合的に考えて欲しいです。
m.ts10806

2018/09/14 06:08

「回答の仕方も揚げ足取り」というのは何の何に対してのコメントですか?
yukihisa

2018/09/14 06:17

「電子帳票、電子伝票、電子印鑑システムなどのパッケージを開発する」という命題に対して「JAVAが良いという話もある」のですよね?僕や dyoshikawa 様が「それってどこ情報なの?」と聞いたのは、そんな話聞いたことがないからです。返答も「GUIは得意”そう”という一部の情報」というのは、「一部の情報」ではなく「貴方の主観」ではないですか? そうでないなら、きちんとその情報元を提示してください。そうでなければ、「なんでjavaがいいのよ?」というスタート以前の部分で止まります。 で、ここから。まず、そのようなペーパーレスを推進するシステム開発の場合、社内であれば電子印プラグインはすでにたくさんあふれているし、エクセルのマクロでだって作成できるし、y-waiwai 様の言うようにC#を使う、他にも僕の知る範囲ではFileMakerを使ってDBで管理する・・・といった話も聞いたことがあります(ただし、社内のものなので仕事としてではなく新人教育の一環として)。それを、「どの言語が良いのか」という質問なのに「java、python、Go langあたりで」と範囲を決めているのなら「どの言語が向いているか?」じゃなくて「java、python、Go langのどれがいい?」という質問ではないですか?
dit.

2018/09/14 06:23

揚げ足取りではなく「総合的に見て」質問が圧倒的に情報不足なので、みなさんはそれを補おうとしているだけでは。
yukihisa

2018/09/14 06:24

そして、会社の仕事として取り掛かるのであれば、社内の人員のスキル等からある程度すでに言語が絞られている(決定している)はずですし、それ以外なら、どういった仕様でどのような環境で動作し、どのような機能を持たせたいか等でメリットデメリットも変わってきます。その他回答になる細かい部分はmiyabi-sun 様が回答されているのでここでは割愛します。「総合的に」貴方の希望する仕様を読み取ることを超能力者でもなければ家族でも友人でもない赤の他人に要求することは筋違いです。すでに貴方のなかでは「pythonかGo langがいいな」と決まっているではないですか。
cloud9paiza

2018/09/14 06:24

y_waiwaiさんへ、ペーパーレスとは、電子帳票、電子印鑑などで、印刷しないで、電子書類などを管理するシステムの事です。
cloud9paiza

2018/09/14 06:29

dyoshikawaさんへ ペーパーレスとは、電子帳票、電子印鑑などで、印刷しないで、電子書類などを管理するシステムの事です。JAVAのメリットとしてJAVAは、Swing、JavaFx、AWTなどGUIが得意。しかしデメリットとして、サポートが有料になる。バージョンアップが頻繁になる事が宣言されているなどです。クライアント一万同時アクセス問題もあげたのは、パッケージを利用して開発したシステムが大規模で運用される場合もありえるから想定しております。
cloud9paiza

2018/09/14 06:31

mts10806さん yukihisaさんの回答ですが、「JAVAがいい」というのはどこ情報でしょうか?ペーパーレスの開発に関してといいながら、本文を読むと「Javaって有料になるから使いたくないんだけど」という話に見えます。とありますが、JAVAにもメリット、デメリットは、あると言うことです。
yukihisa

2018/09/14 06:40 編集

それ回答じゃなくて修正依頼なんですが。。。 そして、揚げ足取りじゃなくて図星ですよね? 貴方自分で「pythonかGo langがいい」と言ってますよ?「メリット、デメリットもあるのでどうしようか迷っている」のなら、選択肢から外れることはないはずです。そもそも、「ペーパーレスの開発」の話なのに今のままでは「みんなはJavaが良いって言うけどJavaって今後有料になるから使いたくないから他にないかな」という話に誤解されるので書き直そうよ、という修正依頼ですよ。それに付随して、「じゃあ誰がJAVAが良いって言ったの?そんな話聞いたことないけど」と続くわけですが。
m.ts10806

2018/09/14 06:40 編集

ひとまず、解決済みとなっていても(あまり良くはないですが)質問は編集できますので。こちらは質問への追記・修正依頼(時に質問者へ状況確認でも使われますが)であって回答欄ではありません。
cloud9paiza

2018/09/14 06:43

yukihisaさんへ ペーパーレス(電子帳票、電子印鑑)システムにJAVAが良いかも知れないリソースですが、一つ思い出しました。ただし沢山あるパッケージの中から、アジャイルワークスと言うパッケージ(開発・販売はエイトレッド)の情報がリソースです。カスタマイズがJAVAで可能な様です。https://www.atled.jp/agileworks/functions/integration/
cloud9paiza

2018/09/14 06:45

dit.さんへ 確かに情報が不足してますね。皆さん申し訳ありません。
yukihisa

2018/09/14 06:54 編集

それはそのパッケージがJAVAで開発されているよ(その会社がJAVAでの開発が得意である)という話で、「ペーパーレス推進システムの開発」にJAVAが良い(向いている)ということではないと思いますが。。。要求仕様や実現したい機能に対して、「この言語が良い」というのは「こういったライブラリが用意されていて開発コストが下げられる」、「○○という使用するアプリケーションとの連携が容易」などのきちんとした根拠が必要です。たとえばpythonはpandasといった演算系のライブラリが優秀なので機械学習などの人工知能開発に向いている、といったかたちです。
cloud9paiza

2018/09/14 07:00

yukihisaさんへ 確かに、そういう意味では、PythonとGo言語は少々、機械学習などの人工知能開発に向いていると言えると思います。将来的な観点では、必要な観点だと思います。
yukihisa

2018/09/14 07:06

いやいやいや・・・そもそも、「ペーパーレス推進」において人工知能的な処理は不要です。各会社ごとに手続きの仕方は決まっており、その流れに沿って作業は行われます。いったいどの機能で「学習・AIによるアウトプット」が必要になるんですか?開発言語の前に要件定義の部分から間違っていませんか?
cloud9paiza

2018/09/14 07:17

yukihisaさんへ 確かにペーパーレス単体で考えると機械学習・AIは今の所、不必要だと思います。
yukihisa

2018/09/14 07:30

ここまで長々と話しましたが、結論として「質問の前に要件定義(何をしたいのか)をきちんとしておく」の一言に尽きます。「ああ言えばこう言う」ばかりで、痛い突っ込みは無視では話になりません。「お前の回答は揚げ足取りだ」と暴言を吐かれていますが、僕の返答に対して何のリアクションもなしですか?無視なのはそれでも「揚げ足取り」だと判断しているからですか?「javaがいいのは主観」というのも訂正はなしということは「javaがいい」という確固たる根拠があるからですか?新しい質問でも指摘されていますが、「言語を決めてから考える」のではなく、「考えが固まってから言語を決める」ものです。まずざっくりとでいいので要件定義からやりましょう。「シャチハタのサイトみたいなの」ではなく、きちんと自分で考えましょう。
guest

回答3

0

ベストアンサー

かなり主語が抜けているので、何と答えれば良いか分かりづらい状況です。
この辺を質問文を元に推測しながら読み進めていきます。

とはいえ、ツッコミどころはこの1件だけですね。

JAVAは、Swing、JavaFx、AWTなどGUIが得意だからでしょうか?

まず聴いておくべきなのは、この発言の意味を理解していますか?
GUIアプリを配布というのは、Javaで出来たソフトウェアパッケージを作成し社員全員に配り、
社員各々がJavaランタイムを取り扱っている公式サイトからランタイムパッケージをダウンロード&インストールして初めて使えるものですよ?


さて、ここから本文となります。

ペーパーレスの開発ならどのプログラム言語が良い?

これのターゲットは御社の社員でしょうか?
そして質問者さんは社内SE、もしくはIT導入の担当者的な立場の人ですか?

何れにせよ、御社の多くの社員さんはWindowsマシンを使っており、
JavaでGUIアプリを配布しても手順書がなければ、そもそも起動すらおぼつかない事が想定されます。
もしGUIアプリを作りたいという話であればC#以外の選択肢は一切無いと考えてください。

かなりのエスパー回答になりますが、
GoogleChromeというブラウザを軸としたWebアプリをベースに考えて下さい。
(Internet Explorerは老朽化しすぎてて多くのCSSやJavaScriptコードが動作しませんので、工数はChromeの2倍程度になります)
質問文からするとrakumoのクローンを自社開発するような流れになるように思えます。

もし使えるなら自社開発の方向に舵を切るのではなく、そもそもrakumoを使えばいいんじゃない?と思うのですが
社内のセキュリティポリシー的な所との兼ね合いもありますので、自社開発に舵を切る必要があるかもしれませんね。
とはいえ、モックとしてrakumoを一度導入してみてはどうでしょうか?

rakumoは典型的なWebアプリです。
Chrome等のブラウザからHTTPリクエストを受け取り、動的なHTMLを生成して返すだけなんで言語や技術はなんでも良いです。
御社のエンジニアの得意な言語が最善の選択肢です。

クライアント一万同時アクセス問題にも対応する方が良いと思います。

様々な観点から断言しますが、不要です。

元々あれはApache2.2というソフトウェアがCPUやメモリを増設してもリクエストを裁けない、悪いアーキテクチャーの作りでした。
まぁ、愚直にWebサーバ組めば同じような問題起きるよねって事で2010年頃からぼちぼち研究が始まり、
今ではどの言語も何かしらの対応策があります。

また、最近はサーバーマシンを分割するスケールアウトという技術が発達しました。
なのでTwitterやFacebookといったサービスもRubyやPHPでとりあえず作ってみて、
クライアントが増えたから負荷が…といったケースはまずサーバ分割で対応し、誰もが知ってる超有名Webアプリに成長してからScalaやHack等といった技術で書き直された経緯があります。
何も決まってないし使われるかも分からない段階で、慣れない言語でサービスを構築することは金と手間の無駄です。

広く公開する事が前提のサーバでなければC10K問題は起こりようがないので、
質問文にある「ペーパレス化」が「社内の業務をペーパーレスにしたい」という要望であるなら何の意味もありません。

何が良くて何が悪いのかなど

もう御社が作ろうとしているペーパーレス化プロジェクトをrakumoのクローンと決めつけてますが、
Chromeでのアクセスを受け取り、データベースに保存してHTMLを返すだけですよね?

重ねての回答になりますが、何の言語でも同じです。
以下選定に伴いざっくりした所感を載せておきます。

  • Python: 数値計算が速い為AI関係のライブラリが多いけどWebサーバとしては平凡なスクリプト言語…コードが読みやすいくらいか?
  • Go: 高速さがウリ、シングルバイナリはWebサーバ用途ではそんなに光らない、Ginは好感触のフレームワークだけど文献の少なさに困るかも、多分メンバーの情熱が必要になる
  • Java: 起動はもっさりだけど起動後が速いからWebサーバ向けの言語ではある、サポートない代わりに無料コースみたいなの無かったっけ?Goでやりたいって言ってる時点でそれも考慮に入れるべきじゃない?
  • PHP、Ruby: 親の顔より見かけるWebサーバのバックエンド、何作るに於いてもWebサーバならライバルとして比較検討すべき
  • Elixir: 超堅牢と名高いErlangのVMで動作する言語、動的言語なので動作は遅いが、スレッド生成のコストが超少なく単純な処理をするだけのWebサーバなら最速クラス。人口が少ないがElixirに憧れるエンジニアも多く情熱で人を集められるかもしれない。

投稿2018/09/14 03:49

編集2018/09/14 04:40
miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yukihisa

2018/09/14 04:43 編集

miyabi-sun 様 石を投げた者として。 貴方の投稿は 2018/09/14 12:49です。 質問者様の解決した方法の投稿は 2018/09/14 12:56で、7分後(その2分後に新しく質問を立てる)です。 よしんば貴方の投稿に気づかずに回答を投稿したとしても、解決済にするためにワンクッションあるので、貴方の投稿を確認できなかったというのはちょっと通らないのではないかと感じました。 また、質問内容を回答にするのが許されるのは初心者だけだと思います(初心者でもよくはないけども)。 登録から既に3年以上経過している方なので、そのあたりも低評価の判断部分でした。
miyabi-sun

2018/09/14 04:50

承知しました。 確かに入れ違いにしても7分は結構大きいですね… かわいそうにという思いはまだあるのですが案内は削除することにしました。 質問者のロールとして誠意を持ったハンドリングは難しいですね……。
yukihisa

2018/09/14 05:14 編集

こちらこそ、miyabi-sun 様に悪い部分はないので申し訳ないです。 こういった方たちの共通点というか、「言葉のキャッチボールができない(会話が成立しない)」ことが多いですね。 「JAVAがいい」ってどこ情報?の答えが「JAVAに関してもメリット、デメリットがあるわけで」だったり。 なのでなるべく回答前に「ここはこうしてね」と修正依頼に書くことにしています(簡単にエスパーできそうなのは回答したりするけれど)。 そこで会話できないと回答しないことが増えました。。。
cloud9paiza

2018/09/14 06:21

miyabi-sunさんへ 丁寧な回答ありがとう御座います。一つ誤解がありまして、GUIアプリを作りたいわけではないので、特にC#にこだわろうとは考えておりません。 rakumoのページを読ませて頂きました。日本の組織で使いやすくUXを考え抜き「仕事をラクに。オモシロく。」企業の生産性向上を手助けします。と言う説明は良いですね。モックとして使用したり、クローンも良さそうですね。各プログラム言語の説明もありがとう御座います。将来的に、AI、機械学習を導入する事を検討するなら、Python、Go言語あたりは良さそうですね。
guest

0

電子署名周りのための暗号化ライブラリが自前のJavaが良い気がする。Goも自前らしいけどGoogleがやーめたってなったら、またPythonも廃れてメンテが滞ってきたら、って考えると企業が有償サポートを提供してくれるJavaは良い選択肢だと思う。

投稿2018/09/14 13:44

YouheiSakurai

総合スコア6142

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cloud9paiza

2018/09/17 05:14

YouheiSakuraiさん >電子署名周りのための暗号化ライブラリが自前のJavaが良い気がする。 電子署名周りの暗号化ライブラリ知りませんでした。 その点は、JavaとGo langは良さそうですね。 確かに、PythonもGoogleがメンテナンスを辞めたら怖いですね。 その点はJavaもオラクルがメンテナンスを辞めたら怖い気がします。 ご回答ありがとう御座います。
guest

0

http://dstmp.shachihata.co.jp/solution/about/
パソコン決裁(電子文書、電子印鑑)
例えば、上記の様なパッケージを開発するなら
どのようなプログラム言語が適しているでしょうか?
と言う質問です。

JAVAに関してもメリット、デメリットがあるわけで、
他のプログラム言語にも当然あると思います。
しかし、私の知っている情報が浅くて、
もっと具体的に、JAVA、Python、GO言語あたりで、
電子書類、電子帳票、電子印鑑、などのパッケージ開発に向いている、
向いているむいていないなどがあればとおもったのですが、
もう一度質問しなおしてみます。

投稿2018/09/14 03:56

cloud9paiza

総合スコア70

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2018/09/14 04:00

そういう風に質問を編集すればいいのに、なぜ回答に書くのでしょうか?
yukihisa

2018/09/14 04:12

miyabi-sun 様がきちんと回答してくださっているのに、ガン無視で同じ質問立てるって、それで回答をまだもらえると思いますか? ちょっとひどすぎます。 申し訳ありませんが通報させていただきました。
cloud9paiza

2018/09/14 06:06

fuzzballさんへ 一度質問して再編集と言うのは、未経験です。今度チャレンジしてみようと思います。
cloud9paiza

2018/09/14 06:07

yukihisa さんへ miyabi-sunさんの回答を見てませんでした。 今後は気を付けて見ます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問