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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

8回答

256閲覧

どの言語を選ぶべきか

Izumo1101

総合スコア49

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1グッド

1クリップ

投稿2019/03/13 04:51

編集2019/03/13 12:58

前提・実現したいこと

小規模組織の中で,
1.各部屋や机よりブラウザを使用し勤務状況や出欠確認等の動的な状況報告をする。
2.全員の状況を確認することができる。
3.報告された状況を1日単位または1週単位で集計・考察する。
ということをやりたいと思います。

私自身VBAは日常的にコーディング,javascriptを少々という程度の腕,経験しかありませんが,独学で学ぶのにはなれており,学ぶ時間もある程度は確保できます。
ただしこの「やりたいこと」はサーバーを活用してデータのやりとりをするのが効率が良さそうで,そうなるとphpなどのサーバーサイドのスクリプト言語を学ぶ必要がありそうです。

今後仕事の中では,ローカル(オフライン)アプリの開発などを行っていきたいと思っていますが,これらを総合して「学ぶべきおすすめの言語」を開発環境構築の手間等含めてアドバイスいただけないでしょうか。将来的な展望や,プログラミング界の現状なども理由にあれば教えてください。

転職は考えておりませんので,その辺の有利性は含みません。

ぼんやりとした質問ですがよろしくお願いします。

私の情報が不明瞭なため混乱させました。以下に追記します。
・ローカルアプリ制作と本件は相反するものですが,もし今後も生かせる言語なら,という意味で書きました。
・サーバーはwindows社内サーバーを考えています。
・接続は同一Lan環境のみです。
・その上でこれまでの知識を生かし新しい言語を勉強するなら,というのが主題になります。
・phpかrubyあたりを薦められると思っていたので,理由までうかがえればうれしいところ。
・node.jsはイメージになかったので調べている最中でした。

以上です。

DrqYuto👍を押しています

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

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

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

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

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

m.ts10806

2019/03/13 04:54

同内容の質問が定期的に立てられてそれなりの回答がついていますが、それらは参考にされたのでしょうか。 おそらく新しく立てるまでもない話題のようにも思います。
m.ts10806

2019/03/13 04:55

それに結論としては「お好きなのをどうぞ」なので。
退会済みユーザー

退会済みユーザー

2019/03/13 05:30

要件定義が不明瞭だから、必要な技術や環境の選定も揺らぐんじゃないだろうか。
guest

回答8

0

やりたいことからするとブラウザアプリですが、その Web サーバーはどこで動かすつもりですか?
ホスティングを使うのか、クラウドなりオンプレミスなりのサーバーを用意するのか。サーバーを用意するなら Windows にするのか Linux にするのか。
アクセスは社内だけ(LAN内のみ)でいいのか、他の拠点からもアクセスする必要があるのか(VPN)、それとも自宅などからでもアクセスできた方がいいのか(公開サーバーとするかどうか)……

それらまで加味して考えないと困ったことになります。
ホスティングを使う場合、大抵は Linux マシン上での作業ですから、Linux の最低限の知識が無いと管理もできません。ましてや自前でサーバーを用意するとなれば、その面倒を見れるスキルのある人を用意できるか(まあ最近の Linux ならほとんど Windows と変わらない感じでインストールから利用までいけますが)、その上で動かすアプリの面倒を誰が見るのかといったところを考えておくべきです。

その上でようやく「ではどの言語を使ってアプリを作るか」といったところに下りてきます。

でまあ、話を戻すと、言語選択で言えばとりあえず PHP やっとけばいいんではないですか? Web アプリの作りやすさ、Web アプリに限らない汎用性、世に出回っている資料の質と量といったあたりで、PHP を超える言語はそうそうありません。

投稿2019/03/13 05:25

tacsheaven

総合スコア13703

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

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

0

Windows サーバーで VB になじみがあって身内を実験台に開発ができるなら、.NET でフロントエンドが作れる Blazor なんていうのも面白いかもしれません。

C# で Single Page Web Application が書ける Blazor が凄かった件

この記事では C# と書いてありますが、実際に動くのはそれをコンパイルした結果の IL という中間言語なので、VB.NET も使えるはずです。

JavaScript の代わりに C# や VB.NET がブラウザ(Chrome for Android や iOS Safari など含め主だったモダンなブラウザ)上で動くという、ここからホットになっていくと考えられる新技術です。いち早く使いこなせるようになれば何か活用する場面が出てくるかもしれません。

投稿2019/03/13 12:52

編集2019/03/13 12:58
Zuishin

総合スコア28660

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

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

0

組織としてのシステム構築であるなら、メンテナンスのことも考慮する必要があります。
例え質問者さんががんばってRubyなりPHPなりを修得して立派なシステムができたとしても、仮にあなたが倒れたとき・退職したとき・部署が変わったとき、など残された人たちが面倒見れないと意味がありません。
また新しい言語を習得し今後にも活かしたいという希望があるようですが、それはそれとして、割り切ったほうがいいと思います。
つまり業務は業務として組織の人たちが携わっている言語を使用する。
興味がある言語は自宅などで学習する。
で、どうすればいいかというと、VBAは使えるようですので、共有ファイルサーバーあたりにAccessのDBでも作成するのがいいのではないでしょうか。
あ、もちろん組織一丸となって新しい言語でシステム構築しましょう!という話ならこの話はスルーしてくださって構いません。

投稿2019/03/13 07:30

ttyp03

総合スコア16998

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

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

0

小規模組織の中で,
1.各部屋や机よりブラウザを使用し勤務状況や出欠確認等の動的な状況報告をする。
2.全員の状況を確認することができる。
3.報告された状況を1日単位または1週単位で集計・考察する。
ということをやりたいと思います。

一応確認ですが、上記の要件であれば一般的なグループウェアでもありそうですが、自作されるということですよね?

であれば、Web アプリの開発言語としては、情報量も多くて人気のある PHP や Ruby をおすすめします。

ローカルアプリを開発するときはまた要件が違うと思うので、それに合わせた言語を選択するのが良いと思います。
Web アプリとローカルアプリどちらも同じ言語で開発したいという気持ちは分かりますが、適さない言語を無理に使うとかえって効率が悪くなると思います。

投稿2019/03/13 12:12

nskydiving

総合スコア6500

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

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

0

ベストアンサー

VBA/JavaScriptを使った経験を考慮すると、Node.jsをオススメします。
理由としては以下

・一つの言語をよく学ぶし
VBAは今更でやっぱりJavaScriptをより深く学びましょう

・サーバの仕組みがよくわかる
社内ネットワークという比較的軽量で済む環境であり、重量なフレームワークではないので、どのような仕組みでサーバサービスを提供できるのかをよく知るキッカケになります。

 基本的にはDBとNode.jsだけで済むので環境構築も簡単、サーバ側、クライアント側ともに同じ言語で済む。
さらに、その上で、それなりの規模のサービスにも対応できる
このあたりの知識は言語非依存なので、応用が利くようになります。

・ローカルアプリ開発でも使える
モノによりますが使えなくはない

windowsということですが、今後はあまり意識しなくても済むような環境になるかと思いますし、Dockerを利用すればなおさらです。

投稿2019/03/13 08:36

t_obara

総合スコア5488

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

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

0

VBAはかなりの経験者とのことなので、だとすると語法が似ているのはPHPよりはRubyでしょうけど、
RubyというよりRailsを想定しているのでしょうか?だとしても、Windowsサーバを使うつもりなら全然実力を発揮できないです。なので、自分としてはPHPを推薦しますかね。

PHPはデータベースとの親和性が高く、また学習コストが低めです(VBA経験者なら問題ないでしょう)。ですが、しっかりこなせばそれなりにハイレベルなものも作れて将来の拡張性が高いメリットがあります。また、javascript系ライブラリとの相性の良さも評価できますね。

また、将来性にアプリ開発もやっていきたいのならPHPフレームワーク(時流だとLaravelなのかな…ただ、後方互換性が不安ですが)を中心に勉強していったらいいのではないかと思います。

あと、Pythonも触ってみた感じVBAに似た部分が多く、インタラクティブな動きに関しては優れており、Windowsとの相性もいいのでアプリ開発方面ならば選択肢としてありかなと思います。初期学習コストも低めですし(近年の初心者向け言語としてはPHPよりPythonが選ばれています)。

投稿2019/03/13 06:38

FKM

総合スコア3633

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

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

0

私自身VBAは日常的にコーディング,javascriptを少々という程度の腕,経験しかありませんが,独学で学ぶのにはなれており,学ぶ時間もある程度は確保できます。

Rubyなんて遥か昔に消えた言語よりNode.jsとかすればいいのでは?と素直にました。
時間がそれなりに確保できるのであれば、ここでも参考にしてゆっくり自分のペースでやっていくのがいいかと思います。

ローカル(オフライン)アプリの開発

「ブラウザを使用し勤務状況や出欠確認等の動的な状況報告をする」とは相反してますね。
windows限定ならC#がおススメです。
ここなら大半の事は載っています。

投稿2019/03/13 05:22

stdio

総合スコア3307

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問