どの言語をやるべきか? 〜 言語の全体像 – TECH GARDEN SCHOOL 好きで稼ぐ!「超初心者」専門ITスクール

logo

どの言語をやるべきか? 〜 言語の全体像

 

「どの言語を勉強すればいいですか?」
「RubyとPHPの違いは何ですか?」
「Pythonが気になる!」

というお声はスクール創設以来、最も多いご質問、疑問といっても良いかもしれません。その疑問にお答えすべく当スクールがわかりやすくまとめた「言語の全体像」をここでご紹介しましょう!

 

スマホアプリ(iPhone/Android)


皆さんが「アプリ」と言う場合、iPhoneアプリやAndroidアプリといった「スマホ」アプリを指す場合が多いのではないでしょうか?

 

iPhoneアプリはiPhone上のiOS上で動きます。
→ Swift あるいは ObjectiveC

AndroidアプリはAndroid Phone上のAndroid OS上で動きます。

→ JAVA

 

これらの言語は、ブラウザを介さずにデバイス上で直接動くので、より機械に近い言語(コンパイル型言語:他にC、 C++など)です。習得の難易度はやや高いと言えるでしょう。

また、このようなアプリを「ネイティブアプリ」と呼びます。

 

サーバーとデータをやり取りする場合には、サーバーでデータを処理する言語(サーバーサイド言語:PHPなど)とデータベースにデータを保存するなどの遣り取りをするための言語SQLを使う必要があります。

 

ほとんどのアプリで会員情報などのデータ扱うことを考えると、iPhone/Android用にアプリを開発・公開するには基本的には以下の言語を習得する必要があると言えます。

ー Swift
ー JAVA
ー PHPなどのサーバーサイド言語
ー SQL

 

 

ウェブアプリ


「アプリ」には正確に言うと、スマホで動く「スマホアプリ」だけでなく、PC上で動く「ウェブアプリ」があります。

Windows PC上のWindows OS上であっても、Mac上のMacOSであっても、ブラウザ(Google Chrome、Safariなど)というソフトを介して動くので、スマホアプリのようにデバイスによって言語を使い分ける必要はありません。

 

表示を行うための言語として、HTML/CSSを使用します。これらはプログラミング言語ではなく、あくまでもウェブページを表示するための言語になります。皆さんご存知の「ウェブサイト」はHTML/CSSを使用して制作されます*。

 

HTML/CSSはプログラミング言語というよりは、静的なウェブページを表示するための記法、と考えたほうが良いでしょう。
(*最近はJavascriptを使って画像をスライドさせるなど、動きのあるサイトにするのが一般的です。)

 

スマホアプリと同様に、サーバーとデータをやり取りする場合には、サーバーでデータを処理する言語(サーバーサイド言語:PHPなど)とデータベースにデータを保存するなどの遣り取りをするための言語SQLを使う必要があり、この仕組みを使ってPCのブラウザ上で動くアプリのことを「ウェブアプリ」と呼びます。

 

「ウェブアプリ」でサーバーサイドとやりとりをする方法には2種類あり、

 

1)HTMLファイルを取得して表示するもの
2)データ自体を取得して、ブラウザ側でJavascriptを使って表示するもの

 

があり、2)のほうが近代的な手法です。ここで使用するJavascriptはプログラミング言語でサーバーではなくブラウザの中で動く珍しい言語です。前述のように最近のウェブサイト制作でも必須であるため、中級以上では学んでおいたほうが良い言語でしょう。 フロントエンドのプログラミング言語、という呼ばれ方もされ、エンジニアの方々にも非常に人気です。

 

サーバーサイドの言語について

いくつかの主な言語についてその特長を解説しますね。

① PHP
元々ウェブページを動的に生成するために作られた言語であるため、HTMLとの相性が良く、比較的習得も楽なわかりやすい言語です。ビジネスの現場でも根強く使われており、WordPressによるサイト制作にも必須であることから、「PHPを使えるとつぶしが効く」「なんだかんだで仕事がある」という話も聞きます。セキュリティを不安視される方もいらっしゃいますが、CakePHPなどのフレームワークを使ったり、他言語と同じように対策をすることで対応可能です。

昔から「親しみやすいプログラミング言語」として書籍やスクールで教えられてきました。 ウェブサイトでも書籍でも非常に情報が豊富ですし、エンジニアも多いです。

また、Javascriptと文法が似ているので、その点でも超初心者にお勧めです。

 

② Ruby
日本人が開発したことで有名で、数年前にスタートアップのエンジニア間で大人気となりました。 スタートアップの開発時にはRubyのフレームワークであるRuby on Railsで、という印象さえあるほどです。 開発がしやすい設計と、処理をより効率よくおこなうことができる点が玄人受けしています。

こうした人気を背景に超初心者でも学べる教材やスクールも多く存在するようになりました。

 

③ Python
シンプルさと書きやすさを旨としてプログラマーの作業性を重視して開発された言語で、海外のウェブサービスでもよく使われている言語です。ライブラリや関数など目的に応じたツールが豊富に用意されているのが特長で、最近では、TensorFlowに代表されるディープラーニング用のライブラリをを使って、統計処理や演算をおこなうことができる言語として非常に注目されています。

教育目的などでも注目されていますが、日本では超初心者用の情報はまだ少ないですが、これからドンドン増えてくるでしょう。

AIエンジニアやデータサイエンティストを目指す方にとっては、必須の言語です。

 

④ JAVA
昔からのシステムや企業などの大規模システムでよく使われている言語です。いわゆるSIerという業種やSEと呼ばれる職種と密接な関わりを持ちます。PHPやRubyとは異なり、ウェブアプリではなくカスタマイズされたシステムに使われることが多いです。 機械に近いコンパイル型の言語でかっちりしており、難しいオブジェクト指向も多用するので、超初心者にはややとっつきにくい言語です。

しかしながら、 JAVAであれば実務未経験のスクール出身者でもとりあえず就職しやすい、というメリットもありますので、就職・転職で切迫している方にはこの言語がお勧めかもしれません (2018/6/19現在)。

 

スマホアプリとウェブアプリを同じ言語で開発する方法

当スクールでは、スマホアプリとウェブアプリを同じ言語で開発する方法を採用し、中高年・シニアの超初心者の方々の負担を極力減らすようにしています。

何故なら、超初心者の段階では、ITの世界で共通のプログラミングの原理や応用の効く普遍的な仕組みをまずは手を動かして体験することのほうが大切だと考えるからです。

 

① CakePHPの採用
PHPのフレームワークCakePHPを採用することにより、SQL言語の習得を不要にしました。CakePHPがSQLを自動で生成してくれるからです。

 

② ハイブリッドアプリ Cordovaの採用
詳細は省きますが、Cordovaという仕組みを使うことによって、

HTML/CSS/Javascript

によってなんと!iPhoneアプリもAndroidアプリも作ることができます。これにより、SwiftとJAVAの両方を習得する必要がなくなるのです。更に、日本のアシアル社が開発したMonacaというプラットフォームを使うので、ややこしい環境設定なしにとても楽に開発できます。

 

つまり、

ー HTML/CSS
ー CakePHP
ー Javascript

 

まずはこの3つだけを習得すれば、「ウェブアプリ」と「スマホアプリ」の制作を両方体験することができるわけです。

それらの理解の上で、もっと開発したい意欲が湧いてきてからSwiftなどに取り組まれても遅くはないと考えています。

 

 

もっと詳しく知りになりたい方は、是非一度説明会に遊びにいらしてください。「あなただけの」ご希望をお伺いするのをとても楽しみにしています。

中高年専用に開発されたメソッドを無料体験!
あなたに合ったコースをご案内します。

無料説明会・体験レッスンはこちら

MacかWindowsか ?

  「MacとWindowsのどちらが良いですか ?」 「何が違うのですか?」   この質問は、本当に良く聞かれる質問ですね。 答え方が難しいのですが、ご質問される超初心者の中高年・シニアの方々にとっ […]

コメントなし

どの言語をやるべきか? 〜 言語の全体像

  「どの言語を勉強すればいいですか?」 「RubyとPHPの違いは何ですか?」 「Pythonが気になる!」 というお声はスクール創設以来、最も多いご質問、疑問といっても良いかもしれません。その疑問にお答えす […]

コメントなし

ウェブサイトとプログラミングの違いとは?

「ウェブサイトとプログラミングの違いもよくわからないんですけど、こんな何もわからない超初心者でも大丈夫ですか?」   当スクールの説明会・体験クラスに参加される中高年・シニアの超初心者の方々は、こんな不安を抱え […]

コメントなし

WordPressとは?

「WordPressって聞いたことがあるけど何ですか?」 「WordPressにはプログラミングが必要なんですか?」   といったご質問を説明会や体験クラスの際に、多くの中高年の方からご質問をいただきます。皆さ […]

コメントなし

PCのスペックについて

別の記事で、「プログラミングや一般的な事務仕事程度だったら、それほど高いスペックのPCは必要ない」という主旨のお話をしました。 とはいえ、実際に選ぶ段になるとスペックは気になるもの。そこでここでは、「プログラミングや一般 […]

コメントなし

【中高年・シニア向け】プログラミングのためのノートPCの選び方

「今の自分のノートPCでも大丈夫ですか?」 「何を買えばいいですか?」   説明会や新入生の生徒様から良く聞かれる質問です。正直、お一人お一人の用途や状況、今お持ちのノートPC、によっても異なるので、じっくりお […]

コメントなし

iPhoneアプリを作れるようになりますか!?

  スクールの説明会や中高年・シニアの生徒さんから 「iPhoneアプリを作ってみたいんです」 「iPhoneアプリを作れるようになりますか?」 というご質問やお声をよくいただきます。ここでは、そういった方々に […]

コメントなし

まずは1つの言語から学ぼう!

  「どの言語でプログラミングを学ぶのが良いですか ?」   これも非常に良く聞かれる質問のうちの1つです。結論から言いますと、 「なんでも良いので、とにかく1つの言語を継続して形になるまで学べ」 と […]

コメントなし

プログラミングの全体像

まずは、 「プログラミングとはどんなものか?」 をさっとなんとなくつかんでしまいましょう! どの言語でも、人工知能やIoTでも通じる原理原則ですよ。   1) プログラミングとは プログラミングとは成し遂げたい […]

コメントなし

ITビジネスの全体像

皆さんが「やってみたいこと」をITとプログラミングを使ってどうやって実現するかについて考えていきましょう。 下の図に示したのはITビジネスの全体像になります。「ビジネス」と書きましたが「趣味」や「非営利活動」でも原則は変 […]

コメントなし

無料メール講座50歳からプログラミングで
ビジネスを始める7つのステップ