アプリ開発

アプリ開発

【どっち?】プログラミング言語「PHP」と「Ruby」の違いについて知ったかで語ってみる

Web界隈のプログラミング言語として広く使われている2大プログラミング言語(と勝手に思っている)の「PHP」と「Ruby」について、それぞれの特徴を主観をベースに調べたことをまとめてみた。

なお、「同じことを繰り返さない」が執筆思想(?)なので、Wikipediaに載っているような基本事項は極力省く。個人的なメモに近いので間違いもあるかもしれない。

PHPとRubyの共通点と違う部分

どっちも1995年頃に登場したコンピューターの歴史においては比較的新しいプログラミング言語で、インターネット、つまりWebサイトでの利用を想定している。

C言語とかJAVAとかに比べると、どちらも初心者でもとっつき易いプログラミング言語とされる。

PHPに至っては、ほとんどのレンタルサーバーが標準でサポートしている。今どきのWordPressなどのCMSで表示されているWebサイトではPHPが動作するサーバーであることが前提なので、Webサイト界の標準的なプログラミング言語と言えよう。なにを隠そう(隠す意味もないが)、このサイトもPHPで動作しているので、個人的にはPHPの方が身近。

対してRubyは、Ruby自体はそのへんのレンタルサーバーでもサポートしているものの、Rubyと組み合わせて利用されることが多いRuby on Railsというフレームワークはそのへんのレンタルサーバーでは動作しない。

Ruby=RailsというくらいにRailsは必須なので、AWSやHerokuと言ったクラウド環境を使う必要がある。クラウド環境は設定などもそうだが、従量課金制だったりと料金的にも素人の個人がガチで使うには敷居が高い印象。

求人が多いのはPHP、給料が高いのはRubyらしい

多くのWebサイトに多かれ少なかれ使わている気がするPHP

PHPが使われている(使われていた?)有名サイトとしては、FacebookやYahoo!など。

個人や中小企業などのブログ系サイトでよく使われているWordfPressもPHPなので、PHPベースで作られているWebサイトは数として最大ではないかと思う。

個人のサイトでも企業のサイトでもPHPが使われていることは多い。ガチガチな開発案件だけでなく、ちょっとPHPが触れるレベルというWebデザイナー案件なども多い。フリーランス向けエージェントだとPHP関係の求人はRubyより2~3倍くらい多い。

個人的な感覚だと、もっとPHP関係の案件は多くて、世間的にはRubyより5倍以上多い気がする。いや、RubyやRailsの案件というのはガチエンジニア向けだから、目にする機会がなかったというのもあるが。

Rubyは前述のようにRuby on Railsがセットで使われる。

代表的なサイトとして必ずクックパッドが提示されるけど、株価はともかくとして、初心者に向く言語と言いながらも、ユーザー数が多い大規模有名サイトに耐えられる実力があることが伺える。

印象としては、Railsを使うと雛形をベースにハイスピードで開発できるので、ベンチャー企業やスタートアップ企業に特に好まれているようだ。

教育界隈ではWebアプリ≒Ruby on Rails

ベンチャー企業のWebアプリで使われている気がするRuby(Rails)

Webアプリとは、個人的にはWebサイト上で情報を登録したり、ログインできたり、アプリのように使えるサイトのことを言う。ツイッター、インスタグラムなんかがわかりやすい例。

WordPressなどのCMSは、記事などのコンテンツを管理することに特化したWebアプリとも言えなくもないが、境界線ははっきりしない。管理者からするとPHPのプログラムで動作しているアプリであることは明白なので、管理者からしたらWebアプリとも言える。

ところが、プログラミングスクールなどの教育界隈ではWebアプリ≒Ruby(Ruby on Rails)という式が成り立っている。

世の中のwebアプリというのはPHPであったり、様々な開発言語やフレームワークが使われているはずだが、プログラミングスクールというビジネスモデルとの相性か良いのかどうかわからないものの、多くのプログラミングスクールではカラキュラムを見ると暗黙の了解的にRailsを学ぶことになっている。

大手企業のサイトなどでもPHPが使われていることは多いし、WordPressなどの個人の趣味目的でも、求人案件的にもPHPの需要は大きいと思うが、不思議でPHPをメインで扱っているプログラミングスクールはあまり見たことがない。

その理由としては、PHPのフレームワークは固定化されておらず様々だというのがありそう。RubyだとRails一択というほどに固定化されていて、求人にさえありつければ学んだことを直に生かしやすいという事情もありそうだ。



個人的に学びたいのはPHPなのはやまやまだけど

WordPressを触っていたり、企業でWebサイトをいじっているなら、PHPは多少は目にしたり触ることは多いはず。PHPを学ぶことは意味が大きいと思うが、体系的に学ぶのが難しい印象があるのもPHPとも言えるだろう。

そういう意味では、確かにRuby(とRails)の方がチュートリアルや教育環境が充実している気がする。現実の求人事情や使われているサイト数なんかではPHPの方が上という気がするのがひっかかる所ではあるが。

Railsはそんへんのレンタルサーバーでは動かないので、素人の個人としては敷居が高いと思ってしまうのだ。

AWSとかに比べて敷居が低そうなのが、調べた範囲だとConoHa VPSとかだろう。どちらしろ、Railsで開発できないと能力を生かせそうにないが。



アプリ開発

初心者がRuby on Railsのインストール(環境構築)で死にかけた話

この画面に辿り着くのにどれだけ疲れ果てたか・・・

Webアプリケーション開発の代表的なツールの一つRuby on Railsに挑戦しようと思い、『たった1日で基本が身に付く! Ruby on Rails 超入門 たった1 日で基本が身に付く!』という超初心向けの入門書を見ながら、環境構築に挑んだのだが・・・。

結論を言うと、難しすぎて1日で7回くらい死んだ。環境構築だけで丸1日費やした。

入門書あるあるだけど初心者向けじゃない

『超初心者』とあるから、ホントの超初心者でも大丈夫などと思ってはいけない。

出版不況のこのご時世、売れるためなら内容に反していようが売れそうなタイトルを付けるのである。どう考えても書籍のタイトルを考えている人と、中身を書いている人は同一人物ではない。だって、初心所には難易度が高すぎたもの。

バージョン合わせは必須

Android StudioやXcode、Unityでさんざん泣きを見た反省から、バージョン合わせは徹底しようと思った。

バージョン合わせとは、この手の入門書やチュートリアルをやる時は、バージョンを1mmの狂いもなく合わせることである。書籍の場合は発売直後でもない限りは、リアルタイムより古いバージョンで解説されているはずだから、何のバージョンを使っているか慎重に調べて、同じバージョンをダウンロードするなりしてインストールしなければならない。

そうしないと本やチュートリアルの通りにやっても同じ結果にならないからだ。

Railのインストールは複雑

オープンソース系の開発言語あるあるだが、インストールや環境構築が難しい。

Windowsのアプリとかみたいにウィザードでクリックしているだけで完了するなんてことはない。自分でコマンドを打ち込んで、必要なツールを導入していくのだ。

『たった1日で基本が身に付く! Ruby on Rails 超入門 たった1 日で基本が身に付く!』の序盤には環境構築のやり方が乗っていて、それぞれのソフトやツールのバージョンも記載はされていはいるが落とし穴があった。

Railsは自動的に最新版がインストールされる

本の通りにやっていくと、特に記載はないが本体とも言えるRailsのインストールコマンドをそのまま入力すると、その時点での最新版が自動的にチョイスされてしまうのだ。

一度入れてしまうと削除するコマンドなんかも自分で調べないとならないし、分けが分からないことになる。

RubyはGemという一般で言うところのプラグインみたいな機能ごとのパッケージをインストールして環境構築するのだが、Gemを入れる時はRails本体を含めてバージョンには細心の注意が必要だ。

間違って最新版のRailsを入れてしまうと仕様が変わっているため、追加でインストールしないとならないGemが出て来たり、ややこしいことになってしまう。

基本的にバージョンさえ合わせればOK

うまく行かない時は一応、コンソールに英語でエラーメッセージが出るのだが、それをググって解決策っぽいことを書いているエンジニアの人のメモを見て解決していくのも一つ。

ただ、超初心者がこの『たった1日で基本が身に付く! Ruby on Rails 超入門 たった1 日で基本が身に付く!』の本でぶち当たる問題は、多くの場合はバージョン違いによるものだと経験的には思う。

インストールするもののバージョンを一つ一つ確認して、間違ったらアンインストールしつつ、進めていけば大丈夫。

格闘すること丸1日!

本のタイトルの通りだったら、本1冊分の学習を終えているはずだけど、実際には序盤30ページくらいの環境設定で丸1日が終わった。ほぼ脳死状態で先に進むのは不可能なくらいに疲弊していた。人は何のために生きていくのだろう、私は誰だったか・・・。

そんなやっとの思いで『localhost:3000/』が表示できた時は、長年追い求めていた獲物を仕留めた思いでいっぱいだったのである。

決めてとなったのは間違って最新版を入れてしまったRail本体をアンインストールして、本と同じバージョンでインストールや環境構築をやり直したこと。色々やっているうちに上手くいったのだ。

・・・と、いざ冷静になって『localhost:3000/』の画面を見ると、Railsが最新版の表示になってる。なんでやねんという気持ちでいっぱいだが、結果オーライということにしよう。

アプリ開発

【2021年版】セキュ塾のホワイトハッカー育成コースについて調べてみた

国の教育訓練にも指定されているヒートウェーブ株式会社のホワイトハッカー育成コースについて、資料請求したりネットで調べたことをまとめてみた。

2021年6月時点の情報。

ホワイトハッカーについて

情報漏洩やセキュリティに関するニュースが飛び交う昨今。

ハッカーというと一般的に悪いイメージがあるが、逆にハッカーに対抗するための悪くないハッカーとしての呼称がホワイトハッカーである。胡椒にはブラックペッパーとホワイトペッパーがあってどちらも胡椒だけど、胡椒でのホワイト、ブラックの意味とは少し違う。

セキュリティエンジニアとか、IT職種の中のセキュリティ専門家という位置付けで、大手銀行が直接雇用していたり、セキュリティコンテルティング会社などの就職先がある。

日本ではどうか知らないが、アメリカなどではフリーランスのホワイトハッカーなんかもいるらしい。

講座の難易度について

公式の難易度を見ると「初心者OK」「未経験OK」やITパスポート程度のIT知識とは裏腹に、ネット上の実際に受講した人の体験談を見ると、ほとんどの人が高難易度という感想を記述している。

それもITエンジニア10年目だとか、かなりの実務経験者でも挫折したり、ついていけないという感想が多い。

授業は土曜日に講義、実習、解説の3時間が基本だが、テーマによって講師が毎月変わるのでその引き継ぎが悪かったり、講師が遅刻したり教え方が悪い人もいるという。セキュリティ業界のプロが講師と言っても、この評判を見ると60万円以上払ってどうなのかな、と思ってしまう。

セキュリティのプロであっても講師としてのプロではないということなのだろうか。

受講生は男性10割という記述も

ITエンジニアの世界は基本的に男性が多いが、それにしても男性10割なんていう記述も見る。

もっとも、今はオンラインで対応できるようになっているので、むさ苦しさは気にしないで済む気もする。

セキュ塾の運営企業について

東京の新宿駅近辺にあるヒートウェーブ株式会社が運営している。

セキュ塾の評判を見て気になったのは、運営側が特に良くないということ。セキュ塾以外にも国の職業訓練などを受託して行なっている企業らしいが、転職会議という社員の口コミを見るに、社員の入れ替わりが非常に激しいらしい。

セキュ塾のサイトも色々な記述が古いものが混じっていたり、メールで問い合わせてもちょっと不親切な印象があったのはそのためだろうか。

IT系のスクールには「残り何名、締め切り間近!」などと、こっちの疑問も解決できてないままに、ゴリ押しで契約を急かすところもあるけれど、資料請求しても積極的に運営がアピールしてくることはない。

入塾にはテストがあるらしい

塾という呼称だからか、お金を払ったら即入れるわけではなくて、現役のITエンジニアでも難しいとされるIT関係の知識を問う筆記試験と面接(?)があるらしい。

1年以上前の記述なので現在はどうかわからないけど、プログラミングやネットワーク関係の未経験だと、それぞれたった1時間の講義で覚えられる気もしないので、ハードな内容であることは間違いないだろう。

そもそもハッカーがやっていることは、プログラムやネットワークの穴を突くことなので、プログラムやネットワークなどがわからないと、その対策もしようがないというのが現実だろう。

個人的にはハッカーやホワイトハッカーを格好いいとか思わないけど、日常的なITスキルや知識として覚えられたらなぁと思ったが、壁が高いように感じた。OSやアプリが変わっていけば学んだことも活かせなくなるのは想像通りだろう。

国から委託されている講座は優良?

内容はともかく、国がホワイトハッカーを重要な仕事と指定し、教育訓練の講座として選ばれているというのはある。

ああ、でもハローワークとかの職業訓練系はしょうもない会社が補助金目当てでしょうもない訓練をやってることもあるからなぁ。昔行ったことあるのは、どう考えても型落ちスペックのPCと、臨時の契約社員の講師でやってるしょうもない講座だったし、国が委託してるから素晴らしいかというのは別問題だった。