Webサービス開発超初心者が選ぶべきプログラミング言語はこれだっ!
こんにちは。ただいまTodoリスト+SNSのwebサービス開発中のど素人です。涙
世の中にはHTML、C言語、Javascript、PHP、Rubyなどなどプログラミング言語と呼ばれるものは数あれど、何を選んでいいのかわからないー!という超初心者の私が、一か月の猛勉強を経て、初心者が選ぶべきプログラミング言語の結論を考えてみたよ。
まずはプログラミング言語を選ぶ前に、Webアプリケーション、サービスとは何か、そしてそのWebアプリケーションはどうやって動いているのかを理解する必要がありそうです。
Webアプリケーションてなんだっけ?
Webアプリケーション」とは、「Webの仕組み・機能を使ったインターネット、もしくはイントラネット上で提供されるアプリケーションソフトウェア(プログラムの集合体)」のこと。要するに、Webサーバに配置したアプリケーションを、Webブラウザなどのユーザーエージェント(「サーバ」に対して、「クライアント」のPC・携帯端末上)で利用できるようなソフトウェアのことを指します。
Webアプリの常識をJSPとStrutsで身につける(1):いまさら聞けない、Webアプリケーションの常識 (1/2) - @IT
↑
詳しく図解付きで解説があるのでわかりやすいサイトです!
そもそもなんでwebサイトって見れるの?
私たちがこうやってwebサイトを見ているのは、次のような流れで情報が送られています。
Webクライアントから始まって、アドレス欄にURLを入力し、
Webサーバーに対して見たいページ情報を送り「リクエスト」ます。
Webサーバーはそのページ情報を内部に保存して、Webクライアントにデータを戻す、「レスポンス」することによって、そのWebクライント上でページが表示される仕組みになっています。
ここで言うWebクライアントとは、ざっくりいうとクライアント=私たち(雑すぎました)、もう少しいうと私たちがパソコンやスマホで開いたGoogle ChromeやInternet Exploreのこと。
つまり、それぞれのWebサイトの情報はサーバーに保管されていて、ChromeやIEで探してきて表示されているってことらしい。
プログラミングってなんだろう?
Webサービスを開発する=プログラミングをするってことはわかっているものの、まだどんなことをするのか具体的なイメージが湧かない。そんな時にはこのサイトを読んでみよう。
プログラムって何だろう? PHPってどういうもの? プログラミング未経験から始めるPHP入門(1) (1/3):CodeZine
今まで何気なく見ていたWebサイトは、1枚1枚のページの積み重ねで(当たり前かもしれないけど、今まで全然気が付かなかった!!というか、そんなことに思いを巡らせたことがなかった。。。)、そのページには静的、動的ページの2種類があって、動的なページを作ることによってWebアプリケーションが完成するんだな、と漠然と納得してみる。
プログラミング言語の種類とざっくりイメージ
世の中にはたくさんのプログラミング言語が存在します。
有名どころでは、C、C++、Java、PHP、Python、Ruby、Perl、C#、Visual Basic、Objective-C、JavaScriptなどがあります。どれも人気と実績を兼ね揃えた、頻繁に利用されている言語です。
第1回 プログラミング言語がたくさんある理由 | Think IT(シンクイット)
本当にありすぎて困るわwww。
日本の2大巨匠PHPとRubyを比較
Webアプリケーションを開発したいなら、動的サイトをプログラムするための言語(サーバーサイドの言語)を使う必要がある。
日本ではPHPとRubyが人気らしいので調べてみた。
PHPはもともとWebのために開発された言語で、簡単なWebページから本格的なWebシステムまで、非常に多く採用されています。
ドキュメント類が豊富なうえ、その多くが丁寧に日本語翻訳されています。開発者が多い理由に一つでもあります。開発側からすると、最近は安価なレンタルサーバでもPHPが組み込まれているため、「納品されたソースコードをFTPで置けば動く」「コマンドラインを触らなくても一通りのことができる」のは、サーバ管理スキルが不要という点で大きなメリットです。
RubyでWeb開発と言えば、Ruby on Railsフレームワークを使うのが主流です。
Railsはその登場当時から一貫したポリシーによりアップデートを重ねており、現在ではあらゆるWebシステムへ対応できる基盤になっています。ノウハウの蓄積により、他の追随を許さない開発効率を実現しています。
PHPとRubyを徹底比較!開発効率をあげて収益を増やす | TechRacho
フレームワークとは?
PHPでもRubyでもフレームワークに沿って開発するのが主流のようなので調べてみた。
PHPにはCakePHP、Laravelなど、RubyにはRuby on Railsというフレームワークがある。PHPのフレームワークをまとめてみたよ。
Laravelを使ってみたよ
LaravelはPHPフレームワークの中で新しいフレームワークではあるものの、今世界で一番選ばれているらしい。つまりきっと一番使いやすいに違いない!と推測し試してみた。
なにせ日本ではまだ情報が少なすぎた。初心者すぎる私には本を読んでも理解できず、インストールの時点でギブアップという残念な結果に終わった。
CakePHPを使ってみたよ
情報の少ないLaravelで早くも挫折した私。次は日本で一番ユーザーの多いCakePHPを勉強してみることにした。
確かに情報はすごく多い。本でもネットでも。
し、しかーーーーーし、CakePHPを初心者が理解するのには一つだけ重大な欠陥があった。
それはバージョンによって、コードが変わりすぎいて、古いバージョンを新しいバージョンに書き換える作業が大量発生したこと。
初心者でなければ簡単なのかもしれません。涙。勉強にはなりました。
で、私の結論
生のPHPで書く。フレームワークなんていらねぇよ、夏。
PHP自体は巷の達人たちに「やさしめ」と言われているとおり、本を読めばなんとなく理解できる手ごたえがありました。(Ruby使ってないくせに、わからんやろwww)
CakePHPでフレームワークという壁にぶつかりまくるくらいなら、いっそのことフレームワークなんてやめてしまえっていう。小規模開発ならそれでもいいらしいです。
私の目標は1か月でWebサービスを完成させることなんだから、言語の習得に時間をかけるべきではない。
よって、もう目移りしないでPHPで書き続けることにします!!