会社でWEB系サービスを新しく作り始めるのですが、サーバー系のプログラミング言語をどれを選択するか迷っています。
php、python、rubyの3つが代表的かと思いますが、
コードを書いたプログラマーがいなくなっても、メンテナンスできる人材の確保が重要です。
メンテナンスを外注することも想定して、より息の長いオーソドックスな言語を選んでおきたいと思っています。
サービス存続期間は、10年間です。
どの言語がいいと思いますか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
ベストアンサー
現時点でプログラマの確保がしやすいのはその3つの中ではPHPだと思いますが、
10年という想定は期間が長すぎるため、10年後にどうなっているかを考えるのは現実的ではありません。
*どうしても10年使い続けるという事であれば、JavaかC#という選択肢も有力になると思います。
それよりは、
1年、3年、5年それぞれのタイミングでマイルストーンと改修・作り直しの予算を見積もること、
(脆弱性の発見や言語・環境の陳腐化は必ず起こります)
開発・メンテナンスにあたってのドキュメントを正しく作り、
一般的な能力があればメンテナンスを行えるような開発手法を取ること
また、xUnit系によるユニットテストやxSpec系による振る舞いテストを網羅することによって
ドキュメントが完全ではなくても自動テストによってデグレーションが発生していないことを保証できるような開発手法の検討の方が重要かと思います。
投稿2015/08/25 14:25
総合スコア18713
0
制作されるWEB系サービスの規模にもよりますが、比較的中規模~大規模であればtanatさんのおっしゃるとおりJavaやC#が望ましいかと思います。
私見ですがWEBサービスを10年そのまま(大本を変えずに)運営していくのはかなり骨が折れると思います。外注様、ビジネスパートナー様と協力していくためにドキュメントなどを整備したとしても、かなり難しいです。改修に次ぐ改修でソースコートはスパゲティ化していきます。
ですので、出来るだけ最初の段階で10年協力できるコアメンバーを揃えるのがよいかと……。
投稿2015/08/25 14:33
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/08/25 14:59
2015/08/25 15:06
退会済みユーザー
2015/08/25 15:11
2015/08/26 01:19
0
10年前と言うとようやくガラケーに電子マネー決済の機能が乗っかったあたりですか。
日本に初めてiPhoneが上陸したのはそこから更に3年後ですね。
あの頃から今のスマホ時代を見越してシステムを作っていた人は少ないんじゃないかなぁと思います。
モバイルファーストなんて言葉もありますけど、10年前と今とじゃそこからして向いてる方向が全く違うんですよね。
正直、1~2年先も読めないのに10年先なんてとてもとても。
さて、本題ですが。
導入のしやすさと人材確保のしやすさを考えるのであればPHP、Javaでしょうね。
他の方もおっしゃっていますが、言語選定より環境整備のほうが重要になってくると思います。
実績がないのなら尚更に、初めの一歩で足場を固めておく必要があるかと。
投稿2015/08/25 16:54
総合スコア69
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/26 01:33
2015/09/09 13:04 編集
0
10年ならJavaも有力な選択肢だと思います。
現在もっとも人材が確保しやすいのはPHPですが、
期間の長さだけならJavaが一番息が長そうです。
というのもAndroidがあるので、10年は持つと予測します。
ただもちろん、総合的な判断は期間以外のほかの条件によります。
一般的に大規模・長期間・エンタープライズならJava(など静的言語)が向き、
逆に小規模・短期間・コンシューマならLL言語が向きます。
開発経験が乏しいのであれば、Javaのような重厚な言語よりも、
LLのほうが手探りで試行錯誤しながら作りやすい面はあるでしょう。
とくにRuby(on Rails)は、小規模サービスを少人数で立ち上げるのに向きます。
またPythonは、日本ではあまり普及していませんが、機械学習や統計処理など
科学計算のライブラリがそろっているので、特定のジャンルには向きます。
それから、たとえ当初はコアメンバーが継続する前提でも、
人材の入れ替わりは予測できないので、メンテナンス性を維持したいなら、
ドキュメントを整備しておくことが重要だと思います。
投稿2015/08/25 22:06
総合スコア5592
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/26 01:16
2015/09/09 13:04 編集